鍍金池/ 問答/Java  HTML/ Java:response.sendRedirect()如何能攜帶設定的cook

Java:response.sendRedirect()如何能攜帶設定的cookie?

有一個頁面需要免登陸訪問,所以我讓客戶端訪問一個地址,地址在攔截器時轉向一個方法,方法中需要先用httpclient獲得session id,然后如下

Cookie cookie = new Cookie("JSESSIONID", jSessionId);
cookie.setMaxAge(0);
response.addCookie(cookie);   
String redirectUrl = request.getContextPath() + Global.getAdminPath() +  "/doCancel";
response.sendRedirect(redirectUrl);

redirectUrl是一個springmvc控制器的路徑,指向一個模板jsp頁面,
這就是最終需要免登陸訪問的頁面
在chrome調試看到,設定的cookie并沒有帶上
怎么回事?

回答
編輯回答
櫻花霓

1、把這段代碼加上

cookie.setDomain(domain);
cookie.setPath("/");

2、轉向的地址域名要和寫入cookie的域(domain),在同一個域(例如:一級域 .baidu.com)下面

2018年5月1日 21:03
編輯回答
遺莣

JSESSIONID是做為容器保留字的, 容器負責管理. 除非全部session都應用來管理, 否則不要重置,這本身也有安全問題. 可以做為參數(shù)加在URL后面

2017年9月17日 03:13
編輯回答
命于你

你為什么要重新設置sessionId,什么場景

2017年11月11日 02:31