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并没有带上
怎么回事?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
1、把这段代码加上
2、转向的地址域名要和写入cookie的域(domain),在同一个域(例如:一级域 .baidu.com)下面
你为什么要重新设置sessionId,什么场景
JSESSIONID是做为容器保留字的, 容器负责管理. 除非全部session都应用来管理, 否则不要重置,这本身也有安全问题. 可以做为参数加在URL后面