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头和数据。 | 主要是处理客户端的请求并将其结果发送到客户端。 | 
Filter与Servlet的区别和联系的更多相关文章
- Filter与Servlet的区别与联系
		Filter与Servlet的区别与联系 转自 http://blog.csdn.net/gaibian0823/article/details/51027495 在我们写代码时,在web.xml中总 ... 
- Filter and servlet
		filter与servlet的区别与联系呢? 1. Filter 实现javax.servlet.Filter接口,在web.xml中配置与标签指定使用哪个Filter实现类过滤哪些URL链接. ... 
- web.xml中Filter,Listener,Servlet的区别
		一.Servlet Servlet是基本的服务端程序,他来自接口Servlet,接口中有方法service.而Servlet的一个重要实现类,则是tomcat服务器的核心,那就是HttpServlet ... 
- 过滤器和拦截器filter和Interceptor的区别
		1.创建一个Filter过滤器只需两个步骤 创建Filter处理类 web.xml文件中配置Filter 2.Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的 ... 
- filter与servlet的比较
		filter与servlet的比较 主要从如下四个方面介绍他们之间的区别: 1.概念. 2.生命周期. 3 ... 
- filter、servlet、interceptor的执行顺序
		1. Filter可认为是Servlet的一种“变种”,它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理,是个典型的处理链.它与Servlet的区别在于:它不能 ... 
- filter和interceptor的区别
		前言 最近在面试的时候,被问到了这个问题,觉得答得不是很好,在此进行整理和记录,供自己学习,也希望能帮助到大家. 什么是Filter 在java的javax.servlet下有一个接口Filter.任 ... 
- springboot之filter/listener/servlet
		简介 SpringBoot可以简化开发流程,但是在其中如何使用传统的J2EE servlet/listener/filter呢 @Bean配置 在Configuration类中加入filter和ser ... 
- Jsp与servlet的区别 1
		Jsp与servlet的区别 2011-12-09 16:27:47 分类: Java 1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识 ... 
随机推荐
- Azure上A/D系列虚拟机到DS系列迁移(1)
			有一些用户在刚开始的时候创建了A7,D14等虚拟机来跑一些IO要求比较高的应用,比如Oracle数据库,MySQL数据库,等到用户量上来之后,性能不够,需要升级数据磁盘到SSD固态硬盘,但是问题是: ... 
- Strtus2工作流程及原理
			从上图可以看出,一个请求在Struts2 框架中的处理大概分为以下几个步骤:1.客户端初始化一个指向Servlet 容器(例如Tomcat)的请求:2.这个请求经过一系列的过滤器(Filter)(这些 ... 
- Effective Java2读书笔记-创建和销毁对象(四)
			第7条:避免使用终结方法 这一条讲的简直是不知所云.先简单记下来其中说出的几条: ①显式终止方法的典型例子有InputStream.OutputStream和java.sql.Connection上的 ... 
- C# Struct结构体
			C#中结构类型和类类型在语法上非常相似,他们都是一种数据结构,都可以包括数据成员和方法成员. 结构和类的区别: 1.结构是值类型,它在栈中分配空间:而类是引用类型,它在堆中分配空间,栈中保存的只是引用 ... 
- html模块一些方法
			<pre name="code" class="python"> find_by_tag_name: @elements = $h->find ... 
- web api\ protobuf  \formatter
			9:50:20吴X2014/11/7 9:50:20 9:55:14吴X2014/11/7 9:55:14webapi实现protobuf吴X2014/11/7 9:56:29http://www.s ... 
- 关于set和map的用法
			1.set 定义:每个元素最多只出现一次,并且默认的是从小到大排序. set 遍历: 题目http://www.cnblogs.com/ZP-Better/p/4700218.html for(set ... 
- NicEdit - WYSIWYG Content Editor, Inline Rich Text Application
			NicEdit - WYSIWYG Content Editor, Inline Rich Text Application By calling the nicEditors.allTextarea ... 
- [Ext JS 4] 实战之多选下拉单 (带checkbox)
			前言 Ext js 创建一个多选下拉单的方式很简单, 使用Ext.form.ComboBox, 设置 multiSelect 为true 就可以了. 但是如果要在每个下拉之前加上一个checkbox, ... 
- Struts2(二)——配置文件struts2.xml的编写
			接上一篇博客,这篇博客讲述一下2——9小标题的内容,这些问题都可以在struts2配置文件中设置(当然有的也可以在Struts.properties属性文件,web.xml中进行设置),而且常规开发中 ... 
