2 sweetbowie sweetbowie 于 2015.06.12 12:06 提问

session监听器获取值的问题

听说CSDN大神老多了,我来试一下,这个问题弄得我都要哭了。
先简单介绍一下项目框架,并不时髦的SSH框架,加上Spring security的安全机制。
然后我就很普通的想创建一个自定义监听器,监听session中用户的登录时间,以及注销时间!
创建session监听的步骤:1,创建类HshSessionLisstener 2.在web.xml中配置

图片说明

图片说明

我能确定session是进来了的。并且运行了监听器里面的代码!
问题是:我取不到session中的值!取不到session中SPRING_SECURITY_CONTEXT的值,取出来是null!而这个值在页面和其他后台代码中都能取到!如下!
图片说明

图片说明

所以我的问题就是,为毛在监听里取不到值?为毛!求解救!我怀疑给security机制有关系,可是security机制是个毛机制,你们造吗?拜托了!

3个回答

u010638673
u010638673   2015.06.12 12:33

httpSeveletRquest

sweetbowie
sweetbowie 亲,路见不平拔刀相助,表惜字如金了啦~我也想过这种,但是这里面是没办法获取request对象的~
2 年多之前 回复
cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.06.12 13:43
bulusli3
bulusli3   Ds   Rxr 2015.06.12 14:50

当你设置session值的时候,比如req.getSession().setAttribute("session1","first session value");如果要在session的listener里取到该值,需要实现HttpSessionAttributeListener这个接口,里面有相关的方法,可以在session发生变化的时候进行处理。图片说明

Csdn user default icon
上传中...
上传图片
插入图片