【问题标题】:Java EE Servlet/filter/phase listener difference and order of processingJava EE Servlet/filter/phase listener的区别和处理顺序
【发布时间】:2011-11-22 15:28:50
【问题描述】:

我想知道处理请求的顺序是什么,servlet(@WebServlet)、过滤器(@WebFilter)、阶段监听器等有什么区别。

这些方法具有非常相似的标头 (doGet/doFiler)。

【问题讨论】:

    标签: jakarta-ee servlets servlet-filters


    【解决方案1】:

    关于过滤请求的处理,然后由 servlet 进行处理,如下所述:

    http://download.oracle.com/docs/cd/B32110_01/web.1013/b28959/filters.htm

    因此,您主要使用 servlet 来传递内容,并可能使用过滤器更改请求/响应。过滤器可用于实现管道和过滤器或装饰器设计模式。 (尽管他们也可以自己交付内容,根本不将委托转发给 servlet 进行最终处理。)

    servlet 请求处理就这么多。 PhaseListeners 是一个更高抽象级别的概念。它们不属于 servlet 规范,而是属于构建​​在 servlet 之上的 Java Server Faces 概念。它们可用于跟踪您的 JSF 组件在请求期间经历的阶段,因此当您想要在请求期间影响 JSF 组件的行为/呈现时,它们是过滤器的替代方案。

    可以在此处找到使用相位侦听器的小示例: http://www.softwareengineeringsolutions.com/thoughts/frameworks/JSF.Techniques-PhaseListeners.htm

    【讨论】:

      猜你喜欢
      • 2011-11-25
      • 2014-05-04
      • 1970-01-01
      • 2015-09-30
      • 1970-01-01
      • 2011-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多