IT兄弟连 JavaWeb教程 监听器2
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了IT兄弟连 JavaWeb教程 监听器2,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4445字,纯文字阅读大概需要7分钟。
内容图文
4 监听HttpSession域对象的创建和销毁
HttpSessionListener接口用于监听HttpSession对象的创建和销毁。
创建一个Session时,激发sessionCreate(HttpSessionEvent event)方法。
销毁一个Session时,激发sessionDestroyed(HttpSessionEvent event)方法。
范例:编写一个MyHttpSessionListener类,实现HttpSessionListener接口,监听HttpSession对象的创建和销毁。
● 编写监听器,代码如下:
package com.xdl.listener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
/**
* MyHttpSessionListener类实现了HttpSessionListener接口
* 因此可以对HttpSession对象的创建和销毁这两个动作进行监听
*/
public class MyHttpSessionListener implements HttpSessionListener {
@Override
public void sessionCreated(HttpSessionEvent event) {
System.out.println(event.getSession() + "创建了");
System.out.println("session id是:" + event.getSession().getId());
}
@Override
public void sessionDestroyed(HttpSessionEvent event) {
System.out.println("session销毁了");
}
}
● 在web.xml文件中注册监听器
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<listener>
<description>HttpSessionListener监听器</description>
<listener-class>com.xdl.listener.MyHttpSessionListener</listener-class>
</listener>
<!-- 配置HttpSession对象的销毁时机 -->
<session-config>
<!-- 配置HttpSession对象1分钟之后销毁 -->
<session-timeout>1</session-timeout>
</session-config>
</web-app>
当我们访问JSP页面时,HttpSession对象就会创建,此时就可以在HttpSessionListener观察到HttpSession对象的创建过程了,我们可以写一个JSP页面观察HttpSession对象创建的过程。
● 编写index.jsp,详细代码如下
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>兄弟连IT教育</title>
</head>
<body>
<h1>HttpSessionListener监听器监听HttpSession对象的创建</h1>
访问JSP页面时,HttpSession就创建了,创建好的Session的id是:${pageContext. session.id }
</body>
</html>
启动Tomcat服务器,使用浏览器访问localhsot:8080/XDL/index.jsp,控制台中将显示如图7所示的信息。
图7 控制台打印了创建Session的信息
在浏览器中,将显示如图8所示的页面。
图8 浏览器中显示的页面
等待一分钟后,可以在Eclipse的控制台中发现session销毁也被监听到了。如图9所示。
图9 控制台中打印了Session被销毁的信息
监听ServletRequest域对象的创建和销毁
ServletRequestListener接口用于监听ServletRequest对象的创建和销毁。
Request对象被创建时,监听器的requestInitialized(ServletRequestEvent event)方法将会被调用。
Request对象被销毁时,监听器的requestDestroyed(ServletRequestEvent event)方法将会被调用。
ServletRequest域对象创建和销毁时机:
创建:用户每一次访问都会创建request对象。
销毁:当前访问结束,request对象就会销毁。
范例:编写一个MyServletRequestListener类,实现ServletRequestListener接口,监听ServletRequest对象的创建和销毁。
● 编写监听器,代码如下:
package com.xdl.listener;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
/**
* MyServletRequestListener类实现了ServletRequestListener接口
* 因此可以对ServletRequest对象的创建和销毁这两个动作进行监听
*/
public class MyServletRequestListener implements ServletRequestListener {
@Override
public void requestDestroyed(ServletRequestEvent event) {
System.out.println(event.getServletRequest() + "销毁了");
}
@Override
public void requestInitialized(ServletRequestEvent event) {
System.out.println(event.getServletRequest() + "创建了");
}
}
● 在web.xml文件中注册监听器
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<listener>
<description>ServletRequestListener监听器</description>
<listener-class>com.xdl.listener.MyServletRequestListener</listener-class>
</listener>
</web-app>
打开Tomcat服务器,当第一次访问index.jsp文件时,Eclipse控制台输出如图10所示的信息。
10 控制台输出了request创建和销毁的信息
点击浏览器的刷新按钮,再次访问index.jsp文件时,Eclipse控制台输出如图11所示的信息。
图11 控制台再次输出了request创建和销毁的信息
从运行结果可以看到,用户每一次访问都会创建request对象,当次访问结束后,request对象就会销毁。
内容总结
以上是互联网集市为您收集整理的IT兄弟连 JavaWeb教程 监听器2全部内容,希望文章能够帮你解决IT兄弟连 JavaWeb教程 监听器2所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。