• 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();

  • 相关阅读:
    Layout布局
    了解java虚拟机—串行回收器(6)
    了解java虚拟机—JVM相关参数设置(2)
    了解java虚拟机—堆相关参数设置(3)
    了解java虚拟机—垃圾回收算法(5)
    了解java虚拟机—并行回收器(7)
    了解java虚拟机JVM的基本结构(1)
    了解java虚拟机—非堆相关参数设置(4)
    了解java虚拟机—CMS回收器(8)
    求FTP协议规范中文版
  • 原文地址:https://www.cnblogs.com/qneverever/p/4588605.html
Copyright © 2020-2023  润新知