请问在listener中调用service层的方法中遇到问题

lc295240057 2017-07-25 05:43:40
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是注解方式
...全文
240 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lc295240057 2017-07-26
  • 打赏
  • 举报
回复
不知道怎么就好使了。。。。。 @Component public class SessionCounter implements HttpSessionListener ,ApplicationContextAware { private static ApplicationContext applicationContext; public void setApplicationContext(ApplicationContext arg0) throws BeansException { applicationContext = arg0; } public static ApplicationContext getApplicationContext(){ return applicationContext; } //session创建时执行 @Override public void sessionCreated(HttpSessionEvent se) {} //session销毁时执行 @Override public void sessionDestroyed(HttpSessionEvent se) { UserResult userResult = (UserResult) se.getSession().getAttribute("sessionResult"); // ServletContext sc = se.getSession().getServletContext(); // applicationContext = WebApplicationContextUtils.getWebApplicationContext(sc);//applicationContext为null applicationContext=getApplicationContext(); LoginService loginService = applicationContext.getBean(LoginService.class); // LoginService loginService=new LoginServiceImpl(); //LoginDao为null loginService.exit(userResult); } }
李德胜1995 2017-07-25
  • 打赏
  • 举报
回复
报错没???LoginService可以从spring中得到吗???

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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