티스토리 뷰
1.Client 단위로 정보 유지
-Cookie
-HttpSession
Cookie | HttpSession |
Client쪽에 정보 유지 text 형태로 저장(첫번째줄 : name, 두 번째줄 : value) size 제한 | Server쪽에 정보 유지 Object 형태로 저장 |
2.서버로부터 전송받은 쿠키 저장소
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Cookies
모두 삭제 후 CookieTest1.java 실습, CookieTest2.java 실습
//CookieTest1.java
@WebServlet("/cookie01")
public class CookieTest1 extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.print("<h1>Cookie 전송!</h1>");
out.close();
// 쿠키생성
Cookie c1 = new Cookie("id","guest");
Cookie c2 = new Cookie("code","1004");
Cookie c3 = new Cookie("subject","java");
// 쿠키 유효시간 설정(초)
// 유효시간==0 => 쿠키 삭제
// 유효시간==(음수값) 또는 default => 브라우저 동료됨과 동시에 삭제
c2.setMaxAge(60);
c3.setMaxAge(60*60*3);
// 쿠키 전송(Client로)
response.addCookie(c1);
response.addCookie(c2);
response.addCookie(c3);
}
}
//CookieTest2.java
@WebServlet("/cookie02")
public class CookieTest2 extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.print("<h1>get방식으로 요청됨</h1>");
//쿠키 추출
Cookie[] list = request.getCookies(); // 내가 보낸 모든 쿠키를 다 읽어옴, 선별해서 사용해야함
for(Cookie c : list){
out.print(c.getName()+":"+c.getValue()+"<br>");
}
out.close();
}
}
-이클립스 종류 후 다시 CookieTest2를 진행해 보면 유효시간을 설정하지 않은 c1 쿠키는 삭제된것을 볼 수 있음
'Jsp&Servlet' 카테고리의 다른 글
Cookie를 통한 방문 횟수 조회 (0) | 2017.01.24 |
---|---|
쿠키 생성 및 저장 오류 및 문제점, 해결 (0) | 2017.01.24 |
Connection, Statement, ResultSet 의 close 문제 (0) | 2017.01.23 |
ServletContext, HttpSession, HttpServletRequest 차이점 (0) | 2017.01.23 |
Servlet 한글 처리 (0) | 2017.01.23 |