SpringMVC中删除session的小问题
springmvc中使用@SessionAttributes后删除session失效的问题
一、背景
继上篇文章使用@SessionAttributes
后,获取相应的session的问题解决后,在项目中出现了登出删除session的需求,我使用了sessionStatus.setComplete();
,这样做目的是清除该条记录,因为要删除@SessionAttributes
中的session值,必须采用上述代码进行删除,但是很遗憾,我还是没有完全理解springmvc中的session,因为springmvc实现session的模块有很多。
二、解决方案
尽管我是用sessionStatus.setComplete();
,删除了@SessionAttributes
中的session之后,在HttpSession
中还是有session存在的,并没有删除HttpSession中的session,这就会导致我在jsp页面中使用EL表达式,仍然能获取session中的值,因此我必须彻底删除所有的session。
三:代码:
1 |
|
说明:
session.removeAttribute("resident");
用来移除HttpSession中的相应session键值。
session.invalidate();
用来使HttpSession失效。
sessionStatus.setComplete();
最后执行,删除@SessionAttributes
提供的session。
这样就可以彻底删除session了,在jsp中也获取不到相应的session值。
参考博客:
https://blog.csdn.net/s740556472/article/details/71275328?utm_source=blogxgwz9
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!