有了Servlet 3.x API,我们可以完全去掉web.xml,迁移到Java Config。我总是发现 web.xml 是开始了解 Web 应用程序的一个非常好的调试点。我不明白为什么我们计划迁移到基于 Java 的配置并完全删除 web.xml。我曾尝试在互联网上寻找合适的答案,但找不到令人满意的解释。任何人都可以帮助我在实际场景中理解这一点。
最佳答案
这样做可以避免重复自己,避免犯错误。例如,servlet 类是 com.foo.bar.SomeServlet
。使用 web.xml
,您被迫在 web.xml 中重新输入此类:
<servlet-class>com.foo.bar.Someservlet</servlet-class>
等等,你打错了字,你只会在运行时发现它。
或者您重命名了一个 servlet 类,但是您忘记在 web.xml 中也重命名它,并且您只是在部署时才发现错误。
最后,它们让我们的生活更轻松。您正在创建一个 servlet,并且您显然希望将它映射到某个 URL。所以你只需添加一个注释。无需转到另一个文件添加映射,然后返回类,因为您忘记了它的确切名称,然后再次返回文件。关于 servlet 的一切都在 servlet 类中。对于过滤器、监听器等也是如此。
注释没有所有这些问题。
关于java - 对于 servlet 3.x 使用基于 java 的配置而不是 web.xml 有什么好处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26848057/