기본 -
<% page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Cookie 연습</title>
</head>
<body>
<!-- request.getContxtPath() ==> /servletTest -->
<a href="<%=request.getContextPath()%>/cookieAddServlet.do"> Cookie 정보 저장하기 </a>
<br>
<br>
<a href="<%=request.getContextPath()%>/cookieReadServlet.do">Cookie정보읽기</a>
<br>
<br>
<a href="<%=request.getContextPath()%>/cookieDeleteServlet.do">저장된 Cookie정보 삭제하기 </a>
</body>
</html>
-----------------------------------------------------------------------------------------------------
//쿠키를 추가하는 서블릿 연습
//Cookie 를 저장하는 방법 및 순서
1. Cookie 객체 생성한다. => '쿠키변수' 와 '쿠키값' 은 문자열로 지정한다.
형식) Cookie cookie 변수 = new Cookie("쿠키변수" , "쿠키값")
=> 쿠키값으로 한글로 사용할 경우에는 URLEncoder.encode() 메서드로 인코딩한 후에 사용
//'쿠키변수'가 중복되면 나중에 저장한 값으로 변경된다.
Cookie nameCookie = new Cookie("name" , URLEncoder.encode("홍길동" , "utf-8"));
Cookie ageCookie = new Cookie("age" , "27");
Cookie addrCookie = new Cookie("addr" , "daejeon");
//2. Cookie 의 속성을 설정한다.
cookie변수.setPath("경로"); => 쿠키가 적용될 경로를 지정한다.
(지정한 경로와 그 하위 경로에서 사용가능)
cookie변수.setMaxAge("유지시간"); ==> 단위 : 초
cookie변수.setDomain("도메인명"); ==> 적용할 도메인명을 지정한다.
cookie변수.setSecure(보안여부); ==> 보안여부( true : 적용/ false: 미적용 )
4개를 다 지정해도 되고 필요한것만 설정해도 된다.
//3. response 객체를 이용해서 쿠키를 웹브라우저에 보내면 웹브라우저가 이 쿠키를 받아서 저장한다.
형식 ) response객체.addCookie(1번에서 만든 cookie 객체 )
response.addCookie(nameCookie);
response.addCookie(ageCookie);
response.addCookie(addrCookie);
package kr.or.ddit.cookie;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
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;
//js 파일에서 context경로설정과 여기 있는 보라색 부분으로 링크를 생성했다.
@WebServlet("/cookieAddServlet.do")
public class CookieAddServlet extends HttpServlet {
private static final long seriaVersionUID = 1L ;
protected void doGet(HttpServletRequest request, HttpServletResopnse response ) throws ServletExcetion, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
//쿠키객체 생성하기
Cookie nameCooki = new Cookie("name" , URLEncoder.encoder("홍길동" , "utf-8" ));
Cookie ageCookie = new Cookie("age" , "27");
Cookie addrCookie = new Cookie("addr" , "daejeon" ) ;
//response 객체를 이용해서 쿠키를 웹브라우저에 보내면 웹브라우저가 이 쿠키를 받아서
저장한다.
response.addCookie(nameCokie);
response.addCookie(ageCookie);
response.addCookie(addrCookie);
out.println("<html><head><meta charset = 'utf-8");
out.println("<title>Cookie 연습 </title></head>");
out.println("<body>");
out.println("<h2>Cookie 데이터가 저장되었습니다 </h2><br><br>");
out.println("<a href='" + request.getContextPath() + "/02/cookieTest.jsp'>시작문서로 이동하기 </a>");
out.println("</body>");
out.println("</html>");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
----------------------------------------------------------------------------------------------------
댓글
댓글 쓰기