반응형

도.대.체

 

이유가 뭘까.

 

1. popup 페이지 jsp단에서 jquery로 cookie 생성

$.cookie('DOWNLOAD_STATUS', 'in progress', {path:'/'});

 

2.  controller 불러서 modelAndView excel 객체로 return.

 

return 할 excel 객체 생성 시 

 

Cookie cookie = new Cookie("DOWNLOAD_STATUS", "complete");
	cookie.setHttpOnly(true);
	cookie.setPath("/");					// 모든 경로에서 접근 가능하도록 
	response.addCookie(cookie);				// 쿠키저장

쿠키도 같이 생성하여 HttpServletResponse 에 추가. (response.addCookie)

 

3. jsp에서 cookie 값 확인

if($.cookie('DOWNLOAD_STATUS') == 'complete') {
   alert("성공");
}

 

4. 결과적으로 $.cookie('STATUS') == undefind

 

대체 왜??

 

크롬 개발자모드에서도 확실히 값이 확인되는데..

 

분명히 complete 라고 찍혀있지만 

개발자모드 console 에서 $.cookie('DOWNLOAD_STATUS'); 찍어보면 undefind로 나온다.

 

크롬 개발자모드 Application > cookies > 서버 주소로 들어가서 확인되는 쿠키를 찍었는데 undefind가 나온다고?...

이해가 안됨.

 

다음주에야 말로 문제 해결할것이다.

 

예상가능한 트러블로는

 

1. java단에서 HttpServletResponse 로 보내줬을때 jsp에서 잘 못받나?...뭔가 꼬이나?..

2. 데이터타입이 달라서 string으로 못읽어오나?..

 

이정도이다.

 

왜냐하면

 

관리자모드 Application cookies 에서 봤을 때 

1. jsp에서 cookie 생성했을때 --> 정상적인 값 (in progress)

2. java에서 jsp로 다시 넘어왔을때 ---> 정상적인 값 (complete)

 

인데... 넘어오고나서 콘솔로 쿠키찍어봤을 때 undefind 뜨는걸보니 ... 넘어올때 무슨 문제가 있던게 아닌가 싶다.

 

 

 

문제해결!!

Cookie cookie = new Cookie("DOWNLOAD_STATUS", "complete");
	cookie.setHttpOnly(false);              // true -> false로!!!!!
	cookie.setPath("/");					// 모든 경로에서 접근 가능하도록 
	response.addCookie(cookie);				// 쿠키저장

httpOnly를 false로 바꿔주면..해결 ^^......

728x90

+ Recent posts