无论我要创建Servlet 3.1还是4.0 Web应用程序,如何在Spring 2.1.4 Boot应用程序(打包为WAR)中进行控制。通常,当使用web.xml Web应用程序描述符时,Web应用程序上的属性将宣布所使用规范的版本。在没有web.xml的Spring WebApplicationInitializer应用程序中(我就是这种情况),没有这样的广告。
仅使用Servlet 3.1功能并将其部署到容器中并希望它能够工作就可以了吗?
答案 0 :(得分:1)
由于Servlet 3和Java EE 6引入了诸如web.xml
,@WebServlet
,@WebFilter
之类的注释,因此@WebListener
文件是可选的。
但是,无法使用WebApplicationInitializer
在web.xml
之外声明此信息,因此无论如何都必须包括文件并指定版本。
答案 1 :(得分:0)
发布此问题超过一年后,我发现maven通过声明为依赖项的特定API的存在来做出这种确定。例如,如果您在Pom文件中具有javax.servlet:javax.servlet-api:4.0.1依赖关系,则maven将假定为servlet 4.0容器。我相信Spring Boot不支持此功能,但我认为应该支持。附带说明,M2eclipse插件也可以这种方式工作