java - Spring应用程序所需的web.xml

标签 java spring deployment web.xml

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/

相关文章:

java - 如何检查文件是否存在?

Java比较字符串数组上的字符

java - 如何在 spring mvc 中轻松创建表

java - 在 Spring 3.1 中,如何测试 Controller 的 url?

java - Spring Elasticsearch : Howto search across multiple indexes with mappings to different objects

asp.net-mvc - 更新 ASP.NET MVC Web 应用程序 : Can I simply update one DLL in bin/?

java - 在同一 EAR 中的 WAR 之间进行通信的选项

java - 在 JFrame 中键入会出现错误

python - 部署 f-droid 服务器

java - 准备好的语句会防止sql注入(inject)攻击吗?