0
点赞
收藏
分享

微信扫一扫

注册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你好";
}
}


举报

相关推荐

0 条评论