반응형
쿠키가 무엇인지 궁금하다면?
① SetCookieValue 서블릿 생성
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 {
private static final long serialVersionUID = 1L;
/**
* @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 c = new Cookie("cookieTest", URLEncoder.encode("JSP 프로그래밍 입니다.","utf-8"));
c.setMaxAge(24*60*60);
response.addCookie(c);
out.print("현재시간 : " + d);
out.print("문자열을 Cookie에 저장합니다.");
}
}
Cookie 객체를 생성한 후 cookieTest 이름으로 한글 정보를 인코딩해서 쿠키에 저장하고, 유효기간을 설정한 후
생성된 쿠키를 브라우저로 전송함
※ c.setMaxAge( ) 안 숫자가 음수이면 Session Cookie
② getCookieValue 서블릿 생성
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 {
private static final long serialVersionUID = 1L;
/**
* @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();
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"));
}
}
}
}
request의 getCookies( ) 메서드를 호출해 브라우저에게 쿠키 정보를 요청한 후 쿠키 정보를 배열로 가져오고,
배열에서 저장할 때 사용한 쿠키 이름인 cookieTest로 검색해 쿠키 값을 가져옴
③ SetCookieValue 실행
④ GetCookieValue 실행
반응형
'코딩 기록 > JSP' 카테고리의 다른 글
[JSP] 디렉티브 태그 (0) | 2021.05.11 |
---|---|
[JSP] 세션 로그인 예제 (DB 연동) (0) | 2021.05.11 |
[JSP] 쿠키(Cookie)란? (0) | 2021.05.10 |
[JSP] ServletConfig - 애너테이션을 이용한 서블릿 초기화 기능 (0) | 2021.05.07 |
[JSP] ServletContext(매개변수 설정, 파일 입출력) (0) | 2021.05.07 |