WEB开发网
开发学院软件开发Java Tomcat 的过滤诀窍 阅读

Tomcat 的过滤诀窍

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示: 这一新架构为今后的 Tomcat 性能调整与优化提供了一个新的、更 对象友好的基础,Servlet 2.3 过滤器是这个新的内部架构的自然扩展,Tomcat 的过滤诀窍(3),该架构为 Web 应用程序设计人员提供了一个可移植的执行过滤行为的方法, 调用链所有过滤器都服从调用的过滤器链,否则过滤

这一新架构为今后的 Tomcat 性能调整与优化提供了一个新的、更 对象友好的基础。Servlet 2.3 过滤器是这个新的内部架构的自然扩展。该架构为 Web 应用程序设计人员提供了一个可移植的执行过滤行为的方法。

调用链

所有过滤器都服从调用的过滤器链,并通过定义明确的接口得到执行。一个执行过滤器的 Java 类必须执行这一 javax.servlet.Filter 接口。这一接口含有三个过滤器必须执行的方法:

doFilter(ServletRequest, ServletResponse, FilterChain) :这是一个完成过滤行为的方法。这同样是上游过滤器调用的方法。引入的 FilterChain 对象提供了后续过滤器所要调用的信息。

init(FilterConfig) :这是一个容器所调用的初始化方法。它保证了在第一次 doFilter() 调用前由容器调用。您能获取在 web.xml 文件中指定的初始化参数。

destroy() :容器在破坏过滤器实例前, doFilter() 中的所有活动都被该实例终止后,调用该方法。

请注意: Filter 接口的方法名及语义在最近的几个 beta 周期中曾有过不断的改变。Servlet 2.3 规范仍未处于最后的草案阶段。在 Beta 1 中,该接口包括 setFilterConfig() 和 getFilterConfig() 方法,而不是 init() 和 destroy() 。

嵌套调用在 doFilter() 方法执行中发生。除非您建立一个过滤器明确阻止所有后续处理(通过其它过滤器及资源处理器),否则过滤器一定会在 doFilter 方法中作以下的调用:

FilterChain.doFilter(request, response); 

安装过滤器:定义与映射

容器通过 Web 应用程序中的配置描述符 web.xml 文件了解过滤器。有两个新的标记与过滤器相关: <filter> 和 <filter-mapping> 。应该指定它们为 web.xml 文件内 <web-app> 标记的子标记。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Tomcat 过滤 诀窍

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接