【问题标题】:Do we need web.xml for REST services?REST 服务需要 web.xml 吗?
【发布时间】:2016-11-04 12:30:29
【问题描述】:

在 Spring 中使用 Jersey 框架编写 REST 服务时,我对 web.xml 的使用有点困惑。在我看来,如果我使用注解来定义路径,为什么我们需要 web.xml?我最近使用在线参考文档开发了 Spring Boot 应用程序,他们甚至没有提到 web.xml。那么,说 Spring 删除了 web.xml 并用注解替换它是否正确?(例如@Path、@Get、@Post)。 我在同一行的第二个问题是,如果我没有 web.xml,将 REST 服务部署为 jar 是否是一种好习惯?

【问题讨论】:

标签: spring rest spring-mvc


【解决方案1】:

您是否需要 web.xml 并不取决于 Spring,而是取决于您使用的 Java EE Servlet Spec 的版本。

从 Servlet v3.0 开始,不再需要 web.xml,Spring Boot 默认兼容 Servlet 3+。

不过,有一些技巧可以让它在 Servlet 2.5 上运行。

【讨论】:

    【解决方案2】:

    Spring Boot 有助于简化工作流程。

    使用 Spring Boot,您可以创建一个 jar,而不是作为您的工件的 war 文件。

    通常,war 文件会部署到需要单独运行的 Web 容器(如 Tomcat)。

    Spring Boot 实际上将一个嵌入式 Tomcat 置于您的 jar 中以便运行它,这样您就无需在其他地方启动自己的 Tomcat/web 容器。

    您运行 Spring Boot Web 服务,如下所示:

    java -jar my-spring-boot-application-1.0.0.jar
    

    其中 my-spring-boot-application-1.0.0.jar 是您制作的 jar 的名称。

    【讨论】:

    • 那么,应该是jar文件还是war文件,没有web.xml呢?
    • 你能告诉我区别吗?如果我将它部署为 JAR 文件会怎样。
    猜你喜欢
    • 1970-01-01
    • 2011-08-10
    • 2020-01-25
    • 2023-03-11
    • 2019-11-17
    • 1970-01-01
    • 1970-01-01
    • 2018-11-03
    • 2013-02-07
    相关资源
    最近更新 更多