http://www.logicbig.com/tutorials/spring-framework/spring-web-mvc/cookie-handling/
spring anotation
package com.logicbig.example; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.CookieValue; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; @Controller public class MyController { @RequestMapping("test") public String handleTestRequest (Model model, HttpServletRequest request, HttpServletResponse response) { Cookie[] cookies = request.getCookies(); if (cookies != null) { Arrays.stream(cookies) .forEach(c -> System.out.println(c.getName() + "=" + c.getValue())); } Cookie newCookie = new Cookie("testCookie", "testCookieValue"); newCookie.setMaxAge(24 * 60 * 60); response.addCookie(newCookie); model.addAttribute("msg", "test method msg"); return "my-page"; } @RequestMapping("test2") public String handleRequest ( @CookieValue(value = "testCookie", defaultValue = "defaultCookieValue") String cookieValue, Model model) { System.out.println(cookieValue); model.addAttribute("cookieValue", cookieValue); return "my-page2"; } }
JSP 쿠키
http://fruitdev.tistory.com/118
쿠키생성
<%@ page language=
"java"
contentType=
"text/html; charset=UTF-8"
pageEncoding=
"UTF-8"
%>
<%
// 회원번호
String memberNo =
"58272836"
;
// 회원번호를 쿠키에 지정한다
Cookie c =
new
Cookie(
"memberNo"
, memberNo) ;
// 쿠키에 설명을 추가한다
c.setComment(
"회원번호"
) ;
// 쿠키 유효기간을 설정한다. 초단위 : 60*60*24= 1일
c.setMaxAge(
60
*
60
*
24
) ;
// 응답헤더에 쿠키를 추가한다.
response.addCookie(c) ;
%>
쿠키 가져오기
<%@ page language=
"java"
contentType=
"text/html; charset=UTF-8"
pageEncoding=
"UTF-8"
%>
<%
// 쿠키값 가져오기
Cookie[] cookies = request.getCookies() ;
if
(cookies !=
null
){
for
(
int
i=
0
; i < cookies.length; i++){
Cookie c = cookies[i] ;
// 저장된 쿠키 이름을 가져온다
String cName = c.getName();
// 쿠키값을 가져온다
String cValue = c.getValue() ;
}
}
%>
쿠키 삭제
<%@ page language=
"java"
contentType=
"text/html; charset=UTF-8"
pageEncoding=
"UTF-8"
%>
<%
// 전체 쿠키 삭제하기
Cookie[] cookies = request.getCookies() ;
if
(cookies !=
null
){
for
(
int
i=
0
; i < cookies.length; i++){
// 쿠키의 유효시간을 0으로 설정하여 만료시킨다
cookies[i].setMaxAge(
0
) ;
// 응답 헤더에 추가한다
response.addCookie(cookies[i]) ;
}
}
// 특정 쿠키만 삭제하기
Cookie kc =
new
Cookie(
"memberNo"
,
null
) ;
kc.setMaxAge(
0
) ;
response.addCookie(kc) ;
%>
JQUERY 쿠키
http://naminsik.com/blog/1864
<head>와 </head>사이 아래 코드를 삽입한다.
1. 쿠키를 저장하는 방법은 아래와 같다.
werty는 쿠키이름, sunday는 그에 대한 값을 넣는 것이다.
sunday대신에 php 경우 $id 이런식으로 아이디 값을 넣어주면 해당 아이디가 쿠키로 저장된 것이다.
별달리 그냥 팝업창으로 쓸 때 필자는 sunday 부분에 ok라고 넣는다.
그리고 확장형은 아래와 같다.
expires : 만료일을 의미한다. 위 예제로 보면 7일동안 해당 쿠키를 유지한다는 이야기다.
path : 경로설정이다. 이 사이트의 모든 페이지가 해당된다면 / 이렇게 슬러시만 둔다. 그렇지 않고 특정 폴더라면 경로를 넣으면 된다.
domain : 쿠키가 적용될 도메인이다. 기본 설정은 쿠키가 만들어진 도메인이다.
secure : 기본 설정은 false로 되어있다. true/false 로 입력가능하며 true 일 경우 https 프로토콜만 적용된다.
2. 쿠키를 불러오는 방법은 아래와 같다.
저장된 쿠키중에 werty의 값을 불러온다.
3. 쿠키를 지우는 방법은 아래와 같다.
이렇게 하면 저장되어있던 werty의 값을 지운다.
다른 방법으로 만료일을 -1로 바꾸어 초기화시키는 방법도 있다.
만료일을 지난날로 지정해버리는 방법이다.
두방법다 초기화는 되지만 첫번째에서 주의할 점은 쿠키 저장시 자신이 설정한 도메인(domain)과 경로(path)가 디폴트가 아니라 설정했었다면 적용되지 않는다.
':::: 개발 :::: > └ JSP & SPRING' 카테고리의 다른 글
웹스퀘어 체크박스 제어 (0) | 2018.02.01 |
---|---|
혹시 JSP 호스팅 중 lib 오류 (0) | 2017.11.09 |
URL 한글처리 (인코딩/디코딩) (0) | 2017.11.06 |
JSTL 중복값 제거 .. 삽질 (0) | 2017.05.13 |
spring JSON 변환 검색 사이트 정리 (0) | 2017.03.09 |
웹스퀘어 날짜 초기화 (0) | 2016.11.25 |
spring boot test 삽질 1 @Controller (0) | 2016.11.13 |
웹스퀘어 팝업 제어 (부모창) (0) | 2016.09.01 |