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) {

 
  

    }
  }
}

 
 

转载于:https://www.cnblogs.com/hujunzheng/p/4156395.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值