Cookies(쿠키)란?
1. 유저에 맞게 웹사이트를 커스틈화하고, 지속적으로 데이터를 간직한다.
2. 서버와 브라우저 사이의 text 데이터 교환하고, 사이트별로 20개까지 저장가능하다.
Cookies(쿠키) 생성자
Cookis(String name, String value)
쿠키를 저장하기
1. 필요한 데이터를 유저로 부터 얻는다.
2. 쿠키 생성
3. 쿠키의 저장기간 설정
4. 브라우저에 쿠키 추가
<%
// html form 에서 name= "userName"의 값을 읽어옴
String userName = request.getParameter("userName");
//쿠키 생성(이름, 값)
Cookie theCookie = new Cookie("myApp.userName",userName);
//쿠키의 생존기간(초)
theCookie.setMaxAge(60*60*24*365);// 1년동안 저장
//브라우저에 쿠키 추가
response.addCookie(theCookie);
%>
쿠키를 불러오기
//디폴트 값 : 읽어올 쿠키 없을 때
String userName ="gganggu";
//브라우저의 쿠키를 request.getCookies()로 가져오기
Cookie[] theCookies = request.getCookies();
//가져온 쿠키들이 NULL 이 아니면
if(theCookies != null){
for(Cookie tempCookie : theCookies){
//쿠키의 이름이 myApp.userName을 찾는다
if("myApp.userName".equals(tempCookie.getName())){
userName = tempCookie.getValue();
break;
}
}
}
쿠키 예제
Cookies servlet 생성
package demo;
import java.io.IOException;
import java.io.PrintWriter;
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("/Cookies")
public class Cookies extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("<html>");
//import javax.servlet.http.Cookie;
Cookie[] cookies = request.getCookies();
if(cookies == null) {
out.println("No cookies found<br/>");
}
else {
for(Cookie retrievedCookie: cookies) {
String name = retrievedCookie.getName();
String value = retrievedCookie.getValue();
out.println(name + " = " + value + "<br/>");
}
}
Cookie cookie = new Cookie("user","Vicky");
cookie.setMaxAge(300);
}
}
새로고침
'BACKEND > Jsp' 카테고리의 다른 글
북마켓 프로젝트2 (0) | 2023.09.22 |
---|---|
북마켓 프로젝트 1 (0) | 2023.09.22 |
JSP session (세션) 및 예제 (0) | 2023.09.20 |
JSP Form 만들기 (0) | 2023.09.20 |
URL 파라미터로 Bean 객체의 값 입력하기 (0) | 2023.09.20 |