public class SessionCounter implements HttpSessionListener {
//session创建时执行
@Override
public void sessionCreated(HttpSessionEvent se) {
}
//session销毁时执行
@Override
public void sessionDestroyed(HttpSessionEvent se) {
// System.out.println("+++++++++++++==========");
UserResult userResult = (UserResult) se.getSession().getAttribute("sessionResult");
System.out.println(userResult.getId());
ServletContext sc = se.getSession().getServletContext();
ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(sc);
// ApplicationContext applicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext(sc);
LoginService loginService = applicationContext.getBean(LoginService.class);
loginService.exit(userResult);
}
}
这个是我百度如何在listener中调用service的方法是debug之后发现applicationContext 的值为null,执行System.out.println(userResult.getId())之后 ,不执行 loginService.exit(userResult)的方法,请问如何解决,我用的spring是注解方式