在使用Jersey框架编写REST服务时,我对web.xml的使用感到困惑。在我看来,如果我使用注释来定义路径,为什么我们需要web.xml?我刚刚在线使用参考文档开发了Spring Boot应用程序,他们甚至没有提到web.xml。那么,是不是说Spring删除了web.xml并用注释替换它?(例如@ Path,@ Get,@ Post)。 我在同一条线上的第二个问题是,如果我没有web.xml,那么将REST服务部署为jar是一个好习惯吗?
答案 0 :(得分:3)
是否需要web.xml不依赖于Spring,而是依赖于您正在使用的Java EE Servlet规范的版本。
自Servlet v3.0起,不再需要web.xml,默认情况下Spring Boot与Servlet 3+兼容。
但是有一些技巧可以让它与Servlet 2.5一起运行。
答案 1 :(得分:2)
Spring Boot有助于简化工作流程。
使用Spring Boot,您可以创建一个jar,而不是war文件作为工件。
通常war文件会部署到你需要单独运行的webcontainer(如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的名字。