一、过滤器
- 过滤器
1.1过滤器
1.1.1什么是过滤器
*过滤器是Servlet2.3规范中定义的一种小型的、可插入的Web组件。用来拦截Servlet容器的请求和响应过程,以便查看、提取或某种方式操作正在客户机和服务器之间交换的数据
*过滤器通常是封装了一些功能的Web组件,这些功能很重要,但对于处理客户端请求或发送响应来说不是决定性的
*典型的应用包括记录请求和响应的数据、管理会话属性等
1.1.2如何编写过滤器
1>编写一个java类,实现Filter接口
2>在doFilter方法中实现拦截处理逻辑
3>将过滤器添加到Web程序中
4>把过滤器和Web应用一起打包部署
1.1.3编写一个java类实现Filter接口
1>编写一个java类实现Filter接口
-过滤器API中有3个常用的接口,位于javax.Servlet包中
-Filter、FilterChain、FilterConfig
-编程中,过滤器类要实现Filter接口
-该接口中包含三个必须实现的方法
-
-
- 实现拦截处理逻辑
-
-
-
- 将过滤器添加到Web应用中
-
1.1.6过滤器和Web应用一起打包部署
*与Web应用程序一起部署过滤器时,只需把过滤器类和其他Web组件类包括在一起,把web.xml文件(连同过滤器注册)放进Web应用程序结构中,Servlet容器将处理之后的其他所有事情
1.1.7过滤器的执行流程
1.1.8过滤器的优先级
*如果有多个过滤器都满足过滤的条件,则容器依据<filter-mapping>的先后顺序来调用各个过滤器
1.1.9多个过滤器的执行流程
1.1.10 过滤器的初始化参数
*容器启动后,后创建过滤器实例
*接下来,容器会调用过滤器的init方法,而容器会事先创建FilterConfig对象,该对象可访问在web.xml文件中配置的一些参数
*这些在web.xml文件中存储,由FilterConfig对象读取,在执行init方法时能够访问的参数值,叫初始化参数
*通过这些初始化参数可方便快捷的配置及修改一些辅助参数
1.1.11初始化参数的配置
1.1.12读取初始化参数
*使用FilterConfig对象可读取在web.xml中配置的初始化参数
1.1.13过滤器的优点
二、监听器
1. 监听器
1.1什么是监听器
*Servlet规范中定义的一种特殊的组件,用来监听Servlet容器产生的事件并进行相应的处理
*容器产生的两大类事件
-生命周期相关的事件
-绑定数据相关的事件
1.1.2生命周期相关的事件
*容器创建或销毁request,session,ServletContext时产生的事件
1.1.3绑定数据相关的事件
*调用了request,session,ServletContext的setAttribute、removeAttribure方法时产生的事件
1.1.4如何编写监听器
*step1,编写一个Java类,依据监听的事件类型选择实现响应的监听器接口。如,要监听Session对象的创建和销毁,要实现HttpSessionListener
*step2,在监听器接口方法中,实现响应的监听处理逻辑
*step3,在web.xml文件中注册该监听器
1.1.5编写java类
1.1.6实现处理逻辑
1.1.7注册监听器
*在web.xml文件中,增加以下节点:
1.1.8应用场景