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

2022-09-02 14:01:42

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

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

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

我想知道是否有可能禁用Tomcat的注释扫描,但启用web片段的处理.xml。


答案 1

考虑在网页.xml中使用“绝对排序”元素。Servlet API 3.0 最终规范在第 8.2.2 节“web.xml和 web 片段.xml的排序”中描述了它的用法。

您可以指定要处理的确切 Web 片段,禁用 web 片段 jar 中类的注释处理(列表中 Web 片段中的“元数据完成”),当然还可以通过这种 Web 片段包含将其他 jar 排除在处理之外。


答案 2

片段和注释都是应用程序的元数据。因此,元数据完成适用于注释处理和片段处理。如果为 web.xml设置了元数据完成,则同时禁用注释处理和片段处理

但是,元数据完成也可以设置为 web 片段.xml。因此,可以对注释和片段进行选择性处理。

在 Web 上启用元数据完成.xml在 Web 片段上禁用.xml将处理片段,但禁用 Web 片段下类的注释处理.xml


推荐