JavaWeb开发——servlet监听器 listener
Posted yinyanlei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb开发——servlet监听器 listener相关的知识,希望对你有一定的参考价值。
一、Servlet监听器的概念
Servlet监听器是Servlet规范中定义的一种特殊类,用于监听ServletContext、HttpSession和ServletRequest等域对象的创建与销毁事件,
以及监听这些域对象中属性发生修改的事件。
监听对象:
1、ServletContext:application,整个应用只存在一个
2、HttpSession:session,针对每一个对话
3、ServletRequest:request,针对每一个客户请求
监听内容:创建、销毁、属性改变事件
监听作用:可以在事件发生前、发生后进行一些处理,一般可以用来统计在线人数和在线用户、统计网站访问量、系统启动时初始化信息等。
二、监听器的基本使用
创建步骤:
1、创建一个实现监听器接口的类
2、配置web.xml文件,注册监听器
<listener> <listener-class>完整路径名</listener-class> </listener>
监听器的启动顺序:按照web.xml的配置顺序来启动
加载顺序:监听器>过滤器>Servlet
三、监听器的分类
3.1 按照监听的对象划分
1、用于监听应用程序环境对象(ServletContext)的事件监听器,实现ServletContextListener、ServletContextAttributeListener接口
2、用于监听用户会话对象(HttpSeesion)的事件监听器,实现HttpSessionListener、HttpSessionAttributeListener接口
3、用于监听请求消息对象(ServletRequest)的事件监听器,实现ServletRequestListener、ServletRequestAttributeListener接口
3.2按照监听事件划分
根据监听对象不同分别实现ServletContextListener、HttpSessionListener、ServletRequestListener接口。
在web.xml中可以配置项目初始化信息
<context-param> <param-name>属性名</param-name> <param-value>属性值</param-value> </context-param>
自定义监听器
public class MyFirstListener implements ServletContextListener{ public void contextInitialized(ServletContextEvent sce){ //获取web.xml中配置的属性 String value=sce.getServletContext().getInitParameter("属性名"); System.out.println(value); } public void contextDestroyed(ServletContextEvent sce){ //关闭时操作 } }
web.xml配置session超时参数,单位:分,session超时的时间并不是精确的
<session-config>
<session-timeout>10</session-timeout>
</session-config>
以上是关于JavaWeb开发——servlet监听器 listener的主要内容,如果未能解决你的问题,请参考以下文章
JavaWeb学习 (二十七)————监听器(Listener)在开发中的应用
javaweb学习总结(四十七)——监听器(Listener)在开发中的应用