Servlet-监听器Listener
来源:互联网 发布:蔬菜交易软件 编辑:程序博客网 时间:2024/04/30 22:27
Servlet-监听器Listener
sf2gis@163.com
2015年9月17日
1 目标:监听Web应用的各种事件,如生命周期,属性变化等。
2 原理:特殊的Servlet,在应用中某些事件发生时发出消息。
3 流程:配置Listener,响应事件。
4 方法:web.xml配置Listener
4.1 配置:在<Listerner>标签中,设置listener-class指定实现类。
4.2 响应事件:实现不同的接口,以响应不同的事件。包括应用、请求、session。
4.3 示例:监听请求的生命周期。
//web.xml
<?xmlversion="1.0" encoding="ISO-8859-1"?>
<!--
Licensed to the Apache Software Foundation(ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional informationregarding copyright ownership.
The ASF licenses this file to You under theApache License, Version 2.0
(the "License"); you may not usethis file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreedto in writing, software
distributed under the License is distributedon an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,either express or implied.
See the License for the specific languagegoverning permissions and
limitations under the License.
-->
<web-appxmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true">
<listener>
<listener-class>lee.ResponseListener</listener-class>
</listener>
</web-app>
//ResponseListener.java
package lee;
importjavax.servlet.ServletRequestEvent;
importjavax.servlet.ServletRequestListener;
importjavax.servlet.annotation.WebListener;
/**
* Application Lifecycle Listenerimplementation class ResponseListener
*
*/
@WebListener
public class ResponseListenerimplements ServletRequestListener {
/**
* Default constructor.
*/
public ResponseListener() {
// TODO Auto-generated constructor stub
}
/**
* @seeServletRequestListener#requestDestroyed(ServletRequestEvent)
*/
public voidrequestDestroyed(ServletRequestEvent arg0) {
// TODO Auto-generated method stub
System.out.println("Finishreq="+arg0);
}
/**
* @seeServletRequestListener#requestInitialized(ServletRequestEvent)
*/
public voidrequestInitialized(ServletRequestEvent arg0) {
// TODO Auto-generated method stub
System.out.println("Startreq="+arg0);
}
}
//catalina.out
Startreq=javax.servlet.ServletRequestEvent[source=org.apache.catalina.core.ApplicationContextFacade@23848630]
Finishreq=javax.servlet.ServletRequestEvent[source=org.apache.catalina.core.ApplicationContextFacade@23848630]
5 方法:注记配置Listener
目标:简化配置Listener。
原理:容器识别注记。
流程:在web.xml中启用注记。生成处理类。设置注记。
方法:增加@WebListener
示例:监听请求
//处理类:ResponseListener.java
package lee;
import java.util.Date;
importjavax.servlet.ServletRequestEvent;
importjavax.servlet.ServletRequestListener;
importjavax.servlet.annotation.WebListener;
importjavax.servlet.http.HttpSessionEvent;
importjavax.servlet.http.HttpSessionListener;
/**
* Application Lifecycle Listenerimplementation class ResponseListener
*
*/
@WebListener
public class ResponseListenerimplements ServletRequestListener {
/**
* Default constructor.
*/
public ResponseListener() {
// TODO Auto-generated constructor stub
}
/**
* @seeServletRequestListener#requestDestroyed(ServletRequestEvent)
*/
public voidrequestDestroyed(ServletRequestEvent arg0) {
// TODO Auto-generated method stub
System.out.println("Finishreq="+arg0);
}
/**
* @seeServletRequestListener#requestInitialized(ServletRequestEvent)
*/
public voidrequestInitialized(ServletRequestEvent arg0) {
// TODO Auto-generated method stub
System.out.println("Startreq="+arg0);
}
}
//结果:a.jsp请求
- Servlet 监听器Listener
- Servlet监听器 Listener
- Servlet之Listener监听器
- Servlet之Listener监听器
- Servlet之监听器Listener
- Servlet-监听器Listener
- servlet监听器Listener
- Servlet监听器listener
- Servlet的监听器Listener
- Servlet监听器(Listener)
- Listener是Servlet的监听器
- Servlet Listener——监听器
- Servlet的监听器Listener(流量统计)
- j2ee中Servlet的八大Listener监听器
- Servlet——监听器Listener详解
- Servlet笔记(五)监听器Listener
- Listener监听器
- Listener监听器
- 工作周报060
- 关于高德等集成的打包keystore与联调keystore
- 产品经理必须陪程序员加班吗?
- 2568:前进
- Canny边缘检测原理
- Servlet-监听器Listener
- 集成项目经理在工作中的常见改进点
- spring data jpa使用二级缓存
- IE6 CSS Fixed 固定位置 防闪屏
- 如何让一个程序员变成产品经理?
- Servlet-模块化开发web fragment
- WAV文件格式分析
- 黑马程序员--protocol代理模式
- android图像图像处理——自定义组件的属性