java - 对于 servlet 3.x 使用基于 java 的配置而不是 web.xml 有什么好处

标签 java web.xml servlet-3.0

有了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/

相关文章:

tomcat8 - 如何将请求和响应的 tomcat 8 容器字符编码设置为 UTF-8 而不是 ISO-8859-1

java - jetty、servlet 3.0、spring主机头攻击预防

java - Spock groovy - 如何模拟同一类中的方法?

java - 使用ant时出现NoClassDefFoundError

java - 搜索 Servlets : where are web. xml 文件?多个 web.xml 文件如何合并?

java - HTTP 状态 405 - 此 URL 不支持 HTTP 方法 POST

Eclipse 功能 NotFoundException

java - 从另一个方法访问位置变量

java - 抛出异常错误

rest - 如何在 Servlet 3.0 容器中将 JAX-RS 与 CDI 集成