JavaWeb_监听域对象创建和销毁的Listener1一d对象

1简介

监听器:专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被见识的对象发生情况时,立即采取相应的行动。
Servlet监听器:Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext、HttpSession和ServletRequest等域对象
的创建和销毁事件,以及监听这些域对象中的属性发生修改的事件。

2分类

按监听的事件类型Servlet监听器可分为如下三种:
--监听域对象自身创建和销毁的事件监听器
--监听域对象的属性的增加和删除的事件监听器
--监听绑定到 HttpSession域中的某个对象的状态的事件监听器
①域对象的创建和销毁
即ServletContext,HttpSession,HttpServletRequest这三个对象的创建和销毁事件的监听器。
其对象创建和销毁时机:
Servlet:web服务器启动时为每个web应用程序创建相应的ServletContext对象 || web服务器关闭时为每个web应用程序销毁相应对象
HttpSession:  浏览器开始与服务器会话时创建   ||     调用HttpSession.invalidate();超过最大有效时间,服务器进程被停止
ServletRequest:  每次请求开始时创建     ||     每次访问结束后销毁

ServletContextListener接口:
用于监听ServletContext对象的创建和销毁
当被创建时,激发contextInitialized(ServletContextEvent sce)方法
当被销毁时,激发contextDestoryed(ServletContextEvent sce)方法
HttpSessionListener 接口
     创建一个Session时,激发sessionCreated (HttpSessionEvent se) 方法
销毁一个Session时,激发sessionDestroyed (HttpSessionEvent se) 方法。   
ServletRequestListener接口:
创建一个ServletRequest 对象时,激发requestInitialized(ServletRequestEvent sre)方法
销毁一个Session时,激发requestDestroyed(ServletRequestEvent sre)方法
实现Listener接口:
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
/**
 *该Listener 可帮助我们进行web应用初始化
 * @author hcx
 * 应用:创建数据库连接池,创建Spring的IOC容器,读取当前web应用初始化参数
 */
public class HelloServletContextListener implements ServletContextListener {

	public void contextDestroyed(ServletContextEvent arg0) {
		System.out.println("ServletContext Destroyed 销毁");

	} 

	public void contextInitialized(ServletContextEvent arg0) {
		 System.out.println("ServletContext initilized");

	}

}

    在web.xml中配置Listener:
<pre name="code" class="html"><?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

 <login-config>
  <auth-method>BASIC</auth-method>
 </login-config>
 <!-- 配置监听器  -->
 <listener>
 	<listener-class>com.hcx.Listener.HelloServletContextListener</listener-class>
 </listener>
</web-app>

 
 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值