Spring Web 应用程序只是使用 servlet API 3.0 的普通 Web 应用程序。
在 servlet API 3.0 中,web.xml 文件是可选的(大多数时候)。
我尝试不将 web.xml 包含在我的 Spring 应用程序中,但不知何故,即使使用 Servlet 3.0 似乎也需要它
Spring 应用程序和我在未编写 web.xml 文件的情况下成功运行的 Web 应用程序之间的唯一区别是,在 Spring 中,过滤器和 servlet 是在 lib 文件夹中的 jar 内定义的。
有任何线索说明为什么会发生这种情况吗?
最佳答案
您不能只排除 web.xml,因为您(至少)需要定义您使用的是哪个版本的 Servlet API。
至少,您需要在 web.xml
中添加此内容:
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
其他一切(servlet、过滤器等)都可以使用注释进行配置。
关于java - Spring应用程序所需的web.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30680548/