-
기존 HTTP 프로토콜은 서버의 과부하를 방지하기 위해서 요청과 응답을 하면 종료된다.
여기서 정보를 이어주고 싶은 경우가 있을 수 있는데, 이때 사용하는 것이 Cookie와 Session이다.
Cookie란 쿠키 부스러기처럼 뭔가를 남겨놓는다는 방식으로 기존 연결 정보를 저장해주는 기능을 말한다.
로그인이나 장바구니 같은 형식의 프로그램 방식에서 많이 사용한다 .
요청과 응답을 한 정보를 서버에 저장하기에는 부하가 걸리기에 해당 브라우저의 클라이언트에 기존 연경 정보를 저장한다는 것이다.
아이디를 예시로 만들어보자.
cookie는 여러 개를 만들 수 있기에 복수 취급을 한다. 그러므로 배열로 취급한다.
Cookie[] cookies = request.getCookies();
Cookie cookie = null;
for(Cookie c : cookies) {
System.out.prinln("c.getName() : " + c.getName() + ", c. getValue() : " + c.getValue());
}
if(c.getName().equals("memberId")) {
cookie = c;
}
}
if(cookie == null) {
system.out.pringln("null");
cookie = new Cookie("memberId", mid);
}
response.addCookie(cookie);
cookie.setMaxAge(60*60);
response.sendRedirect("loginStart.jsp");
해당 jsp 파일로 보내면 cookie가 배열로 for문을 돌아서 작동한다.
<%
cookie[] cookies = request.getCookies();
for(cookie c : cookies)
out.print("name : " + name);
out.print("value : " + value);
out.print("입력완료");
%>
로 작성 값이 for문을 회전하여 작성된다.
만약 아이디가 이미 있다면?
<%
cookie[] cookies = request.getcookies();
System.out.println("cookies: " + cookies);
if(cookies != null){
for (cookie c: cookies) {
if(c.getName().equals("memberId")){
response.sendRedirect(lohinStart.jsp");
}
}
}
&>
로 표시해서 Id 생성 폼 태그로 이동하지 않게 한다.
cookie 배열에 기존 정보를 저장하여 정보량을 줄이는 것은 Sessiong과도 연동되어 있기에 기억하자.
'JSP&스프링 > JSP 키포인트' 카테고리의 다른 글
[JSP] post & get 방식에 따라서 사용자와 서버간의 한글처리 방식 방법 정리하기 & Filter 방식으로 한글 변환 처리하기 (0) 2023.01.22 [JSP] Session의 정의와 간단한 예시문 만들어서 정리하기 (0) 2023.01.22 [JSP] Connection Pool의 정의와 기본적인 설정 및 구현 방법 정리하기 (0) 2023.01.22 [JSP] DAO 와 DTO의 정의와 Servlet, DAO, DTO간의 관계 정의하기 (0) 2023.01.22 [JSP] JDBC의 정의와 실행순서 그리고 preparedStatement를 사용하는 경우 정리하기 (0) 2023.01.21 댓글