监听器技术

监听器

监听器是Web应用开发的一个重要组成部分。通过它可以监听Web应用上下文信息,Srevlet请求信息,Servlet会话信息。当服务器启动时,监听器自动加载(执行构造函数),特定事件发生时,容器自动调用相应监听器中对应的事件处理方法。

监听器接口

1.ServletContext事件监听器:用于监听应用程序环境对象。可以监听到ServletContext对象中属性的变化(增加,删除,修改),也可以监听到ServletContext对象本身的变化(创建与销毁)
接口:
ServletContextAttributeListener
ServletContext.Listener
2.HttpSession(会话)事件监听器:用于监听用户会话对象。可以监听到HttpSession对象中属性的变化(增加,删除,修改),也可以监听到HttpSession对象本身的变化(创建与销毁),还可以监听到HttpSession对象是否绑定到该监听器对象上。
接口:
HttpSessionAttributeListener
HttpSessionListener
HttpSessionActivationListener
HttpSessionBindingListener
3.ServletRequest事件监听器:用于监听请求消息对象。可以监听到ServletRequest对象中属性的变化(增加,删除,修改),也可以监听到ServletRequest对象本身的变化(创建与销毁)
接口:
ServletContextAttributeListener
ServletRequestListener

使用示例

会话计数监听

1.创建监听器。新建Class时指定class实现的接口(HttpSessionListener)

package listener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class Listener implements HttpSessionListener {
    private static int count=0;
    public void sessionCreated(HttpSessionEvent sessionEvent) {
        count++;
    }
    public void sessionDestroyed(HttpSessionEvent sessionEvent) {
        if(count>=1) count--;
    }
    public static int getcount(){
        return count;
    }

}

2.在web.xml中配置监听器

<listener>
    <listener-class>listener.Listener</listener-class>
   </listener>

3.显示页面:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="listener.Listener"%>
<html>
  <head>
  </head> 
  <body>
  <h4>欢迎<h4>
  <h2>当前在线人数:<%=Listener.getcount()%><h2>
  </body>
</html>

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值