Spring Boot配置HttpSessionListener和HttpSessionAttributeListener无效。

zmztxzs 2018-01-18 07:42:09
我有一个spring boot (v1.5.9.RELEASE)项目,想要实现session的管理,实现了HttpSessionListener和HttpSessionAttributeListener这两个接口,在MySessionListener中使用@WebListener注解,在启动类中使用@SpringBootApplication注解
但是经过测试,访问网页(ftl页面)无法触发sessionCreated()方法;用户登陆时调用request.getSession().setAttribute()或者session().setAttribute()都无法触发attributeAdded()方法。

请问有人知道这是为什么吗

代码如下:
...全文
1406 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
defencez 2018-02-01
  • 打赏
  • 举报
回复
MySessionListener需要注册吧, @Bean public ServletRegistrationBean indexServletRegistration() { ServletRegistrationBean registration = new ServletRegistrationBean(new ClassName()); registration.addUrlMappings("/XXX"); return registration; }
qq_39335302 2018-02-01
  • 打赏
  • 举报
回复
请问问题解决了嘛
zmztxzs 2018-01-18
  • 打赏
  • 举报
回复
重发一下代码部分 DemoApplication.java

    @SpringBootApplication
    @ServletComponentScan
    public class DemoApplication {
            public static void main(String[] args) {
                    SpringApplication.run(DemoApplication.class, args);
            }
    }
MySessionListener.java

    @WebListener
    public class MySessionListener implements HttpSessionListener, HttpSessionAttributeListener {
        private final static Log log = LogFactory.getLog(MySessionListener.class);
        @Override
        public void sessionCreated(HttpSessionEvent se) {
            log.info("sessionCreated-----" + se.getSession().getId());
        }
        @Override
        public void sessionDestroyed(HttpSessionEvent se) {
            log.info("sessionDestroyed-----" + se.getSession().getId());
        }
        @Override
        public void attributeAdded(HttpSessionBindingEvent se) {
            log.info("attributeAdded: "+se.getSession().getId());
        }
        @Override
        public void attributeRemoved(HttpSessionBindingEvent se) {
            log.info("attributeRemoved: "+se.getSession().getId());
        }
        @Override
        public void attributeReplaced(HttpSessionBindingEvent se) {
            log.info("attributeReplaced: "+se.getSession().getId());
        }
    } 

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧