0

我在 web.xml 中配置了一个监听器

<listener>
      <listener-class>com.Mylistener</listener-class>
</listener>

MyListener.java

有以下代码

 public class MyListener extends HttpSessionEventPublisher{

           myServiceInterface myService;

           @Override
           public void sessionCreated(HttpSessionEvent event) {     
              super.sessionCreated(event);
           }

           @Override
           public void sessionDestroyed(HttpSessionEvent event) {
             //Call a method from service layer which is communicating with DAO layer and then database.
    super.sessionDestroyed(event);
           }

    }

该服务已经拥有自己的映射并且工作正常。

还有什么其他映射,我需要在 Mylistener 中调用服务层,上面的代码根本不起作用

4

1 回答 1

2
public class MyListener extends HttpSessionEventPublisher {
    @Override
    public void sessionDestroyed(final HttpSessionEvent event) {
        final ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(event.getSession().getServletContext());
        final MyServiceInterface service = ctx.getBean(MyServiceInterface.class);
        // use service
        super.sessionDestroyed(event);
    }
}    

应该工作(未经测试)。

于 2012-12-12T09:33:50.413 回答