Filter与Servlet的区别和联系
2015-06-05 10:16
211 查看
Filter | Servlet | |
接口 | 实现Filter接口 | 实现Servlet接口 |
使用步骤 | 1、创建类,继承接口 2、实现方法 init() doFilter() destroy() 3、配置WEB-INF/web.xml | 1、创建类,继承接口 2、实现方法 init() service() destroy() getServletConfig() getServletInfo() 3、配置WEB-INF/web.xml |
初始化时间 | Servlet容器启动之后即初始化 | Servlet类被调用之后初始化、先于Filter调用。 初始化可以在容器启动后被调用但需要配置。 |
调用顺序 | 1. 按照web.xml中的映射配置顺序按照配置条件从后向前调用 2. 层次调用doFilter()方法中FilterChain.doFilter()之前的内容 3. 调用Servlet中的service()方法 4. service方法执行完毕后,层次调用doFilter()中FilterChain.doFilter()之后的方法,顺序与之前的相反 | 按照web.xml中的映射配置顺序按照配置条件从后向前调用第一个满足条件的Servlet,调用之前事先执行满足条件的Filter,不存在层次调用Servlet问题 |
销毁 | 服务器停止后销毁,晚于Servlet销毁之后 | 服务器停止后销毁 |
作用 | 1. 在HttpServletRequest到达Servlet之前,拦截客户的HttpServletRequest。 2. 根据需要检查HttpServletRequest,也可以修改HttpServletRequest头和数据。 3. 在HttpServletResponse到达客户端之前,拦截HttpServletResponse。 4. 根据需要检查HttpServletResponse,也可以修改HttpServletResponse头和数据。 | 主要是处理客户端的请求并将其结果发送到客户端。 |
相关文章推荐
- 做为一个Java程序员,你需要哪些傍身的技能?
- Struts2 请求处理步骤
- 关于 Java 中 finally 语句块的深度辨析
- Java Web 中 过滤器与拦截器的区别
- 两年没写博了。。现在开始我要重新写了。。
- 求质数的算法,用筛法得出某数以内的质数
- CodeForces484A Bits(贪心)
- 黑马程序员--java基础知识点总结
- ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
- 升级成iOS8后程序不能定位的问题解决
- 线性同余方程初步应用分析
- JAVA之StringBuffer与StringBuilder
- sparkR介绍及安装
- SpringMVC学习系列(3) 之 URL请求到Action的映射规则
- sed直接替换文件内容
- 委比、委差、买一买二买三买四买五
- jQuery实现图片延迟加载
- 16. 3Sum Closest
- IOS开发系列--学习资料整理
- Java NIO系列教程(九) ServerSocketChannel