728x90
GetCookieValue.java 파일과 SetCookieValue.java 파일 준비
// SetCookieValue.java
package sec02.ex01;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class SetCookieValue
*/
@WebServlet("/set")
public class SetCookieValue extends HttpServlet {
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
Date d = new Date();
// Cookie 객체를 생성한 후 cookieTest 이름으로 한글 정보를 인코딩해서 쿠키에 저장
Cookie c = new Cookie("cookieTest", URLEncoder.encode("JSP 프로그래밍입니다.","utf-8"));
c.setMaxAge(24*60*60); // 유효 기간을 설정
response.addCookie(c); // 생성된 쿠키를 브라우저로 전송
out.println("현재시간 : " + d + "<br>");
out.println("문자열을 Cookie에 저장합니다.");
}
}
// GetCookieValue.java
package sec02.ex01;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLDecoder;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class GetCookieValue
*/
@WebServlet("/get")
public class GetCookieValue extends HttpServlet {
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
Cookie[] allValues = request.getCookies(); // request의 getCookies() 메서드를 호출해 브라우저에게 쿠키 정보를 요청한 후 쿠키 정보를 배열로 가져옴
// 배열에서 저장할 때 사용한 쿠키 이름인 cookieTest로 검색해 쿠키 값을 가져옴
for(int i=0; i<allValues.length; i++) {
if(allValues[i].getName().equals("cookieTest")) {
out.println("<h2>Cookie 값 가져오기 : " + URLDecoder.decode(allValues[i].getValue(),"utf-8"));
}
}
}
}
set으로 첫 번째 서블릿을 요청할 때 쿠키에 cookieTest 이름으로 문자열을 저장함
get으로 두 번째 서블릿을 요청하여 cookieTest로 쿠키 값을 가져와 브라우저에 출력
쿠키 생성 상태 확인하기
크롬 브라우저에서 F12를 눌러 디버그창 -> Application 탭 -> 왼쪽 메뉴의 Cookies 선택 후 하위에 있는 http://localhost:8090을 클릭
728x90
'웹 개발 기초 > 자바 웹을 다루는 기술' 카테고리의 다른 글
쿠키 이용해 팝업창 제한하기 (0) | 2023.02.22 |
---|---|
세션 쿠키 사용하기 (0) | 2023.02.22 |
쿠키를 이용한 웹 페이지 연동 기능 (0) | 2023.02.22 |
<hidden> 태그와 URL Rewriting 이용해 웹 페이지 연동하기 (0) | 2023.02.22 |
웹 페이지 연결 기능 (0) | 2023.02.22 |