过滤器和监听器
2015-09-08 22:19
323 查看
过滤器和监听器
过滤器
什么是过滤器
一种可以拦截请求和响应,并且可以做出一些修改或判断功能的可插拔组件。如何编写过滤器
编写一个实现Filter接口的类注册过滤器
/** * 在容器启动时,容器会立即创建Filter的实例, * 创建实例后,会把已经准备好的FilterConfig对象传给init方法 * 只调用一次init方法 * * 通过FilterConfig可以获取到配置文件中有关过滤器的一些初始化参数 */ public void init(FilterConfig config) throws ServletException {} /** * doFilter用于设置过滤的具体逻辑 * 该方法有三个参数: * request: 拦截请求时截获的请求对象,即request对象 * response: 与拦截的请求对应的响应对象,即response对象 * chain: 过滤器链对象(FilterChain),该对象可以决定请求传给后序的servlet还是直接提供响应 */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {} /** * 当容器销毁过滤器实例时调用的方法,只调用一次 */ public void destroy() {}
过滤器的优先级
当存在多个过滤器时,执行过滤器的顺序以Filter-mapping的顺序为准过滤器初始化参数
在注册过滤器节点中,添加< init-param>节点来设置初始化参数,在过滤器中使用FilterConfig对象就可以获取配置的初始化参数值当请求执行结束后,响应在回到客户端以前,还需要再执行一遍过滤器,执行所有doFilter()方法后面的代码段.如果有多个过滤器时,后面的过滤器先执行
获取servletContext的四种方法
Servlet–>GenericSerlvet–>HttpServlet1. GenericServlet对象的 getServletContext()
2. HttpSession 对象的 getServletContext()
3. ServletCongfig 对象的 getServletContext()
4. FilterConfig 对象的 getServletSontext()
相关文章推荐
- jQuery plugin items filter
- 全国哀悼日网站页面变成灰色的filter方法
- 用css filter做鼠标滑过图片效果
- ASP 使用Filter函数来检索数组的实现代码
- ASP.NET MVC:Filter和Action的执行介绍
- JSP Filter的应用方法
- PHP中实现Bloom Filter算法
- Jquery find与filter函数区别 说明
- PHP内置过滤器FILTER使用实例
- PHP中filter函数校验数据的方法详解
- javascipt:filter过滤介绍及使用
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- 跟老齐学Python之大话题小函数(2)
- Python中的特殊语法:filter、map、reduce、lambda介绍
- Python过滤函数filter()使用自定义函数过滤序列实例
- Python中的map、reduce和filter浅析
- Android解析Intent Filter的方法
- Python内置函数之filter map reduce介绍
- Filter的好处以及用途
- 使用PHP自带的filter函数进行数据校验