JSP 2.0 vs JSP 2.1
Jetty does not implement JSP directly. Instead it uses a servlet to provide this functionality required by the servle specification. As part of Java EE 5 (the next version of J2EE), the companion of 2.5 servlet specification is the 2.1 JSP specification.
While all Java EE 5 technologies formally depend on java 5 (jre 1.5), this is a soft dependency for servlets and Jetty 6 will compile and run on jre 1.4. However, for JSP the dependency of java 5 is a hard dependency and jre 1.5 must be used to run the server with JSP 2.1
Thus Jetty 6 supports both JSP 2.0 and JSP 2.1 so that jre 1.4 users may be supported.
JSP 2.0 (Jasper)
JSP 2.0 support is provided by two modules in Jetty:
This is the standard API that has been imported from the apache project. Eventually this should be obtained from an external maven dependency.
This module imports apache jasper servlet as a jar, plus its dependencies.
JSP 2.1 (Jesper)
JSP 2.1 support is provided by two modules in Jetty:
This is the standard API that has been imported from the glassfish project and then patched to keep it up to date. Eventually this should be obtained from an external maven dependency.
This module imports apache jasper 2.1 servlet as source into the Jetty repository. This source has been patched to remove the dependency on Java Commons Logging (because it is evil) and built as a jar within the jetty project (nicknamed jesper).