兄弟连2java_IT兄弟连 JavaWeb教程 监听器2

原标题:IT兄弟连 JavaWeb教程 监听器2

b9e8cec613dc9716f0d8122c5f53fa7a.png

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文件中注册监听器

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">

HttpSessionListener监听器

com.xdl.listener.MyHttpSessionListener

1

当我们访问JSP页面时,HttpSession对象就会创建,此时就可以在HttpSessionListener观察到HttpSession对象的创建过程了,我们可以写一个JSP页面观察HttpSession对象创建的过程。

● 编写index.jsp,详细代码如下

pageEncoding="UTF-8"%>

兄弟连IT教育

HttpSessionListener监听器监听HttpSession对象的创建

访问JSP页面时,HttpSession就创建了,创建好的Session的id是:${pageContext. session.id }

启动Tomcat服务器,使用浏览器访问localhsot:8080/XDL/index.jsp,控制台中将显示如图7所示的信息。

be224919ce33b5c0ea83602c434389af.png

图7 控制台打印了创建Session的信息

在浏览器中,将显示如图8所示的页面。

aa40ab8f512d1991066bb9500d56426d.png

图8 浏览器中显示的页面

等待一分钟后,可以在Eclipse的控制台中发现session销毁也被监听到了。如图9所示。

633c54a574cb45fdb34aa2b15192706b.png

图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文件中注册监听器

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">

ServletRequestListener监听器

com.xdl.listener.MyServletRequestListener

打开Tomcat服务器,当第一次访问index.jsp文件时,Eclipse控制台输出如图10所示的信息。

703f2be03f0bc6513988c37f42b0017d.png

10 控制台输出了request创建和销毁的信息

点击浏览器的刷新按钮,再次访问index.jsp文件时,Eclipse控制台输出如图11所示的信息。

9a26b73134a3d39a7cafed9821f0dad6.png

图11 控制台再次输出了request创建和销毁的信息

从运行结果可以看到,用户每一次访问都会创建request对象,当次访问结束后,request对象就会销毁。返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值