当前位置:首页 > JavaServer Page

sesion监听器使用request对象

canca19年前 (2008-01-29)JavaServer Page603
  //----------------------   SessionListener.java----------------------------------------------------  
   
  package   listeners;  
   
  import   javax.servlet.ServletContext;  
   
  import   javax.servlet.ServletContextEvent;  
   
  import   javax.servlet.ServletContextListener;  
   
  import   javax.servlet.http.HttpSessionAttributeListener;  
   
  import   javax.servlet.http.HttpSessionBindingEvent;  
   
  import   javax.servlet.http.HttpSessionEvent;  
   
  import   javax.servlet.http.HttpSessionListener;  
   
  //   ServletRequestListener为Servlet2.4新增接口  
   
  import   javax.servlet.ServletRequestListener;  
   
  import   javax.servlet.ServletRequestEvent;  
   
  import   javax.servlet.http.HttpServletRequest;  
   
     
   
  public   final   class   SessionListener  
   
  implements   HttpSessionListener,ServletRequestListener   {  
   
  private     HttpServletRequest     request;  
   
   
   
  public   void   requestDestroyed(ServletRequestEvent   sre)   {   }  
   
     
   
  public     void   requestInitialized(ServletRequestEvent   sre)  
   
    {  
   
                      request=(HttpServletRequest)sre.getServletRequest();  
   
          }  
   
          public   void   sessionCreated(HttpSessionEvent   event)   {  
   
                  String   logMsg=event.getSession().getId()  
   
                          +"'     '"+request.getRemoteAddr()  
   
                          +":"+request.getRemotePort();  
   
                  log("sessionCreated('"   +   logMsg   +   "')");  
   
          }  
   
     
   
          public   void   sessionDestroyed(HttpSessionEvent   event)   {  
   
                  log("sessionDestroyed('"   +   event.getSession().getId()   +   "')");  
   
          }  
   
     
   
          private   void   log(String   message)   {  
   
                      System.out.println("SessionListener:   "   +   message);  
   
          }  
   
  }  
   
     
   
  在开始接到客户端请求(requestInitialized)时,获得当前的HttpRequest对象保存在私有成员   request   中,这样在Session创建时可以实现对Session用户进行验证,以及关闭Session,限制IP地址访问等,这里仅以记录Session来源为例(SessionListener.java)  
   
  编译这个类后还要在web.xml的host元素内加入以下行:  
   
      <listener>  
   
          <listener-class>listeners.SessionListener</listener-class>  
   
      </listener>  
   
                              本文适用环境:Tomcat   5.02,jdk1.4  

扫描二维码推送至手机访问。

版权声明:本文由Ant.Master's Blog发布,如需转载请注明出处。

本文链接:https://iant.work/post/483.html

标签: JavaServer Page
分享给朋友:

“sesion监听器使用request对象” 的相关文章

JSP动态include与静态include的区别

动态INCLUDE   jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。静态INCLUDE   用include伪码实现,定不会检…

session监听器

HttpSessionBindingListener:                     在把实现了该…

用java把google和baidu的URL编码还原成明文字串ZT

因为在做链接来源统计的时候需要把 http://www.baidu.com/baidu?word= ... B%F7&tn=myie2dg  这类的URL编码还原成明文字串,一般大部分的网站都是用普通的URL编码形式,如上面链接中的badu,这种很容易转换和还原,Java…

JAVA截取HTML部分内容

超级晕死,昨天弄了整天截取HTML内容。由昨天中午2:00左右到零辰4:00钟都在弄。在网上搜了一些相关的资料。方法大概是以下几种: 1.将截取出来的不正规的HTML内容,经过递归过滤。把未闭合的HTML标签添加上。 2.用现有成熟的开…

Struts 防止重复表单提交的工具包

       今天,我位网友在烦这个东东。他说,怎样防止用户重复提交同一个表单呢?我跟他说用Token。过了一会儿,他说,用Token有点烦。        由于,我的项目里都没有…

c3po连接池[貌似是最优秀]

   最近项目用到了hibernate3.0   c3po  mysql的数据层组合,开发部署非常顺利,但每天早上访问应用都抛出 Could not open Hibernate session for transaction 异常,Caused b…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。