Session监听器

简介:

Session监听器,是用来监听session对象创建和关闭的。有时我们需要在session创建或关闭时执行一些操作。这是就可以使用Session Listenner。


1.在项目的web.xml文件中添加如下代码:

[html] view plaincopy
<!--添加Session监听器-->  
 <listener>   
    <listener-class> com.jx.base.listener.SessionListener </listener-class>   
 </listener>  

2.编写java类。

package com.sessionListener;

import com.bean.SQLBean;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Map;
import java.util.TreeMap;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

public class SessionListener implements HttpSessionListener {

 public void sessionCreated(HttpSessionEvent arg0) {
    HttpSession session = arg0.getSession();
                    session.setAttribute("customer_order", new TreeMap<String, Integer>());
                     session.setMaxInactiveInterval(60);//通过设置session的过期的时间来制定订单的过期时间!
	}

 public void sessionDestroyed(HttpSessionEvent arg0) {
                  Connection con = null;
                  Statement sta = null;
                  SQLBean dbMsg = new SQLBean();
                  HttpSession session = arg0.getSession();
                  Map<String, Integer> mp  = (Map<String, Integer>)session.getAttribute("customer_order");
                  try{
                          dbMsg.getConncetion();
                          sta = dbMsg.getStatement();
                          for(String key : mp.keySet()){
                                String picName = null, count = null;
                                picName = key;
                                count = String.valueOf(mp.get(key));
                                if(picName != null && count!=null){
                                      String sql = "update food set cnt=cnt+" + count + " where picName=\'" + picName + "\'";
                                      sta.executeUpdate(sql);
                                }
                        }
                        dbMsg.close();
                    } catch (SQLException e) {

     } 
	  }
}

目录
相关文章
|
7月前
|
XML Java 应用服务中间件
Listener(监听器)
Listener(监听器)
91 4
|
6月前
|
存储 XML Java
会话_过滤器_监听器
会话_过滤器_监听器
35 1
|
6月前
|
XML 存储 设计模式
会话_过滤器_监听器(2)
会话_过滤器_监听器(2)
30 0
|
7月前
|
移动开发 前端开发 Java
Flowable 任务监听器与执行监听器的介绍
Flowable 任务监听器与执行监听器的介绍
1080 0
|
7月前
|
Java
javaWeb监听器Listener(三)定时清理session
javaWeb监听器Listener(三)定时清理session
|
7月前
javaWeb监听器Listener -自定义监听器类实现
javaWeb监听器Listener -自定义监听器类实现
Listener 监听器
监听器是专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。Servlet监听器:Servlet规范中定义的一种特殊类,它用于监听Web应用程序中的ServletContext,HttpSession和HttpServletRequest等域对象的创建与销毁事件,以及监听这些域对象中的属性发生修改的事件。
HttpSession对象的生命周期监听器
HttpSession对象的生命周期监听器的个人理解