Reviews : Java Books :
Professional Java Server Programming J2EE Edition : Chapter 12

Professional Java Server Programming J2EE Edition
Chapter 12

Title: Professional Java Server Programming J2EE Edition
ISBN: 1861004656
US Price: $ 64.99
Canadian Price:
C$ 97.95
UK Price: £ 46.99
Publication Date: September 2000
Pages: 1633
© Wrox Press Limited, US and UK.
Note that as a tag library can include any number of tags, we'll add extra <tag> elements to this tag library descriptor for the remaining examples in this chapter.

Once everything is in the right place (see Getting it running below), hello.jsp should look like this in your browser:

You might wish to experiment to see what happens when you fail to close the tags, or try to access tags that are not found in your imported tag library. The resulting error messages are not specified in the JSP 1.1 specification, but most implementations should be reasonably informative and helpful.

Getting it Running

I'll discuss deployment options for tag libraries in more detail later, but in the meantime, let's look at how we can get this example running in Tomcat or any other server that supports the JSP 1.1 and Servlet 2.2 specifications.

If you have Tomcat, you can get started very quickly by copying hello.war (see instructions below) to the webapps directory in the Tomcat installation directory. Once you have done that, start Tomcat and type http://localhost:8080/tagext/hello.jsp in your favorite browser. The output as above should come up. Below is included a somewhat more detailed explanation of how this works.

The best option is to package the tag library descriptor, the Java classes that implement the tags in the library, and the JSPs that use the tags in a single, self-contained, Web ARchive file, or WAR, as we have done here. This file can then be loaded into a JSP 1.1-compliant JSP engine and constitutes a self-contained application, with its own context path on the web server. (A context path is the directory under the server root at which the server publishes the top-level directory of the contents of the WAR. For example, the contents of the root directory of our WAR are published by the web server at <server root>/tagext, assuming that tagext is the name we give our application when we load it into the server. The WAR's internal directory structure will determine the published directory structure under the context root.)

Remember that a WAR is a JAR file, with special directories and a file named web.xml located in its /WEB- INF directory. The following shows the structure of the WAR file for this simple example; the source can be found under the folder hello in the code download:

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.