是Java EE中的HttpServlet定义(Servlet实现)还是WebContainer?

时间:2018-04-11 14:28:06

标签: servlets java-ee

我读过Servlet是一个Java EE规范,它涉及到包javax.servlet,javax.servlet.http。

作为实现规范的一部分,需要提供一个定义Servlet接口的类(在包javax.servlet中)。这个工作是由Java EE本身通过HttpServlet类(在包javax.servlet.http中)完成的。

所以我很困惑的是Java EE,它创建了Servlet规范并且还为该规范提供了实现。

2 个答案:

答案 0 :(得分:0)

javax.servlet.http.HttpServlet是一个抽象类,而不是一个实现。 Java EE确实为Servlet提供了任何实现。

Servlet容器(如Tomcat,JBoss,GlassFish等)也包含servlet-api.jar,否则它们将无法运行您的Web应用程序,而且它们还包含作为其一部分的接口的实现。 Servlet API(here)。

答案 1 :(得分:-1)

确实没有默认实现,servlet的实现是应用程序开发人员的责任。如前所述,您需要为此目的扩展javax.servlet.http.HttpServlet。

并且您不需要EE容器来使其工作,Web容器就足够了。