Java Web高级特性之(二)监听器

原创 2015年04月24日 00:21:19

监听器的概念

web应用当中监听器是什么:

web应用服务器—>监听器<—>Session<—用户访问


定义:监听器是Servlet中的一种特殊类,用于监听ServletContext、HttpSession和ServletRequset等域对象的创建与销毁事件,以及监听这些域对象的属性发生修改的事件。

监听器可以在事件发生前、发生后做一些必要的处理。


监听器的用途

统计用户在线人数、在线用户

系统启动时加载初始化信息,如缓存、公共变量、数据库连接、定时器等等

统计网站访问量

跟Spring结合


监听器的启动顺序

Servlet2.5下是以web.xml中的配置顺序加载的;

Servlet3.0下没有办法制定顺序。

加载 顺序:

监听器>过滤器>Servlet


监听器的分类

按对象划分:

1.监听应用程序环境对象ServletContext

2.监听用户会话对象HttpSession

3.监听请求消息对象ServletRequset


按监听事件划分:

1.监听域对象自身的创建和销毁

每个Listener 两个事件处理方法:初始化、销毁

ServletContext ServletContextListener主要用途:定时器、全局属性对象

HttpSession HttpSessionListener 主要用途:统计在线人数、记录访问日志

ServletRequset ServletRequsetListener 主要用途:读取参数、记录访问历史

2.监听域对象的属性的增加和删除

每个AttributeListener三个事件处理方法:AttributeAdded(增加)、AttributeRemoved(删除)、AttributeReplaced(替换)

ServletContext ServletContextAttributeListener主要用途:定时器、全局属性对象

HttpSession HttpSessionAttributeListener主要用途:统计在线人数、记录访问日志

ServletRequset ServletRequsetAttributeListener主要用途:读取参数、记录访问历史

3.监听绑定到HttpSession域中的某个对象的状态

绑定—>解除绑定 绑定:session.setAttribute 解除绑定:session.removeAttribute

钝化—>活化 钝化:session对象持久化存储活化:将持久化的session从存储设备恢复到内存

session钝化机制:将服务器中不经常使用的session对象暂时序列化到系统文件系统或数据库系统中,当被使用时反序列化到内存中,整个过程由服务器自动完成。

HttpSessionBindingListener 绑定:valueBound方法解除绑定:valueUnbound方法

HttpSessionActivationListener 钝化:sessionWillPassivate方法活化:sessionDidActivate方法

这两个监听器不需要在web.xml注册


在Servlet3.0下的使用

@WebListener


监听器的实例

步骤:

1.创建一个实现监听器类接口的类

2.配置web.xml进行注册


一个简单的监听器,打印requset参数中参数名为name的参数值

public class MyServletRequestListener implements ServletRequestListener {

	@Override
	public void requestDestroyed( ServletRequestEvent arg0 ) {

	}

	@Override
	public void requestInitialized( ServletRequestEvent arg0 ) {
		System.out.println( arg0.getServletRequest().getParameter( "name" ) );
	}

}


web.xml中配置监听器
<listener>
		<listener-class>com.test.example.MyServletRequestListener</listener-class>
	</listener>


Java Web高级特性之(一)过滤器

过滤器的概念 过滤器是一个服务器端的组件,它可以截取用户端的请求与响应信息,并对这些信息过滤。 过滤器的工作原理 过滤器的生命周期 过滤器的API 多个过滤器下的应用 过滤器的分类 S...

Java Web高级特性之(三)拦截器

拦截器在在流行的开源框架中很常见,依赖的技术就是Java的动态代理。 用在面向切面编程,动态代理就是拦截器的简单实现。 AOP(Aspect Oriented Programming)...

java web 高级特性 张孝祥 part6

  • 2008年10月22日 22:20
  • 7.77MB
  • 下载

java web 高级特性 张孝祥 part5

  • 2008年10月22日 22:16
  • 19.07MB
  • 下载

Java web 监听器

1.Web监听器的创建 创建一个Listener(实现ServletContextListener)->配置web.xml 2.监听器启动顺序 1)一个web.xml下的多个监听器:按配置的顺序...

java web 高级特性 张孝祥 part2

  • 2008年10月10日 11:02
  • 19.07MB
  • 下载

java web中的监听器的基础知识

(1)监听器定义: java监听器: 1.是web规范中定义的一种特殊的类。 2.用于监听ServletContext、HttpSession和ServletRequest等域对象的创建与销毁事件...

java web 监听器详解

一、监听器原理: 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行。   简单的...

使用监听器实现Java Web的定时执行

定时器GoogleListener类: import java.util.Timer;//定时器类 import javax.servlet.ServletContextEvent; imp...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java Web高级特性之(二)监听器
举报原因:
原因补充:

(最多只允许输入30个字)