这篇文章主要介绍了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”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。