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月前
|
Java
25JavaWeb基础 - 监听器
25JavaWeb基础 - 监听器
39 1
|
10天前
|
移动开发 前端开发 Java
Flowable 任务监听器与执行监听器的介绍
Flowable 任务监听器与执行监听器的介绍
19 0
|
10天前
|
Java
javaWeb监听器Listener(三)定时清理session
javaWeb监听器Listener(三)定时清理session
|
10天前
javaWeb监听器Listener -自定义监听器类实现
javaWeb监听器Listener -自定义监听器类实现
|
12月前
Listener概述、监听对象的创建和销毁、监听域对象属性变化、监听会话相关的感知型监听器及监听器实现
Listener概述、监听对象的创建和销毁、监听域对象属性变化、监听会话相关的感知型监听器及监听器实现
71 0
|
程序员
监听器
监听器
83 0
HttpSession对象的属性操作监听器
HttpSession对象的属性操作监听器的个人理解
HttpSession对象的生命周期监听器
HttpSession对象的生命周期监听器的个人理解