//저장된 쿠키를 읽어오는 방법
1. 전체 쿠키정보를 request 객체를 통해서 가져온다.
이때 가져온 쿠키정보들은 배열에 저장된다.
//형식) Cookie[] 쿠키배열변수 = request.getCookies();
Cookie[] cookieArr = request.getCookies();
package kr.or.ddit.cookie;
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;
@WebServlet(""/cookieReadServlet.do")
public class CookieReadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGt(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOExcepion {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
Cookie[] cookieArr = request.getCookies();
out.println("<html><head><meta charset='utf-8'>");
out.println("<title>Cookie 연습 </title></head>");
out.println("<body>");
out.println("<h2>저장된 Cookie 데이터 확인하기</h2>");
//쿠키가 하나도 있는지 검사
if(cookieArr == null || cookieArr.length == 0 ) {
out.println("<h3>저장된 쿠키가 하나도 없습니다. </h3>");
}else {
// 2. 쿠키 배열에서 해당 쿠키를 구해온다.
// ==> 반복문을 이용해서 하나씩 검사한다.
for(Cookie cookie : cookieArr) {
String name = cookie.getName() ; //쿠키 변수를 가져온다
String value= URLDecoder.decode(cookie.getValue(), "utf-8" ); // 쿠키값을 가져운다.
//한글로 저장된 쿠키값은 읽어온 후 디코딩해서 사용한다.
out.println("쿠키변수 : " + name + "<br>" );
out.println("쿠키값 : " + value + "<hr>" );
}
}
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 {
// TODO Auto-generated method stub
doGet(request, response);
}
}
댓글
댓글 쓰기