현재
[JSP] Cookie 본문
webapp/getCookie
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//백엔드쪽 코드@
//요청을받으면 쿠기가 100개던 1000개던 모든 쿠키를 다날려보낸다.
Cookie[] cookies = request.getCookies();
if(cookies != null){
for(Cookie e : cookies){ //모든 쿠키를 반환하기 때문에 원하는 쿠키가 있다면
// if문을 사용하여 찾아주어야 한다.
//if(e.getName().equals("a")){
System.out.println(e.getName() + " : " + e.getValue());
//}
}
}
/*
클라이언트가 WAS에 request하고 response 할때 특정 session id 3333을 response
그러면 TCP/IP레벨에서 알수 없지만 request할때 reponse에서 생성된 session id 3333을다시
WAS에 request함으로써 동일 인물임을 확인 가능하다.
*/
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
webapp/setCookie
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//위는 서블릿코드, 아래는 포워딩된 코드! (현재는 귀찮아서 이렇게 만듦, 원래는 절대 이렇게 안씀);
/*cookie(클라이언트 저장 공간) : 클라이언트의 컴퓨터에 저장
<쿠키의 특징>
제약조건 - 1. value로서는 문자만 저장 가능하다.
2. 사실상 한글 불가능, 크기에 제한이 있다.
3. 항상 변조가 가능하다.
★어떤 값을 저장할때 session(server) 혹은 cookie(client)로 선택해야할때
보안쪽으로 중요한 값들은 무조건 Session을 사용한다.
굳이?? 서버에 저정해야되?? 이런 느낌이 드는 값들은 cookie에 저장 할 수 있다.
*/
//int a = 40; // int + String은 문자가됨(a+"")
String a = "40";
Cookie c1 = new Cookie("a", a + ""); //cookie에서 key는 string이고 value도 string이다.
c1.setMaxAge(60);
response.addCookie(c1); // 이 시점에서 클라이언트에 (웹 브라우저가 하드 디스크에 파일로)저장
String nickName = "한조";
Cookie c2 = new Cookie("nickname", nickName);
response.addCookie(c2);
//cookie는 변조가 가능하다. 그래서 주의해야함! 해결법은 -> ?
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
쿠키에 값 저장!!
</body>
</html>'웹 프로그래밍 > JSP' 카테고리의 다른 글
| [JSP] JSTL( 조건문, 반복문 등 ) (0) | 2023.10.19 |
|---|---|
| [JSP] EL(Expression Language) (0) | 2023.10.19 |
| [JSP] tomcat 저장공간 Application, Session, Request, Page (2) | 2023.10.18 |
| [JSP] forward, redirect (0) | 2023.10.18 |
| [JSP] include, header, footer (0) | 2023.10.18 |