JSTL is a specification for a set of standard tags.
The spec can be downloaded here:
http://jcp.org/aboutJava/communityprocess/final/jsr052/ Before JSTL, companies who wanted to write
JSP pages without scriptlets had to either implement and maintain their own set of custom tags for common tasks such as iterating over data structures or use third party frameworks such as
Struts. This caused a lot of duplication of effort and caused JSP pages to look very different from project to project which increases the ramp up time for new developers at any given company; even if they already had JSP experience.
JSTL (as its name suggests) standardizes the behavior of the most commonly written tags. Now a company can download and install any spec compliant implementation of the JSTL and use them.
The most popular implementation can be downloaded here:
http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html