java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > 注册HttpSessionListener失效原因

注册HttpSessionListener失效的原因及解决方案

作者:征途黯然.

这篇文章主要介绍了注册HttpSessionListener失效的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

问题描述

监听器

@WebListener
public class MyHttpSessionListener implements HttpSessionListener {
	/**
	 * session创建
	 */
	@Override
	public void sessionCreated(HttpSessionEvent e) {
		HttpSession session=e.getSession();
		System.out.println("session创建===ID===="+session.getId());
	}
	/**
	 * session销毁
	 */
	@Override
	public void sessionDestroyed(HttpSessionEvent e) {
		HttpSession session=e.getSession();
		System.out.println("销毁的sessionID===="+session.getId());
	}

}

启动类上已经加了注解@ServletComponentScan

访问接口

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String handle01(){
        return "nihao你好";
    }
}

这样写之后,发现第一次访问时,控制台并不会打印:

System.out.println("session创建===ID===="+session.getId());

原因

在访问接口时,形参要带上HttpSession session.

如下:

@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String handle01(HttpSession session){
        return "nihao你好";
    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文