Java web.xml <servlet-class>标记和web.xml规范/文档

时间:2015-06-22 10:50:36

标签: java tomcat jersey web.xml

有人能告诉我web.xml中servlet-class标记的用法是什么吗?例如,我目前正在使用tomcat 8,我正在使用restful jersey框架。那你为什么把这个类:org.glassfish.jersey.servlet.ServletContainer放在servlet-class标签中而不是org.apache.catalina.servlets.DefaultServlet用于tomcat? 也有人可以告诉我在哪里可以找到java ee web.xml规范/文档吗?

感谢

1 个答案:

答案 0 :(得分:1)

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

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

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

上的最终版本

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

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