JSP详细篇——Servlet监听器

来源:互联网 发布:javascript java 编辑:程序博客网 时间:2024/05/17 12:06

Servlet监听器

1.Servlet监听器简介

 

监听器的作用是监听Web容器的有效期事件,因此他是由容器管理的。利用Listener接口监听在容器中的某个执行程序,并根据应用程序的需求做出适当的响应。

Listener接口和Event

Listener接口

Event

ServletContextListener

ServletContextEvent

ServletContextAttributeListener

ServletContextAttributreEvent

HttpSessionListener

HttpSessionEvent

HttpSessionActivationListener

HttpSessionAttributeListener

HttpSessionBindingEvent

HttpSessionBindingListener

ServletRequestListener

ServletRequestEvent

ServletRequestAttributeListener

ServletRequestAttributeEvent

 

2.Servlet上下文监听

Servlet上下文监听可以监听ServletContext的创建、删除及属性的添加、删除、修改。该监听器需要用到两个接口:

(1)ServletContextListener接口

 

该接口位于javax.servlet包内,主要实现监听器ServletContext的创建和删除。ServletContextListener接口提供了两个方法,他们被成为“Web应用程序的生命周期方法”。

下面分别介绍这两个方法:

contextInitialized(ServletContextEvent event):通知正在收听的对象,应用程序已经加载及初始化。

 

contextDestroyed(ServletContextEvent event):通知正在收听的对象,应用程序已经被载出,即关闭。

 

(2)ServletAttributeListener接口

 

该接口位于javax.servlet包内,主要实现监听器ServletContext属性的增加、删除、修改。ServletAttributeListener接口提供了一下3个方法:

 

attributeAdd(ServletContextAttributeEvent event):当有对象加入application的范围时,通知正在收听的对象

 

attributeReplaced(ServletContextAttributeEvent event):当在application的范围有对象取代另一个对象时,通知正在收听的对象

 

attributeRemoved(ServletContextAttributeEvent event):当有对象从application的范围移除时,通知正在收听的对象。

范例:

创建监听器

package com.zgy.listener;

 

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

 

public class MyListener implements ServletContextListener {

 

@Override

public void contextDestroyed(ServletContextEvent event) {

// TODO Auto-generated method stub

 

}

 

@Override

public void contextInitialized(ServletContextEvent event) {

// TODO Auto-generated method stub

 

}

 

}

 

web.xml中配置监听器

<listener>

<listener-class>com.zgy.listener.MyListener</listener-class>

</listener>




0 0