Java web.xml <servlet-class> 标签和 web.xml Specification/Documentation

Java web.xml <servlet-class> tag and web.xml Specification/Documentation

谁能告诉我web.xml中servlet-class标签的用法是什么?例如,我目前正在使用 tomcat 8,我正在使用 restful 球衣框架。那么为什么要将 class: org.glassfish.jersey.servlet.ServletContainer 放在 servlet-class 标记中,而不是 org.apache.catalina.servlets.DefaultServlet 用于 tomcat? 还有人可以告诉我在哪里可以找到 java ee web.xml specification/documentation?

谢谢

部署描述符是 Java Servlet 规范的一部分。

您可以在此处找到 3.1 规格 JSR340

https://www.jcp.org/en/jsr/detail?id=340

查看最终版本

servlet-class 提供完全限定的 Java class 名称 端点实施。您指定 serlvet class 名称,例如com.Whosebug.myweb.LoginSerlvet 并且这可以映射到 url,例如 /login。这使得它更容易在 Web 应用程序中使用,在您的 html 等中。每当请求 /login 时,LoginServlet 将 运行 (取决于 HTTP 类型,如果它是 GET,POST ETC。)。还取决于您的 Servlet,您可能需要添加使用的外部库。例如,在您的情况下,您需要 jersey 库。还要检查 web.xml 以设置 servlet (servlet-class) 并检查 servlet 映射。为什么需要添加 ServletContainer 而不是 DefaultServlet 是因为您想使用 Rest Jersey,并且每当您调用映射的 url (例如 /rest/* 它将 运行 jersey servlet)。我认为您有点困惑,因为您认为 servlet-class 是将在您的应用程序中托管所有编写的 servlet 的 class,但事实并非如此。

做一些关于如何构建 Java servlet 应用程序的教程,您很快就会更好地理解它。