도.대.체
이유가 뭘까.
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로 바꿔주면..해결 ^^......
'과거 게시글' 카테고리의 다른 글
아무조건없이 로컬에서는 잘 되는데 실서버에서 안될때 (0) | 2021.09.14 |
---|---|
jsp에서 java로 배열 array 전송 시 에러 java.lang.NumberFormatException: For input string: "" (0) | 2021.07.27 |
인텔리제이 2021 gradle 디버그 안될 때 (intellij gradle debug) (0) | 2021.05.14 |
intellij 인텔리제이 한글 인코딩 설정 (intelliJ utf-8) (0) | 2021.04.02 |
ORACLE CURSOR 활용 예제 ( 오라클 반복문 ) (0) | 2021.04.01 |