기간을 정해야 할 경우

01.public String loginProc(HttpServletResponse response ) throws Exception {
02.if( userInfo.isLongin_save() == true){     
03.Cookie cookie = new Cookie("login_save", userInfo.getEmpNo());
04.cookie.setMaxAge(7*24*60*60);
05.response.addCookie(cookie);
06.}else{
07.response.addCookie(new Cookie("login_save",""));
08.}
09....
10.}

위에는 cookie에 기간을 정해주기 위해서 저렇게 한거고 기간이 상관없다면 더 간단하게 아래처럼 할수 있겟다. 

1.public String loginProc(HttpServletResponse response ) throws Exception {
2.if( userInfo.isLongin_save() == true){     
3.response.addCookie(new Cookie("login_save","저장할값"));
4.}else{
5.response.addCookie(new Cookie("login_save",""));
6.}
7....
8.}

근데 딱히 지워주는걸 못찾아서리.. 그냥 "" 빈값을 넣어버린다.

혹시 jsp에서 어떻게 가져쓰는지 모르시는분을 위해.. 아래와 같이 el을 써서 가져오면 심플하게 사용할 수 있다. 

${cookie.login_save.value}

how to use cookie in spring controller ..


출처 - http://beans9.tistory.com/111


===================================================================================













실행후 모든 페이지 닫은후 다시 실행후 쿠키 확인






쿠키가 남아 있지 않음을 확인 할 수 있다(defaultValue가 동작하여 0으로 셋팅이 됨)





Servlet Import 에러 발생시 이전 게시물 참고
[JSP/Spring] - Spring Servlet import 에러시









CookieController.java

response.addCookie
쿠키를 전송하는 일을 수행
key 값 value로 전송



@CookieValue 어노테이션은 클라이언트가 제공하는 쿠키 정보를 읽어들임









dispatcher-servlet.xml
01.<?xml version="1.0" encoding="UTF-8"?>
02. 
06.xsi:schemaLocation="http://www.springframework.org/schema/beans
07.http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
08.http://www.springframework.org/schema/context
09.http://www.springframework.org/schema/context/spring-context-3.0.xsd">
10. 
11. 
12. 
13.<!-- @CookieValue 어노테이션을 이용한 쿠키 매핑 -->
14.<bean id="cookieController" class="madvirus.spring.chap06.controller.CookieController" />
15. 
16. 
17.<!-- View 글로벌 설정 -->
18.<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
19.<property name="prefix" value="/WEB-INF/view/" />
20.<property name="suffix" value=".jsp" />
21.</bean>
22.</beans>




CookieController.java
01.package madvirus.spring.chap06.controller;
02. 
03.import javax.servlet.http.Cookie;
04.import javax.servlet.http.HttpServletResponse;
05. 
06.import org.springframework.stereotype.Controller;
07.import org.springframework.web.bind.annotation.CookieValue;
08.import org.springframework.web.bind.annotation.RequestMapping;
09. 
10. 
11.@Controller
12.public class CookieController {
13. 
14.@RequestMapping("/cookie/make.do")
15.public String make(HttpServletResponse response){
16.response.addCookie(new Cookie("auth""1"));
17.return "cookie/made"//View경로
18.}
19. 
20.//@CookieValue 어노테이션은 클라이언트가 제공하는 쿠키 정보를 읽어들임
21. 
22.@RequestMapping("/cookie/view.do")
23.public String view(@CookieValue(value="auth",defaultValue="0") String auth){
24.System.out.println("auth 쿠키 : "+auth);
25.return "cookie/view";
26.}
27.}







cookie/made.jsp
01.<%@ page language="java" contentType="text/html; charset=UTF-8"
02.pageEncoding="UTF-8"%>
03.<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
04.<html>
05.<head>
06.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
07.<title>쿠키</title>
08.</head>
09.<body>
10.쿠키 생성함
11.</body>
12.</html>





cookie/view.jsp 
01.<%@ page language="java" contentType="text/html; charset=UTF-8"
02.pageEncoding="UTF-8"%>
03.<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
04.<html>
05.<head>
06.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
07.<title>쿠키</title>
08.</head>
09.<body>
10.쿠키 확인
11.</body>
12.</html>

출처 - http://javai.tistory.com/569








'Framework & Platform > Spring' 카테고리의 다른 글

Spring - Expression Language와 @Value  (0) 2012.05.24
spring - 메소드 파라미터  (0) 2012.05.24
Spring - security 예제  (0) 2012.05.23
Spring Security 이해  (1) 2012.05.23
Spring - @mvc -@Pattern  (0) 2012.05.23
Posted by linuxism
,