【问题标题】:difference between jstl-api and jstl-impljstl-api 和 jstl-impl 的区别
【发布时间】:2013-03-02 16:40:20
【问题描述】:

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

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

【问题讨论】:

    标签: java jar jstl


    【解决方案1】:

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

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

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

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

    您能否指出任何解释如何为 jstl 编写我们自己的 impl 的教程?

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

    【讨论】:

    • 我的 glassfish 服务器有javax.servlet.jsp.jstl.jar,但没有jstl-impl.jar。如果我想在我的 JSP 文件中使用 JSTL,这会是个问题吗?我的教程使用 GF3 并且有两个 jar,而我的环境有 GF4 和 servlet-jstl jar。
    【解决方案2】:

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

    【讨论】:

    猜你喜欢
    • 2020-04-10
    • 1970-01-01
    • 2015-09-30
    • 2011-04-12
    • 1970-01-01
    • 2012-07-21
    • 1970-01-01
    • 2012-02-24
    • 1970-01-01
    相关资源
    最近更新 更多