zoukankan      html  css  js  c++  java
  • jsp会话监听

    ,建一个监听类,实现HttpSessionListener,HttpSessionAttributeListener接口

     1 package com.ifree.listener;
     2 
     3 import java.util.Date;
     4 import java.util.HashMap;
     5 import java.util.Map;
     6 
     7 import javax.servlet.http.HttpSession;
     8 import javax.servlet.http.HttpSessionAttributeListener;
     9 import javax.servlet.http.HttpSessionBindingEvent;
    10 import javax.servlet.http.HttpSessionEvent;
    11 import javax.servlet.http.HttpSessionListener;19 
    20 public class HihSoftSessionListener implements HttpSessionListener,HttpSessionAttributeListener{
    21     
    22     /**
    23      * 存放所有的session对象索引
    24      */
    25     public static final Map<String, HttpSession> allSessions=new HashMap<String,HttpSession>();
    26     
    27     /**
    28      * Session创建时触发
    29      */
    30     public void sessionCreated(HttpSessionEvent se) {
    31         
    32     }
    33     /**
    34      * Session销毁时触发
    35      */
    36     public void sessionDestroyed(HttpSessionEvent se) {
    37         if(allSessions.containsKey(se.getSession().getId())){39             allSessions.remove(se.getSession().getId());
    40         }
    41     }
    42     /**
    43      *    往session中绑定数据时触发
    44      */
    45     public void attributeAdded(HttpSessionBindingEvent se) {
    46         if(se.getName()==Const.SESSION_USER){//当绑定数据的名称是Const.SESSION_USER时,表示登录56             allSessions.put(se.getSession().getId(), se.getSession());
    57         }
    58     }
    59     /**
    60      * 移除session中的绑定数据时触发 
    61      */
    62     public void attributeRemoved(HttpSessionBindingEvent se) {
    63         if(se.getName()==Const.SESSION_USER){//当绑定数据的名称是Const.SESSION_USER时,表示退出登录65             allSessions.remove(se.getSession().getId());
    66         }
    67     }
    68 
    69     public void attributeReplaced(HttpSessionBindingEvent se) {
    70         
    71     }
    72 
    73 }

    、在web.xml中引用这个监听类

    1 <listener>
    2         <listener-class>com.ifree.listener.HihSoftSessionListener</listener-class>
    3 </listener>

    这样就可以动会话进行监听了。

    获取客户端IP地址的方法为:String ip=InetAddress.getLocalHost().getHostAddress();

  • 相关阅读:
    mysql表设计的一些面试题
    sqlserver统一给所有表添加字段
    领域知识层次
    3年经验的java程序员面试应该具备的基本技能
    bootstraptable前端分页
    could not find setter for
    el-table表格单选按钮
    use of the same entity name twice
    《CSS核心技术详解》
    遇见未知的CSS
  • 原文地址:https://www.cnblogs.com/qneverever/p/4588605.html
Copyright © 2011-2022 走看看