快速业务通道

Tomcat的过滤诀窍 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
;/web-app>

重新启动 Tomcat。

现在,请用下面的 URL 来访问 index.html 页面: http://<host name>:8080/devworks/index.html

请注意, ReplaceTextFilter 是如何迅速地将 cannot变为 must not 的。 想确信过滤使用了所有资源,您可以尝试编写输出结果含有字符串 cannot的 JSP 页或 servlet。

Tomcat的过滤诀窍(8)

时间:2010-12-13 IBM Sing Li

过滤器链排列顺序的重要性

过滤器链式排列的顺序取决于 web.xml 描述信息内 <filter- mapping> 语句的顺序。在大多数情况下,过滤器链式排列的顺序是非常重要 的。也就是说,在应用A过滤器前使用B过滤器与在使用B过滤器前使用A过滤器所得到的结果是完全不同的。如果一个应用程序中使用了一个以上的过滤 器,那么在写入 <filter-mapping> 语句的时候要小心。

我们能轻易地通过排列 web.xml 文件中 <filter-mapping> 的顺序看 到这一效果:

清单 15.过滤的顺序 -- IE Filter 为先

<web-app> <filter-mapping>      <filter-name>IE Filter</filter-name>    <url-pattern>/*</url-pattern>    </filter-mapping> <filter-mapping>      <filter-name>Replace Text Filter</filter-name>    <url-pattern>/*</url-pattern>    </filter-mapping> </web-app>

现在,用Internet Explorer 载入 index.html 页。您能看到由于 IE Filter 处于过滤器链中的第一位,所以 Replace Text Filter 没有机会执行。 因此,输出的信息是 "Sorry, page cannot be displayed!"

现在,将 <filter-mapping> 标记的顺序颠倒过来,变为:

清单 16.过滤的顺序 -- Replace Text Filter 为先

<web- app> <filter-mapping>      <filter-name>Replace Text Filter</filter-name>    <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping>      <filter-name>IE Filter</filter-name>    <url-pattern>/*</url-pattern> </filter-mapping> </web-app>

再次用Internet Explorer 载入 index.html 页面。这次, Replace Text Filter 先执行,将包装的响应对象提供给 IE Filter 。在 IE Filter 写入了 其定制的响应后,专用的响应对象在输出结果到达最终用户处以前完成转换。故 而,我们看到了这条信息:Sorry, page must not be displayed!

在应用程序中使用过滤器

写这篇文章的时候, Tomcat 4 正处于 beta 周期的后期,正式发行的日子 已为期不远。主要的 J2EE 容器厂商都准备好了将 Servlet 2.3 规范整合到其 产品中去。对于 Servlet 2.3过滤器如何工作有一个基本的了解有助于您在设 计及编写基于 J2EE 的应用程序时往自己的工具库中再加入一件多功能的工具。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号