Java web application——Listener
2024-09-01 17:54:12
应用程序事件提供ServletContext和HttpSession以及ServletRequest对象状态更改的通知,用户编写响应状态更改的事件监听器类,并配置和部署他们。Servlet容器会调用事件监听器中的方法
监听器实例和线程
在将第一个请求执行到应用程序之前,容器要完成监听器类的实例化,并维护监听器类的实例直到处理完最后一个请求为止
Servlet上下文和HTTP对话的属性改变可能同时发生,但是容器不需要将这些通知同步到监听器之间,监听器类负责维持数据的完整性并明确地处理这种情况
不同监听器的作用
- Servlet上下文监听类用于管理应用程序JVM层级上的资源和状态
- Http会话的监听器类用于管理和进入Web应用程序的请求有关的资源和状态,这些请求来自同一客户端
- Servlet请求监听器用于管理贯穿于servlet请求生命周期的状态
- 异步监听器用于管理异步事件比如超时或者异步过程的完成
流程:
- 用户创建一个实现其中一个侦听器接口的事件侦听器类。
- 此实现在部署描述符中注册。
- 在部署时,servlet容器构造事件侦听器类的实例。(这就是公共构造函数必须存在的原因,如编写事件监听器类中所述。)
- 在运行时,servlet容器调用侦听器类的实例。
事件类型和监听器接口
事件监听器的配置
- 在Web.xml用<listener>配置
- 按照他们被调用的顺序注册
- 必须直接跟在 <filter> and <filter-mapping>后面
- 必须直接在<servlet>前面
编写事件监听类
- 实现一个或多个指定的接口
- 必须含有一个公开的无参构造函数
- 放在classes文件夹中或是打包成jar放到lib文件夹中
- 接收的类:
- javax.servlet.http.HttpSessionEvent提供对HTTP会话对象的访问
- javax.servlet.ServletContextEvent提供对servlet上下文对象的访问。
- javax.servlet.ServletContextAttributeEvent提供对servlet上下文及其属性的访问
- javax.servlet.http.HttpSessionBindingEvent提供对HTTP会话及其属性的访问
最新文章
- python推荐淘宝物美价廉商品
- 浏览器禁止js打开新窗口
- Hadoop阅读笔记(四)——一幅图看透MapReduce机制
- SDWebImage原理及使用
- 金蝶EAS常用表
- JSAPI_Ticket签名
- [C++]不能被继承的类
- SASS -- 基本认识
- windows“画图”工具用法
- Cocos2d-x发展---更改父的颜色、透明度的子节点上
- 朴素UNIX它-Linux CFS注视
- pyparsing:定制自己的解析器
- BZOJ 2055: 80人环游世界 [上下界费用流]
- centos6.9 开机进入grub界面问题解决
- ASP.NET Core2.2 多用户验证和授权
- (1) 安卓导入mqtt包基本通信
- 前台返回json数据的常用方式+常用的AJAX请求后台数据方式
- 【emWin】例程十一:GIF图像显示
- WCF利用Stream上传大文件
- python第三十一课--递归(2.遍历某个路径下面的所有内容)