我设置了session的有效时间。怎么在session执行失效操作之前,做一起我想要的操作,然后再执行session失效操作。

解决方案 »

  1.   

    继承HttpSessionBindingListener,实现它的两个方法valueBound()和valueUnbound();Session创建的时候Servlet容器将会调用valueBound方法;Session删除的时候则调用valueUnbound方法. 
      

  2.   

    完全可以用AOP来实现 在配置文件里配一下就行了
      

  3.   

    销毁session是有事件可以捕获得,可以去找找
      

  4.   


    public class LoginListener implements HttpSessionBindingListener {

    private LogManager logManager;
    private LoginInfo loginInfo;
    private int userLoginNum = 0;
    public void valueBound(HttpSessionBindingEvent event) {
    logManager.addLog("登录", loginInfo.getIp(), loginInfo.getUsername());
    userLoginNum++;
    } public void valueUnbound(HttpSessionBindingEvent event) {
    logManager.addLog("登出", loginInfo.getIp(), loginInfo.getUsername());
    userLoginNum--;
    }
      

  5.   

    在web.xml中配置一个监听器继承于HttpSessionListener 
    public class MySessionListener implements HttpSessionListener {    /**
         * session建立时自动调用
         */
        public void sessionCreated(HttpSessionEvent event) {
          //operations
        }    /**
         * session销毁时自动调用,包括session.invilidate(w)
         * 和session超时
         */
        public void sessionDestroyed(HttpSessionEvent event) {
          //operations
        }
      

  6.   


    public class mySessionListener implements HttpSessionListener{
        public void sessionCreated(HttpSessionEvent se){    }
        public void sessionDestroyed(HttpSessionEvent se){
         //do something
        }
    }
      

  7.   

    继承HttpSessionBindingListener,实现它的两个方法valueBound()和valueUnbound();Session创建的时候Servlet容器将会调用valueBound方法;Session删除的时候则调用valueUnbound方法. 
    整个监听器就可以了啊