`

tomcat中valve和servlet filter的区别

阅读更多
Valve是位于Catalina容器中的组件,可以插入到请求处理pipeline中,对请求做某些处理。
Servlet filter的作用与valve相同,不同的是valve是Tomcat的私有机制,与tomcat的基础架构/API是紧耦合的。Servlet API是公有的标准,所有的Web容器都支持filter机制。所以valve不是跨web容器的,filter是可以的。
另一个重要的区别是valve工作在容器级别,拦截所有应用的请求,servlet filter工作在应用级别,只能拦截指定的某个应用的所有请求。所以如果想做整个server端的拦截器,必须通过valve来实现。
分享到:
评论

相关推荐

    Tomcat 接口文档 API

    1. **Servlet API**: Tomcat作为Servlet容器,核心是Servlet和Servlet API。Servlet是Java编写的小型服务器端程序,负责处理客户端请求并返回响应。Servlet API定义了Servlet的生命周期方法(如`init()`, `service()...

    tomcat源码

    10. **Pipeline和Valve**:Tomcat采用Pipeline和Valve的概念来处理请求和响应,Valve可以看作是处理链上的一个个节点,Pipeline则负责组织这些节点,形成请求处理流程。 通过深入阅读和理解Apache Tomcat 7.0.78的...

    how tomcat works

    请求处理流水线(Pipeline)是Tomcat中的一个核心概念,它定义了请求处理的顺序,通过一系列的Valve(阀门)对请求进行拦截和处理,这类似于过滤器(Filter)的作用。这些Valve被组织成一个链式结构,每个Valve可以...

    tomcat跨域访问问题

    4. **使用Tomcat的CORS Valve**:Tomcat 7.0.53及以上版本提供了CORS Valve,可以在server.xml的Host或Context元素中配置: ```xml <Valve className="org.apache.catalina.valves.CorsValve" ...

    Tomcat源码分析

    5. **Pipeline和Valve**: Tomcat的请求处理管道,Valve是管道中的处理单元,可以通过自定义Valve实现特定功能。 通过对Tomcat源码的分析,开发者可以更好地理解其工作原理,从而优化性能、解决运行问题,或者开发出...

    深入剖析Tomcat源码

    4. **容器概念**:在Tomcat中,每个Web应用都有自己的Context容器,容器中包含了Servlet、Filter和Listener等元素。源码中展示了如何加载Web应用配置,以及如何组织和管理这些元素。 5. **请求处理**:Catalina组件...

    IIS整合多个tomcat

    IIS(Internet Information Services)是微软提供的一个强大的Web服务器,而Tomcat则是Apache软件基金会开发的Java Servlet和JavaServer Pages容器,主要用于运行Java Web应用。本文将详细介绍如何通过IIS来整合多个...

    tomcat5.5中文手册

    最后,手册还会涉及一些高级话题,如自定义Valve(请求处理管道的组件)、Filter(过滤器)和Listener(监听器),以及如何编写部署描述符(如`web.xml`)以实现特定的Web应用行为。 总的来说,《Tomcat 5.5 中文...

    tomcat-8.0.33压缩包

    - 开发者可以根据需求自定义Tomcat的行为,比如通过编写自己的Valve(请求处理组件)或Filter(过滤器)。 总之,Apache Tomcat 8.0.33是一个功能强大的Java Web服务器,它提供了Java EE 7的支持,具有良好的可...

    how tomcat works——(5)容器

    1. 实例化和管理组件:容器负责根据配置文件创建Servlet、Filter和Listener的实例,并管理它们的生命周期。 2. 请求分发:容器接收到HTTP请求后,会根据请求的目标URL找到相应的Web应用和Servlet,然后将请求传递给...

    tomcat文档

    起初基于SUN公司的JSWDK(JavaServer Web Development Kit),经过社区的不断改进和发展,Tomcat已经成为了一个强大的Servlet容器和JSP引擎,能够支持Servlet和JSP的运行,并且具备了商业级Java Web应用服务器的特性...

    apache-tomcat-8.0.15

    10. **扩展性**: 由于其开放源码的特性,Tomcat可以通过插件或自定义实现来扩展其功能,如Valve(请求处理管道的组件)和Filter(过滤HTTP请求和响应)。 总的来说,Apache Tomcat 8.0.15 是一个强大且灵活的Web...

    tomcat源码学习之环境搭建

    学习`Filter`和`Valve`的概念,以及如何在`context.xml`或`server.xml`中配置它们。 最后,实践是最好的老师。尝试修改源码,然后构建和运行Tomcat,观察更改如何影响服务器行为。同时,结合阅读官方文档、参与开源...

    tomcat8.0源码

    Tomcat 8.0的API提供了与Web应用程序交互的接口和类,包括Servlet、Filter、Listener等核心组件。例如: 1. `javax.servlet`包:包含Servlet接口,定义了Web服务器如何调用Web应用的方法。`ServletConfig`和`...

    精减版Tomcat-5.5

    在Tomcat 5.5中,Servlet 2.4规范提供了更多的API和改进,如过滤器(Filter)和监听器(Listener)的增强,使应用的结构更加灵活。 2. **JSP支持**: JSP是Java技术的一部分,用于生成动态网页内容。Tomcat 5.5支持...

    apache-tomcat-7.0.11-src

    5. **扩展和定制**:Tomcat提供了许多插件点,允许开发者进行定制,例如自定义 Realm 实现身份验证,通过Valve(管道组件)扩展请求处理流程,或者编写自己的Servlet和Filter。 6. **安全性**:Tomcat 7.0.11 版本...

    tomcat7.0.63免安装版(已配置跨域)

    2. `conf`目录:包含了Tomcat的配置文件,如`server.xml`,其中可能已经预设了跨域的相关配置,例如`<CrossOriginFilter>`标签或者`<Valve>`标签来允许跨域请求。 3. `webapps`目录:默认的应用部署位置,开发者可以...

    apache-tomcat-9.0.11源码

    Apache Tomcat 9.0.11 源码是Java EE开发中不可或缺的一部分,它是一个开源的、轻量级的Web应用服务器,主要用于运行Java Servlet和JavaServer Pages(JSP)。这个源码版本提供了对Java EE 8标准的支持,包括最新的...

Global site tag (gtag.js) - Google Analytics