728x90
오늘은 클라이언트와 서버의 연결을 유지시켜주는 방법인 Cookie에 대해서 알아본다.
- Cookie란?
서버와 클라이언트의 연결에 대한 흔적을 남기는 것을 Cookie라고 한다.
다음에 연결할 일이 생긴다면 이 Cookie를 참고하게 된다.
- Cookie 구현
Cookie[] cookies = request.getCookies();
Cookie cookie = null;
for(Cookie c : cookies){
System.out.println("c.getName(): " + c.getName() + ", c.getValue() :" + c.getValue());
if(c.getName().equals("memberId")){
cookie = c;
}
}
if(cookie == null){
System.out.println("cookie is null");
cookie = new Cookie("memberId", mId);
}
response.addCookie(cookie);
cookie.setMaxAge(60 * 60);
response.sendRedirect("loginOk.jsp");
이렇게 Cookie를 찾아보고 없으면 새로운 Cookie를 만드는 방식으로 구현을 한다.
이제 실습을 해보도록 하자, 바로 프로젝트를 생성을 해주면 된다.
우선 jsp로 페이지를 먼저 만들도록 하자.
loginCon으로 처리를 하도록 페이지를 작성했다.
그럼 해당 데이터를 받는 loginCon Servlet을 작성해보자
해당 데이터를 받고 클라이언트에서 모든 Cookie를 검사하고 만약 memberId에 해당하는 쿠키가 없다면 쿠키를 생성해준다.
쿠키의 유지 시간을 60 * 60초로 갱신을 해주고
loginOk.jsp로 보낸다.
loginOk.jsp이다
Cookie 배열에 있는 모든 쿠키를 출력해준다.
이제 다시 login.jsp로 돌아가야 한다.
만약 쿠키가 남아있다면 login을 하지 않아도 접속이 될 수 있도록 만들어야 할 것이다.
그렇기 때문에
윗 부분에 서블렛 태그로 만약 memberId에 해당하는 Cookie가 있다면 loginOk.jsp를 실행해주는 코드를 추가해준다.
그렇다면 만약 쿠키가 남아있다면
이런 화면이 출력되게 된다.
이렇게 웹에서 쿠키를 남기는 방법에 대해 알아보았다.
'백엔드 > JSP, Servlet' 카테고리의 다른 글
JSP & Servlet 12일차 (0) | 2023.02.05 |
---|---|
JSP & Servlet 11일차 (0) | 2023.02.05 |
JSP & Servlet 9일차 (0) | 2023.01.15 |
JSP & Servlet 8일차 (0) | 2023.01.04 |
JSP & Servlet 7일차 (0) | 2023.01.04 |