https://wintmoca.tistory.com/26
[JSP] 쿠키(Cookie) 기본 개념
쿠키(Cookie)란? 인터넷, 핸드폰을 사용할 때 주기적으로 '쿠키 삭제'를 해주어야 한다고 한다. 바삭바삭 맛있어 보이는 쿠키... 무엇이길래 삭제해야 하는걸까?🍪 쿠키🍪 : 사용자의 정보를 저장
wintmoca.tistory.com
쿠키 기본 개념에 대해서도 알아봤고, JSP를 통해 전송 저장도 해보았으니
이번에는 JSP → SERVLET → JSP로 한 번 전송과 저장을 해보자!
간단한 로그인 페이지가 있다고 가정하자(매우 간단한...)
// JSP : 클라이언트 - 서블릿(서버)로 데이터 전송
<form action="SERVLET_4">
ID <input type="text" name="ID">
PASS <input type="text" name="PASS">
<input type="submit" value="전송">
</form>
먼저 JSP에서 form과 input을 이용해 ID, PASSWORD를 입력하는 로그인 화면을 만들고
그 정보를 서블릿 페이지로 보내준다.
import jakarta.servlet.http.Cookie; // 쿠키를 사용하기 위해 필요
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
String i = request.getParameter("ID"); // 받아온 ID 데이터를 변수 i에 저장
Cookie c = new Cookie("C_ID",i); // 쿠키 객체 c 생성, C_ID라는 이름으로 i 데이터를 저장한다.
c.setMaxAge(60*10); // 쿠키 지속 시간 설정(60*10 = 10분)
c.setPath("/"); // 최상위 경로 설정
response.addCookie(c); // 설정한 쿠키 정보를 전송한다
String p = request.getParameter("PASS"); // 받아온 PASS 데이터를 변수 p에 저장
Cookie j = new Cookie("C_PASS",p); // 쿠키 객체 j 생성, C_PASS라는 이름으로 p 데이터를 저장한다.
j.setMaxAge(60*10);
j.setPath("/");
response.addCookie(j);
response.sendRedirect("SERVLET_4.jsp"); // 데이터 처리가 완료되면 jsp파일로 보낸다.
}
JSP에서 보낸 데이터를 서블릿에서 받아 쿠키로 저장하고 다시 전송했다.
서블릿에서 쿠키를 이용하기 위해선 최상단에 import jakarta.servlet.http.Cookie; 구문을 넣어주어야 한다
Cookie 객체명 = new Cookie("쿠키 네임","데이터"); 이용
다시 JSP로 돌아가보자!
<% Cookie[] c=request.getCookies(); // 쿠키 배열 c에 받아온 쿠키를 저장한다.
if(c != null){ // 받아온 쿠키가 있을 때
for(int i=0; i<c.length; i++){ // 배열이므로 반복문을 사용한다.
if(c[i].getName().equals("C_ID")) // 기본 생성 쿠키를 제외하기 위해 내가 설정한 쿠키 네임만 조건문으로 찾아준다.
out.print("ID Cookie : "+c[i].getValue()); // 아이디 쿠키 출력
else if(c[i].getName().equals("C_PASS")) // 패스워드 쿠키만 걸러서 출력
out.print("PASSWORD Cookie : "+c[i].getValue());
}
} %>
저장한 쿠키를 다시 받아와 출력하는 구문이다.
Cookie[] 배열명 = request.getCookies(); 이용
이렇게 JSP와 서블릿을 왔다갔다하며 쿠키 데이터를 이용해보았다🍪
'JSP, SERVLET' 카테고리의 다른 글
[JSP] 스크립트 태그(Script Tag)란? (0) | 2023.04.26 |
---|---|
[JSP] JSP(Java Server Pages) 기초 개념과 특징, JSP 디렉티브 (0) | 2023.04.24 |
[JSP,SERVLET] Select로 선택한 옵션 출력하기 (0) | 2023.04.17 |
[JSP] 쿠키를 이용해 input value에 입력 값 남기기 (1) | 2023.04.12 |
[JSP] 쿠키(Cookie) 기본 개념 (0) | 2023.04.11 |