禁用注释处理,但在servlet api 3.0(Tomcat7)中启用Web片段功能

Igo*_*hin 17 java tomcat servlets tomcat7

我正在尝试Tomcat 7.0和Servlet API 3.0.

我有一个Servlet API 2.5的应用程序.所以我编辑了web.xml来为Servlet API 3.0配置它.更改后,Tomcat的开始时间增加了14秒.

所以我设置<web-app metadata-complete="true" ...并且Tomcat的开始时间恢复正常,因为tomcat不扫描每个类的注释.这很好,但是web-fragment.xml功能也被禁用了.

我想知道是否可以禁用Tomcat的注释扫描,但是要启用web-fragment.xml的处理.

bad*_*bit 5

考虑在 web.xml 中使用“absolute-ordering”元素。Servlet API 3.0 Final Spec 在第 8.2.2 节“web.xml 和 web-fragment.xml 的顺序”中描述了它的用法。

您可以指定要处理的确切Web 片段,禁用 Web 片段的 jar 中的类的注释处理(列表中 Web 片段中的“元数据完整”),当然也可以排除其他 jar 进行此类 Web 处理- 片段包含。


Ram*_*PVK 4

片段和注释都是应用程序的元数据。因此,元数据完整适用于注释处理和片段处理。 如果web.xml设置为metadata-complete,则注释处理和片段处理都会被禁用

但是,metadata-complete 也可以设置为 web-fragments.xml。因此,我们可以对注释和片段进行选择性处理。

在 web.xml 上启用metadata-complete并在web-fragments.xml上禁用将处理片段,但会禁用web-fragments.xml下类的注释处理

  • 是的,它只会跳过注释处理并考虑 web-fragment.xml 条目。 (3认同)