jstl-api和jstl-impl之间的区别

时间:2013-03-02 16:40:21

标签: java jar jstl

我是Java EE技术的初学者。我想知道jstl-api jar和jstl-impl jar之间有什么区别。

为什么API和实现是分开的?这是否意味着还有其他可用的实现?

2 个答案:

答案 0 :(得分:7)

API和实现是分开的,因为Java EE使用标准化规范。

API是该规范的一部分,并且包含一组主要接口,参与创建所述规范的每个人都同意这些接口。理论上,每个人都可以创建一个实现已发布的标准化API的实现,其行为与相关的规范文档中描述的相同。当您通过所谓的TCK(技术合规工具包)时,您可以将您的实施称为“认证”。

这个规范系统的既定目标是鼓励竞争,同时受保护的用户形式被锁定在任何特定的实施中。

JSTL特别是JSP规范的一部分,该规范是在JSR 245下开发的。如果您想自己实现,请先阅读spec document

  

你能指点我解释如何为jstl编写我们自己的impl吗?

据我所知,没有具体的教程可以创建自己的Java EE规范实现。几乎在所有情况下,这几乎都是一项专业工作,而这项工作通常只由少数几个组织或个人执行。虽然David Blevins(TomEE成名)给我们偶尔一瞥与此有关的工作,但这种材料并不适合像教程一样的写作。

答案 1 :(得分:3)

jstl-api包含需要实现的接口。 jstl-impl包含这些实现的标准或默认实现。你为什么需要两个?因为如果你想要标准或默认功能你使用jstl-impl,但是如果你想实现自己的行为,你可以覆盖jstl-api中接口的方法。这就是API的含义:应用程序编程接口。最好的问候。