Filter与Servlet的区别和联系
2016-02-21 00:00
405 查看
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头和数据。 | 主要是处理客户端的请求并将其结果发送到客户端。 |
相关文章推荐
- Filter的执行顺序与实例
- Java Web开发总结
- ssh 远程登陆 refuse
- LINUX基础
- 2016年2月22日-2月26日工作计划
- Linux安装Tomcat
- Tomcat部署Web应用方法总结
- iOS内存泄漏的常见情况
- Head First C学习日志 第六章用堆进行动态存储
- Android批量打包(Eclipse开发工具)
- html乱码原因与网页乱码解决方法
- 个人总结之SpannableString,处理textview不同样式
- 进程与线程的一个简单解释
- 个人总结之ec下混淆
- java 基础-线程(一)
- ContentProvider:自定义的应用
- SqliteOpenHelper封装的增删改查方法(16)
- 跨应用访问自己定义的ContentProvider,用SearchView搜索关键字(16)
- AsycTaskLoader:数据库是从外面写好拖进SD卡的(17)
- CursorLoader加载器读取短信的简单记录(17)