以编程方式设置web.xml配置

时间:2015-02-25 11:48:07

标签: java java-ee servlets web.xml

自从Servlet 3.0引入了注释:

  • @WebListener
  • @WebServlet
  • @WebFilter
  • @WebInitParam

那么可以完全删除web.xml并以编程方式设置其中包含的所有cofiguration吗?如果这是真的,这是一个好的做法还是应该避免?

修改 在farrellmr提供的链接中使用org.springframework.web.WebApplicationInitializer;,但我正在寻找一种不使用特定框架的通用方法。

1 个答案:

答案 0 :(得分:3)

  

问:因此可以完全删除web.xml并设置全部   以编程方式包含在其中的配置?

是的,从Servlet 3.0开始,您可以拥有一个没有web.xml文件的Web应用程序。

  

问:如果这是真的,这是一个好习惯还是应该避免?

这取决于。在具有许多servlet的大型Web应用程序中使用web.xml的缺点是该文件变得越来越大,难以维护。另一方面,您可能在您的团队中有一个特定的角色,一个部署者,他不需要知道如何编程。使用web.xml,他可以轻松更改,例如通过更改文件内容并简单地重新部署应用程序来实现servlet的URL。最后,请注意,只有Tomcat7 +和其他“更新”的应用程序服务器/ servlet容器才支持Servlet 3.0。我们的团队曾经有一个Tomcat6的客户端,他们抱怨一些奇怪的错误,你可以猜到,这是由于使用注释而不是web.xml引起的。也就是说,我仍然更喜欢注释而不是额外的配置文件:)