关于session的取值问题(session没有及时更新)

今天在写代码的时候发现了一个奇怪的问题,就是session的值没有及时更新!

我在A页面用了jquery的load方法加载B页面,然后B页面提交了数据到后台,后台设置了session.setAttribute(“name”)。然后后台跳转回A页面的时候,发现在B页面取不到刚刚session设置的”name”数据,但是在A页面或者其他页面则可以取到;

只有当我强制直接刷新B页面(依赖于A页面的css和js),或者关闭了网页再打开,再进入A页面,才能在B页面取到刚才的值。

也就是说,同一次会话中,不同的页面的session有可能会不同!!

个人分析原因应该是session的更新问题,就是只有当需要获取session上面的值的网页经过了刷新,才能获得最新的session,即使session变化了,但是如果一个网页没经过刷新直接再次访问session,取到的还是旧的session。

上面我用了load的方法,A页面刷新的时候,估计是B页面并没有同步刷新。
关闭当前网页再打开能获取,估计是B页面被重新分配了最新的session。

所以说在获取session的时候要保证当前页面被重新加载了,不然是获取不了最新的session的。

你可能感兴趣的:(JavaWeb)