jsp 的session为啥会变化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp 的session为啥会变化相关的知识,希望对你有一定的参考价值。
jsp 的session为什么会变化不太方便上传代码。大体是这样的是一个jsp+javabean的登录程序
首先是登录界面 login.jsp 提交表单后action跳转至判断用户名和密码的界面 judge.jsp , 匹配成功后 将用户名username存入session中,转发至登录成功的界面 success.jsp,此界面将session中的username取出来判断。
下面有两种情况session的id发生变化
①我先成功登录后,从后端得到一个session的id,但此时我在同一浏览器再新建一个标签页直接进入success.jsp 得到的session的id却不同。
②先登录成功跳转至success.jsp界面,得到一个id,然后我在此界面上返回登录界面login.jsp,再刷新,获取一个id。结果两个id不同
此时session.getAttribute("username").toString() == "Sky"
所以session的attr值重新赋值当然会变化。session值变化肯定是重新赋值的原因追问
但是我先开起一个网页,登录成功跳转至success.jsp后,在在同一个浏览器下新开一个网页,不登陆直接进去success.jsp为什么这个时候id变了?这时只在第一个页面设置了一次username呀
代码太长,不太方面。我知道没代码很难找出错,你就帮我看看大概有哪些可能出现的错吧,谢谢了
追答要明白,关闭浏览器session失效,如果不是关闭浏览器新开success.jsp的话,不妨在控制台打印出来看看这个session改变之后的值是啥再进行调试
参考技术A 线索太少,分析不出追答可能是项目名称用了中文,URL 有中文之类的
追问项目名称没有中文
我只想知道大概有哪些可能,会导致这种问题发生
django session为啥不会重新登录
参考技术A django里自带的session表中没有session值。在生成session时,会sessionkey保存到cookie中一份存在浏览器,同时也会保存的服务端一份,而session的value也保存在服务端。django里自带了一个,session表,可以自动存储session。
以上是关于jsp 的session为啥会变化的主要内容,如果未能解决你的问题,请参考以下文章
servlet里Map对象存进Session,在JSP里取出来以后Map里面值为空,这是为啥?
jsp作业:内置对象的4个作用范围是啥?啥情况下session会关闭?