我是Java EE技术的初学者。我想知道jstl-api
jar和jstl-impl
jar之间有什么区别。
为什么API和实现是分开的?这是否意味着还有其他可用的实现?
答案 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的含义:应用程序编程接口。最好的问候。