Web片段和web.xml中servlet侦听器的执行顺序

时间:2014-11-03 16:07:33

标签: java servlets servlet-3.0

有没有办法指定web.xml和web-fragment.xml中定义的ServletContextListeners的执行顺序?

我的应用程序中有两个监听器: 第一个是在web-fragment.xml中声明的

<listener>
  <listener-class>com.example.RunFirst</listener-class>
</listener>

和我的应用程序的web.xml中的第二个

<listener>
  <listener-class>com.example.RunSecond</listener-class>
</listener>

另外我的网页片段包含以下排序元素:

<ordering>
  <before>
    <others />
  </before>
</ordering>

但RunSecond仍然在RunFirst之前执行。知道我怎么能改变这个顺序吗?

1 个答案:

答案 0 :(得分:2)

实际上根本不可能。

如oracle docs中所述:“始终首先处理web.xml描述符。”

您可以使用RunSecond侦听器创建另一个web-fragment.xml,并使用“ordering”设置片段之间的相对顺序。

希望它有所帮助。