【发布时间】:2026-01-26 21:00:02
【问题描述】:
@WebServlet 注解与web.xml servlet 映射的优先顺序是什么?
更具体地说,我们有一个用例,我们宁愿不修改web.xml,但需要覆盖其中一个 servlet 映射。
我们的web.xml 是这样的:
<servlet>
<servlet-name>foo</servlet-name>
<servlet-class>com.whatever.simple.foo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>foo</servlet-name>
<url-pattern>/foo/*</url-pattern>
</servlet-mapping>
我们正在考虑使用以下方法覆盖它:
@WebServlet("/foo/*")
public class OurCustomImplementation extends HttpServlet {
}
所以问题是:
- 规范是否允许我们为此添加一些参数(例如覆盖或优先参数)?
- 是规范保证我们的类将始终覆盖
web.xml? - Tomcat 9+ 是否允许这样做,即使可能使用一些扩展?
【问题讨论】:
标签: java tomcat servlets tomcat9