Java规范及其API(接口和类)

Java规范及其API(接口和类),java,servlets,Java,Servlets,以Servlet规范为例(版本无关紧要)。它附带了一个描述规范的大型PDF文件。它的API(接口和类)属于javax.servlet.*包结构,我们作为程序员使用这些结构。例如,在编写servlet时,我们经常扩展javax.servlet.http.HttpServlet 我的问题:API类和接口(javax.servlet.*)是“特定于供应商的”(由servlet容器的每个供应商实现)还是规范本身的一部分(因此每个servlet容器供应商只使用) 或者,规范实际上总是带有参考实现(RI),

以Servlet规范为例(版本无关紧要)。它附带了一个描述规范的大型PDF文件。它的API(接口和类)属于
javax.servlet.*
包结构,我们作为程序员使用这些结构。例如,在编写servlet时,我们经常
扩展javax.servlet.http.HttpServlet

我的问题:API类和接口(
javax.servlet.*
)是“特定于供应商的”(由servlet容器的每个供应商实现)还是规范本身的一部分(因此每个servlet容器供应商只使用)


或者,规范实际上总是带有参考实现(RI),它由规范成员创建并可自由使用(在某些地方,如抽象类中的方法实现,可自由修改)?

包是规范的一部分,因此不是特定于供应商的。这样做的好处是,您可以编写与实现无关的代码,也就是说,它可以在实现规范的任何容器中运行。如果一个实现有缺陷,您可以在不更改源代码的情况下转移到新的实现


请查看。

这些软件包是规范的一部分,因此不是特定于供应商的。这样做的好处是,您可以编写与实现无关的代码,也就是说,它可以在实现规范的任何容器中运行。如果一个实现有缺陷,您可以在不更改源代码的情况下转移到新的实现


看一看。

由于
javax.servlet.
的规范在一个文档中,因此它不可能是特定于供应商的。当然这是显而易见的?我编辑了我的问题,添加了RI部分。由于
javax.servlet.*
的规范在一个文档中,因此它不可能是特定于供应商的。当然这是显而易见的?我编辑了我的问题,添加了国际扶轮的部分。谢谢。你提到的问题与我的有关。我有一个相同的问题,那就是:规范是否提到了我们作为程序员可以使用的包名和接口,我的意思是:“带有JavaDoc的真实API”当然规范并不决定实现,但要在代码中使用,程序员需要具体完整的接口和类名。@StephanvanHoof我认为Jörg W Mittag提供了一个非常详细的答案。规范就是你想要的。你可以选择它是非常开放的还是非常精确的。在JavaLand中,规范通常包括包/接口/类名。谢谢。你提到的问题与我的有关。我有一个相同的问题,那就是:规范是否提到了我们作为程序员可以使用的包名和接口,我的意思是:“带有JavaDoc的真实API”当然规范并不决定实现,但要在代码中使用,程序员需要具体完整的接口和类名。@StephanvanHoof我认为Jörg W Mittag提供了一个非常详细的答案。规范就是你想要的。你可以选择它是非常开放的还是非常精确的。在JavaLand中,规范通常包括包/接口/类名。