我考虑了一整夜的问题,我意识到也许答案就在jar旁边。问题的最后一部分,关于4个Apache Tomcatjar,从链接开始,有2个自述文本文件(SourceREADME,BinaryREADME)
它说:
There are three primary sub-modules:
spec <-- contains Apache's implementation of the API classes
impl <-- contains the implementation of tags from the 1.1
namespace http://java.sun.com/jsp/jstl/*
jstlel <-- contains the implementation of tags from the 1.0
namespace http://java.sun.com/jstl/* and uses the
original JSTL 1.0 version of EL
In addition, the following modules provide supporting functionality
build-tools <-- build support such as checkstyle rules
compat <-- contains the implementation of tags from the 1.0
namespace but uses the JSP container's implementation
of EL (which will be 2.1 or later).
二进制自述文件:
This version of the Standard Tag Library has the following runtime
dependencies:
1. Dependencies provided by a JSP 2.1 container:
- Java 1.5 or later
- Servlet 2.5 or later
- JSP 2.1 or later
2. Additional dependencies
- The XML tag library requires Apache Xalan 2.7.1 or later
---
Apache Xalan 2.7.1
To address performance issues with XSLT processing, this version relies on
implementation specific functionality from Apache Xalan. The following
libraries should be included in the classpath for your application:
- xalan-2.7.1.jar
- serializer-2.7.1.jar
---------------------------------------------------------------------------
ADD DEPENDENCIES TO A WEB APPLICATION
To use this distribution with your own web applications, add the following JAR
files to the '/WEB-INF/lib' directory of your application:
- taglibs-standard-spec-1.2.5.jar
- taglibs-standard-impl-1.2.5.jar
- taglibs-standard-jstlel-1.2.5.jar
- xalan-2.7.1.jar
- serializer-2.7.1.jar
If you do not use JSTL 1.0 tags then the "taglibs-standard-jstlel" JAR may be
omitted. If you do not use the XML library, then the Apache Xalan dependencies
may also be omitted.
If you build you application with Maven, add the following dependencies to
your pom.xml file:
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-spec</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-impl</artifactId>
<version>1.2.5</version>
</dependency>
我还使用jd-gui来反编译jar,然后在taglibs-standard-impl-1.2.5.jar中找到一些类,它们的基类在taglibs- standard-spec-1.2.5.jar中。
也可以使用反编译方法,我会发现,
jstl-1.2.jar是单个jar,但是jar中有两个主要包。-1)org.apache.taglibs.standard-2)javax.servlet.jsp.jstl
javax.servlet.jsp.jstl-1.2.4.jar和javax.servlet.jsp.jstl-api-1.2.1.jar是另一个组jar。
它们每个在每个jar中只有一个主程序包,它们是javax.servlet.jsp.jstl-1.2.4.jar中的org.apache.taglibs.standard命名空间,而javax.servlet中是javax.servlet.jsp.jstl namesapce .jsp.jstl-api-1.2.1.jar。所以我们可以说两个jar的组合等于jstl.jar
情况类似于apache tomcat jars组。不同之处在于apache tomcat实现将更多的类划分为3个或4个不同的jar文件。
因此,到目前为止,我可以说我了解这些Apache Tomcatjar的大多数基本用法。