监听器技术

来源:互联网 发布:java除法取整 编辑:程序博客网 时间:2024/05/21 17:08

监听器

监听器是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>

这里写图片描述