티스토리 뷰

Jsp&Servlet

Cookie와 HttpSession

살구르 2017. 1. 23. 17:21

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 쿠키는 삭제된것을 볼 수 있음 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함