您的位置:首页 > 其它

使用return new ModelAndView("/sys/selectAccount");后session被清空了

2017-06-27 11:10 633 查看
springMVC最后return new ModelAndView(“/sys/selectAccount”);上网查了一下,说是会销毁session,重启一个新的session服务。但是经过自己的实验,好像只要不清空浏览器的缓存就不会发生这类问题。后来又仔细观察了一下,如果在清空浏览器缓存的时候将cookie那一栏去掉,也不会发生这类问题



所以有了一个猜想,会不会和cookie有关呢

然后查询了一些资料,发现session和cookie是有联系的,当你第一次访问服务器时,会开启一个session服务,相应的会在cookie中存入一个session的id,就是 jsessionid,以后你的每一次请求都会将你cookie中存入的jsessionid发送给服务器进行验证,或者说是查找当前id对应得session,也就是说,在每个不同的用户访问服务器的时候都会开启一个session,这个session是唯一的,用来区别不同的用户,而这个jsessionid就是用来辨别到底是哪一个用户的唯一标识。

jsessionid的创建方式,当你第一次访问服务器的时候,服务器会创建一个session并且将一个唯一的jsessionid返回给你的浏览器,浏览器自动保存到cookie中,当你下一次访问时,会自动携带这个jsessionid去找到对应的session

还有一种传递jsessionid的方式是URL重写,就是把sessionid直接附加到路径的后面,

还有一种技术叫做表单隐藏字段。就是服务器会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把session id传递回服务器。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  session cookie 浏览器
相关文章推荐