这篇文章主要介绍了web中Java response sendRedirect()怎样才能携带设定的cookie,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
有一个页面需要免登陆访问,所以我让客户端访问一个地址,地址在拦截器时转向一个方法,方法中需要先用httpclient获得sessionid,redirectUrl是一个springmvc控制器的路径,指向一个模板jsp页面,这就是最终需要免登陆访问的页面在chrome调试看到,设定的cookie并没有带上,怎么回事?
HttpServletResponse.sendRedirect重定向与Cookie失效
重定向代码如下:
try{
CookiexReferCookie=newCookie("x-referer",xReferer+"_"+token);
CookiexChannelCookie=newCookie("x-channel",xChannel);
xReferCookie.setPath("/");
xChannelCookie.setPath("/");
xReferCookie.setDomain("xxxx.com");
xChannelCookie.setDomain("xxxx.com");
response.addCookie(xReferCookie);
response.addCookie(xChannelCookie);
response.sendRedirect(targetUrl);
}catch(IOExceptione){
log.error("跳转目标h6页面失败,targetUrl:[]",targetUrl);
returnnewResponseEntity("error",HttpStatus.INTERNAL_SERVER_ERROR);
}
1234567891011121314
#Cookie类型、创建方式及特性
注:Cookie的MaxAge单位为秒。
responsesendredirect内存Cookie:
由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的。
硬盘Cookie:
保存在硬盘里,有一个过期时间,除非用户手工清理或到了过期时间,硬盘Cookie不会被删除,其存在时间是长期的
MaxAge:该Cookie失效的时间,单位秒。如果为正数,则该Cookie在maxAge秒之后失效。如果为负数,该Cookie为临时Cookie,关闭浏览器即失效,浏览器也不会以任何形式保存该Cookie。如果为0,表示删除该Cookie。默认为–1
感谢你能够认真阅读完这篇文章,希望小编分享的“web中Java response sendRedirect()怎样才能携带设定的cookie”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://www.xuebuyuan.com/3296681.html