ServletContextListener监听器,HttpSession监听器,ServletRequestListener监听器的使用

本文介绍了在Servlet环境中如何使用ServletContextListener、HttpSessionListener和ServletRequestListener监听器。ServletContextListener用于监听ServletContext的创建和销毁,通过实现接口并在web.xml配置。HttpSession对象在调用getSession()时创建,可因服务器关闭、过期或手动销毁。ServletRequestListener则在每次客户端请求时创建,响应后销毁。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



ServletContextListener监听器的使用



使用
ServletContextListener监听器监听ServletContext的创建和销毁的实现思路是怎样的?

1、创建监听器类实现ServletContextListener接口,重新接口的所有方法。

package com.web.demo02;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
/**
 * 
 * @author 坏坏实现小目标
 *	
 *	ServletContextListenerTest监听器
 *事件源:ServletContext
 *监听器:ServletContextListenerTest
 *事件源和监听器绑定:监听的是创建和销毁,通过配置来创建
 *
 */
public class ServletContextListenerTest implements ServletContextListener{

	@Override
	//监听ServletContext对象的创建
	public void contextInitialized(ServletContextEvent sce) {
		// TODO Auto-generated method stub
		System.out.println("服务器启动了");
		
		sce.getServletContext().setAttribute("count1",0);
		
	}
	
	
	//监听ServletContext对象的销毁
	@Override
	public void contextDestroyed(ServletContextEvent sce) {
		// TODO Auto-generated method stub
		System.out.println("服务器销毁了");
	}

}



2、将事件源和监听器进行绑定。(在web.xml中配置监听器就行了)

  <listener>
  <listener-class>com.web.demo02.HttpAtttibteListenerTest</listener-class>
  </listener>
  



HttpSession对象在什么时候创建和销毁?

分别访问htmljspServlet是否会创建HttpSession对象?

1、HttpSession对象的创建和销毁:

a)      创建:在服务器端第一次调用getSession()方法是创建

b)     销毁:①、非正常关闭服务器时销毁session(正常关闭服务器,session会被序列化到硬盘);②、session过期;③、手动调用HttpSession的方法销毁session。

2、访问html:不会创建HttpSession对象;访问jsp:会创建HttpSession对象(HttpSession对象时jsp的内置对象,jsp在被翻译成Servlet时调用了getSession()方法);访问Servlet:默认不会创建HttpSession对象。



ServletRequestListener监听器的使用

ServletRequest对象在什么时候创建和销毁?

ServletRequestListener作用是:监听ServletRequest对象的创建和销毁;

ServletRequest创建时机:当客户端向服务器发送一次请求时创建

ServletRequest销毁时机:服务器对客户端作出相应之后销毁。





ServletContextListener监听器的使用



使用
ServletContextListener监听器监听ServletContext的创建和销毁的实现思路是怎样的?

1、创建监听器类实现ServletContextListener接口,重新接口的所有方法。

package com.web.demo02;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
/**
 * 
 * @author 坏坏实现小目标
 *	
 *	ServletContextListenerTest监听器
 *事件源:ServletContext
 *监听器:ServletContextListenerTest
 *事件源和监听器绑定:监听的是创建和销毁,通过配置来创建
 *
 */
public class ServletContextListenerTest implements ServletContextListener{

	@Override
	//监听ServletContext对象的创建
	public void contextInitialized(ServletContextEvent sce) {
		// TODO Auto-generated method stub
		System.out.println("服务器启动了");
		
		sce.getServletContext().setAttribute("count1",0);
		
	}
	
	
	//监听ServletContext对象的销毁
	@Override
	public void contextDestroyed(ServletContextEvent sce) {
		// TODO Auto-generated method stub
		System.out.println("服务器销毁了");
	}

}



2、将事件源和监听器进行绑定。(在web.xml中配置监听器就行了)

  <listener>
  <listener-class>com.web.demo02.HttpAtttibteListenerTest</listener-class>
  </listener>
  



HttpSession对象在什么时候创建和销毁?

分别访问htmljspServlet是否会创建HttpSession对象?

1、HttpSession对象的创建和销毁:

a)      创建:在服务器端第一次调用getSession()方法是创建

b)     销毁:①、非正常关闭服务器时销毁session(正常关闭服务器,session会被序列化到硬盘);②、session过期;③、手动调用HttpSession的方法销毁session。

2、访问html:不会创建HttpSession对象;访问jsp:会创建HttpSession对象(HttpSession对象时jsp的内置对象,jsp在被翻译成Servlet时调用了getSession()方法);访问Servlet:默认不会创建HttpSession对象。



ServletRequestListener监听器的使用

ServletRequest对象在什么时候创建和销毁?

ServletRequestListener作用是:监听ServletRequest对象的创建和销毁;

ServletRequest创建时机:当客户端向服务器发送一次请求时创建

ServletRequest销毁时机:服务器对客户端作出相应之后销毁。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值