JSP Samples

This is a collection of samples demonstrating the usage of different parts of the Java Server Pages (JSP) specification. Both JSP 2.0 and JSP 1.2 examples are presented below.

These examples will only work when these pages are being served by a servlet engine; of course, we recommend Tomcat. They will not work if you are viewing these pages via a "file://..." URL.

To navigate your way through the examples, the following icons will help:
 
Execute the example
Look at the source code for the example
Return to this screen

Tip: For session scoped beans to work, the cookies must be enabled. This can be done using browser options.
 
JSP 2.0 Examples
Expression Language
Basic Arithmetic Execute Source
Basic Comparisons Execute Source
Implicit Objects Execute Source
Functions Execute Source
Composite Expressions Execute Source

SimpleTag Handlers and JSP Fragments
Hello World Tag Execute Source
Repeat Tag Execute Source
Book Example Execute Source

Tag Files
Hello World Tag File Execute Source
Panel Tag File Execute Source
Display Products Example Execute Source

New JSP XML Syntax (.jspx)
XHTML Basic Example Execute Source
SVG (Scalable Vector Graphics) Execute Source

Other JSP 2.0 Features
<jsp:attribute> and <jsp:body> Execute Source
Shuffle Example Execute Source
Attributes With Dynamic Names Execute Source
JSP Configuration Execute Source

JSP 1.2 Examples
Numberguess  Execute Source
Date  Execute Source
Snoop Execute Source
ErrorPage  Execute Source
Carts  Execute Source
Checkbox  Execute Source
Color  Execute Source
Calendar  Execute Source
Include  Execute Source
Forward  Execute Source
Plugin  Execute Source
JSP-Servlet-JSP  Execute Source
Custom tag example Execute Source
XML syntax example Execute Source

Tag Plugins
If  Execute Source
ForEach  Execute Source
Choose  Execute Source

Other Examples
FORM Authentication  Execute
Example that demonstrates protecting a resource and using Form-Based authentication. To access the page the user must have role of either "tomcat" or "role1". By default no user is configured to have these roles.
Servlet 3.0 Asynchronous processing examples 
Examples that demonstrate using Servlet 3.0 asynchronous request processing API.
async0  Execute
async1  Execute
async2  Execute
async3  Execute
stockticker  Execute
Comet processing example 
Example that demonstrates asynchronous request processing using Comet API. See "Advanced IO" chapter in the User Guide for details. It works only with connectors that support Comet processing (APR or NIO HTTP connectors).
Comet Chat  Execute