我读过Servlet是一个Java EE规范,它涉及到包javax.servlet,javax.servlet.http。
作为实现规范的一部分,需要提供一个定义Servlet
接口的类(在包javax.servlet中)。这个工作是由Java EE本身通过HttpServlet
类(在包javax.servlet.http中)完成的。
所以我很困惑的是Java EE,它创建了Servlet规范并且还为该规范提供了实现。
答案 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容器就足够了。