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

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传递回服务器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值