Tomcat 是否实现或运行 Java Servlet 和 JavaServer Pages (JSP) 规范?

mah*_*esh 0 java jsp tomcat servlets specifications

我正在学习 Apache Tomcat,但我不明白下面一行中的术语“实现” 。我认为 Tomcat运行Java Servlet 和 JavaServer Pages (JSP)。

Tomcat 实现 Sun Microsystems 的 Java Servlet 和 JavaServer Pages (JSP) 规范

Tomcat 是否实现运行Java Servlet 和 JavaServer Pages (JSP)?

VH-*_*NZZ 5

JavaServerPages (JSR 245)Java Servlet (JSR 315)是 Java规范

它们只是:一组指导方针,加入到一份充满文字的文档中,说明它们是什么、它们应该如何表现等等。

现在,这是您问题的答案:供应商采用这些规范来制作实现这些规范的库或产品,从而成为其实现。这与实现接口的方式差不多。

所以

Tomcat 实现 Java Servlet 和 JSP 规范

是描述这一点的正确方式。现在 Tomcat 有自己的 HttpServlet 实现,但您不必担心这一点,因为您的类只是扩展了它。

当然,您自己的 servlet 和 JSP 将在 Tomcat 上运行,但它们将扩展自己的实现。类似地,它们将运行在 Jetty 等平台上,在那里它们将扩展类的不同实现。

请注意,这些类(HttpServlet,...)位于以javax.和开头的包中java.。区别是关键,我建议您看一下:javax vs java package

另一个广泛流行的例子是 JPA: https: //jcp.org/en/jsr/detail ?id=338 及其许多实现,如 Hibernate、EclipseLink、OpenJPA、DataNucleus 等。