在JSP中编写监听器,仿效ASP中的GLOBAL.ASA功能

 
 
经过应用中发现原来在JSP上实现类似ASP中的Global.asa 这样具有系统事件监听功能的程序并不难,我想这也是很多JSP朋友所关注的问题,那么本人就将实现过程展示如下:

1.实现监听类

package Bean.Sample;

import java.util.Date;
import java.servlet.http.HttpSessionEvent;
import java.servlet.http.HttpSessionListener;

public class counterListenerExam implements HttpSessionListener{

   private static int count = 0;
   private static int activeCount = 0;

   public void sessionCreate(HttpSessionEvent evt){
     
       long time = evt.getSession().getCreationTime();
       System.out.println("session 建立的时间" + new Date(time));

       count ++;
       activeCount ++;  
   }

  public void sessionDestroyed(HttpSessionEvent evt){
  
       activeCount -- 
  }

  public static String getCounteInfo(){

       return "建立总数:" + count + "/n" +
              "活动总数:" + activeCount;  
  }
} 


2. 监听器的配置:

   通过WEB应用程序的XML部署符WEB.XNL实现,在WEB.XML中添加一个<listener>元素,并嵌套<listner-class>元素(对应监听器的名称)

   web.xml
   ...
   ..
   <listener>
        <listener-class>Bean.Sample</listener-class>
   </listener>
  ...

3. JSP页应用

   <%@page import="Bean.Sample"%>
   <%
       Sample.getCounterInfo();
   %>

  以上就是实现的基本全过程,如有不正确之处还望大家指正. Email: bisslot@hotmail.com

回复人: peacock_king(孔雀王) ( ) 信誉:130 2003-04-20 08:24:28Z 得分:0
?
谢谢!

欢迎楼主常发些类似的文章,还有,最好题目里的关键字是便于检索的:)

servlet过滤、监听、重定向,jsp定义标记库,都是必备的知识吧。但有很多人都在需要时,才来网上查找(偶也是呀),正需要你这样的例子。
Top
回复人: bisslot(米杜) ( ) 信誉:110 2003-04-20 10:01:50Z 得分:0
?
客气! 大家相互学习!
Top
回复人: beyond_xiruo(CorruptionException) ( ) 信誉:630 2003-04-20 13:56:31Z 得分:0
?
不错,支持
Top
回复人: wellsoon(感谢wellsoon,请留个联系方式吧) ( ) 信誉:114 2003-04-20 15:26:51Z 得分:0
?
收藏了
Top
回复人: cxhz_cn(NetBeansBoy) ( ) 信誉:90 2003-04-20 17:13:41Z 得分:0
?
不错
Top
回复人: zxhong(红透半边天) ( ) 信誉:304 2003-04-20 19:05:04Z 得分:0
?
呵呵,不错,楼主能不能再说说监听器主要用在那些地方呢?

Top
回复人: joyrush(LIFO,其实我叫李佛) ( ) 信誉:101 2003-04-20 20:18:55Z 得分:0
?
楼主的几个错误

源码
package Bean.Sample;

import java.util.Date;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

public class counterListenerExam implements HttpSessionListener{

   private static int count = 0;
   private static int activeCount = 0;

   public void sessionCreated(HttpSessionEvent evt){
     
       long time = evt.getSession().getCreationTime();
       System.out.println("session 建立的时间" + new Date(time));

       count ++;
       activeCount ++;  
   }

  public void sessionDestroyed(HttpSessionEvent evt){
  
       activeCount -- ;
  }

  public static String getCounteInfo(){

       return "建立总数:" + count + "/n" +
              "活动总数:" + activeCount;  
  }
}


   <listener>
        <listener-class>Bean.Sample.counterListenerExam</listener-class>
   </listener>


3. JSP页应用

   <%@ page import="Bean.Sample.*"%>
   <%
       counterListenerExam.getCounteInfo();
   %>
Top
回复人: biggie(飞碟) ( ) 信誉:93 2003-04-20 22:28:19Z 得分:0
?
jsp监听器主要作用是什么?它的表现形式?
Top
回复人: joyrush(LIFO,其实我叫李佛) ( ) 信誉:101 2003-04-22 09:14:54Z 得分:0
?
而且 问一下哦  什么时候sessionDestroyed 才会被调用 ?
Top
回复人: joyrush(LIFO,其实我叫李佛) ( ) 信誉:101 2003-04-26 22:48:12Z 得分:0
?
这是j2ee里面的 

Top
回复人: asdmonster(快乐的土豆) ( ) 信誉:102 2003-05-27 08:55:35Z 得分:0
?
mark
Top
回复人: zhusuhao(不以为然) ( ) 信誉:100 2003-06-05 15:35:05Z 得分:0
?
学习!正好用到!谢了!
Top

该问题已经结贴
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值