2014-12-26 2 views
0

생성 된 쿠키가 있으며 만료 날짜가 없으므로 만료 기한은 30 분입니다. 난 그냥 최대 나이 설정 아래에 2 분 만료되도록 싶었어요.쿠키 만료가 작동하지 않습니다.

Cookie sessionCookie = new Cookie("sessioncookie", "345rfhthjii"); 
sessionCookie.setPath("/"); 
sessionCookie.setSecure(true); 
sessionCookie.setMaxAge(120); 
response.addCookie(sessionCookie); 
위의 코드가 작동하지 않습니다

, 그래서 나는이 세션 만료와 관련된하지만 모든 솔루션은 JSP 페이지에서 설정해야합니다 날짜/시간에 대해 이야기하는 다른 게시물을 통해 갔다.

서블릿 자체에서 어떤 일도 할 수 없습니까?

+0

위 코드가 작동하지 않습니다. 설명해주십시오. 당신은 무엇을 기대 했습니까? 실제로 무슨 일이 있었습니까? –

+0

위의 쿠키는 2 분 후에 만료 되나 만료되지 않습니다. 2 분 후에도 앱이 작동하는 것을 볼 수 있습니다. – User

답변

1

초에있는 쿠키의 만료를 설정 setMaxAge(int)에있어서, 그래서 코드 :

sessionCookie.setMaxAge(120); 

가 제대로 이분 후에 만료됩니다 쿠키를 작성해야합니다.

구문이 정확하고 설명 된 의도 한 동작이 발생해야하므로 이전 쿠키가 지워 졌는지 확인합니다.

0

Firefox에서 코드를 테스트했습니다. 당신이 쿠키를 저장하는 방식은 정확하고 당신이 옳습니다. 쿠키가 만료되면 Firefox는 즉시 쿠키를 삭제하지 않습니다.

Test cookie

당신이 test 쿠키가 만료되지만 아직 파이어 폭스에서 쿠키 목록에 존재한다 볼 수 있듯이. 이 쿠키는 Javascript로 액세스 할 수 없으며 브라우저는이 쿠키를 서버로 보내지 않습니다. 서블릿에서이 명령으로 테스트 할 수 있습니다.

Cookie[] cookies = req.getCookies(); 

분명히 쿠키 목록을 업데이트하는 브라우저 정책입니다.

관련 문제