Welcome 微信登录

首页 / 软件开发 / JAVA / Tomcat的过滤诀窍

Tomcat的过滤诀窍2010-12-13 IBM Sing Li过滤是 Tomcat 4 的新功能。它是 Servlet 2.3 规范的一部分,并且最终将 为所有支持此标准的 J2EE 容器的厂商所采用执行。开发人员将能够用过滤器来 实现以前使用不便的或难以实现的功能,这些功能包括:

资源访问(Web 页、JSP 页、servlet)的定制身份认证

应用程序级的访问资源的审核和记录

应用程序范围内对资源的加密访问,它建立在定制的加密方案基础上

对被访问资源的及时转换,包括从 servlet 和 JSP 的动态输出

这个清单当然并没有一一罗列,但它让您初步体验到了过滤所带来的额外价 值。在本文中,我们将详细讨论 Servlet 2.3 的过滤,来看一看过滤器是如何 配合 J2EE 处理模型的。不像其它传统的过滤方案,Servlet 2.3过滤是建立在 嵌套调用的基础上的。我们来研究一下这一差别是怎样在架构上与新的高性能 Tomcat 4 设计取得一致的。最后,我们将获得一些编写及测试两个 Servlet 2.3过滤器的实际经验。这些过滤器只完成很简单的功能,使我们得以将注意力 集中于编写过滤器以及如何将它们集成进 Web 应用程序的机制。

作为 Web 应用程序构建模块的过滤器

在物理结构上,过滤器是 J2EE Web 应用程序中的应用程序级的 Java 代码 组件。除了 servlet 和 JSP 页以外,遵循 Servlet 2.3 规范编码的开发人员 能将过滤器作为在 Web 应用程序中加入活动行为的机制。与在特定的 URL 上工 作的 servlet 和 JSP 页不同,过滤器接入 J2EE 容器的处理管道,并能跨越由 Web 应用程序提供的 URL 子集(或所有 URL)进行工作。图 1 说明了过滤是在 哪里配合 J2EE 请求处理的。

图 1.过滤器与 J2EE 请求处理