Filter与Servlet的区别和联系
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头和数据。 |
主要是处理客户端的请求并将其结果发送到客户端。 |
转载于:https://www.cnblogs.com/zs234/archive/2013/04/21/3233359.html
Filter与Servlet的区别和联系相关推荐
- filter与servlet的比较
filter与servlet的比较 主要从如下四个方面介绍他们之间的区别: 1.概念. 2.生命周期. ...
- Java Web中的Filter和Interceptor的区别
2019独角兽企业重金招聘Python工程师标准>>> 1.问题的来源 项目中使用了Filter,进行白名单的控制,同时使用了Filter进行了跨域请求的控制,使用了Intercep ...
- 必会系列之 filter 和 interceptor 的区别
什么是Filter 在java的javax.servlet下有一个接口Filter.任何实现了Filter接口的类都可以称之为filter.Filter的主要用途是设置字符集.控制权限.控制转向等等. ...
- filter和interceptor的区别
前言 最近在面试的时候,被问到了这个问题,觉得答得不是很好,在此进行整理和记录,供自己学习,也希望能帮助到大家. 什么是Filter 在java的javax.servlet下有一个接口Filter.任 ...
- Java中Filter、Listener,拦截器的学习,listener、 filter、servlet 加载顺序及其详解
Filter filter可认为是Servlet的一种"变种",它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理,是个典型的处理链.它与Se ...
- JavaWeb中监听器Listener+过滤器filter+拦截器interceptor区别
JavaWeb中监听器Listener+过滤器filter+拦截器interceptor区别 如果从整个项目中看,一个servlet请求的执行过程就变成了这样context-param–>lis ...
- jsp与java的关系_jsp教程中:jsp与servlet的区别和关系
jsp教程上:我们一定学了servlet,也学习了jsp,那么jsp与servlet的区别是什么呢,jsp与servlet又有什么关系呢?下面我们先创建一个demo.jsp的页面,然后tomcat运行 ...
- web.xml 里context-param 、listener、 filter、servlet 加载顺序
1.web.xml中context-param .listener. filter.servlet 加载顺序与其位置无关,不是listener在context-param 前面就先加载listener ...
- 如何使用Spring管理Filter和Servlet
在使用spring容器的web应用中,业务对象间的依赖关系都可以用context.xml文件来配置,并且由spring容器来负责依赖对象 的创建.如果要在filter或者servlet中使用sprin ...
最新文章
- 非常经典的正则表达式
- php mysql 配置
- PyQt5 技术篇-透明窗口设置方法,窗口透明度的设置
- ACE的接受器(Acceptor)和连接器(Connector):连接建立模式
- 实训总结_实训总结汇报!
- Java: 在dos窗口输入密码,不要把密码直接显示出来,原来可以这么简单
- c++两个vector合并_数据结构——算法初步(4)——合并排序算法
- iphone微信电话不弹出_iPhone快速分享电话号码的方法!
- 定时更换超级连接的代码
- hbase中为何不能向表中插入数据_生产环境使用HBase,你必须知道的最佳实践 | 百万人学AI...
- 数据结构 3-1-1 栈
- 暗能量什么样?爱因斯坦只“蒙”对了一半
- Mybatis-Plus注解自定义sql分页查询
- UDP socket编程: C++发送 | C#接收
- 查看MySQL数据库占用空间大小
- 计算机专用英语1500词带音标,带音标的计算机英语1500词
- 和平精英体验服服务器怎么样维护,和平精英体验服账号怎么弄_体验服官网申请教程_3DM手游...
- Control Cotrol Name Confusing
- 【组织架构】中国铁路上海局集团有限公司
- 【NLP】自然语言处理学习笔记(一)语音识别
热门文章
- 单片机c语言必背代码_【典藏】深度剖析单片机程序的运行(C程序版)
- 2014年职称计算机word2003,2014年职称计算机考试Word2003模拟题及答案5
- 不同路径Python解法
- java 缓存分页_基于redis做缓存分页
- Android钢琴滑动代码,android 钢琴界面实现
- html worker api,worker_threads 工作线程
- xampp mysql创建表_xampp怎样创建数据表和删除数据表 来学习吧
- assignment symbolic automaton verilog设计
- matlab余割平方方向图,基于余割平方赋形波束的宽带微带阵列天线设计
- php常见问题及其解决方案,PHP开源开发框架ZendFramework使用中常见问题说明及解决方案...