JavaWeb中的监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext, HttpSession和 ServletRequest等域对象的创建与销毁事件,以及监听这些域对象中的属性发生修改的事件。
ServletRequestListener接口用于监听ServletRequest 对象的创建和销毁
Request对象被创建时,requestInitialized(ServletRequestEvent sre)方法将会被调用
Request对象被销毁时, requestDestroyed(ServletRequestEvent sre)方法将会被调用
1、 编写监听ServletRequest域对象的创建和销毁的源代码
实现ServletRequestListener接口,监听ServletRequest对象的创建和销毁
package com.servlet.listener;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
/**
* 简单实现ServletRequestListener接口,可以对ServletRequest对象的创建和销毁这两个动作进行监听。
* @author 范芳铭
*/
public class EasyServletRequestListener implements ServletRequestListener {
@Override
public void requestInitialized(ServletRequestEvent sre) {
System.out.println("-----------" + sre.getServletRequest() + ",ServletRequest创建");
}
@Override
public void requestDestroyed(ServletRequestEvent sre) {
System.out.println("-----------" + sre.getServletRequest() + ",ServletRequest销毁");
}
}
2、 修改web.xml
<listener>
<description>ServletRequestListener监听器</description>
<!--实现了ServletRequestListener接口的监听器类 -->
<listener-class>com.servlet.listener.EasyServletRequestListener</listener-class>
</listener>
3、 测试用的index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<!DOCTYPE HTML>
<html>
<head>
<title>My JSP ‘index.jsp‘ starting page</title>
</head>
<body>
This is my JSP page。
<br>
访问JSP页面,HttpSession创建后的Id是:${pageContext.session.id}
</body>
</html>
4、 运行结果
启动WEB中间件,从URL访问:
http://127.0.0.1:8080/webStudy/index.jsp
控制台输入结果:
———–[email protected],ServletRequest创建
——-o[email protected],HttpSession对象创建
———–[email protected],ServletRequest销毁
时间: 2024-10-27 06:20:49