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.

Deploying and Packaging Tag Libraries

There are three main ways of deploying and using tag libraries with a JSP engine. JSP developers must be familiar with all three, because each of them calls for slightly different syntax in the taglib directive. (This means that JSPs need to be modified slightly if they are to be deployed in a different way – surely an oversight in the JSP specification.)

No Packaging

The first and simplest means of deployment is simply placing the tag library descriptor under the server's document root, and the Java classes required to implement the tags in the server (or system) classpath. There is no attempt to package a tag library or an application. In this case, the taglib directive will look like this:

<%@ taglib uri="./hello.tld" prefix="examples" %>

The uri is simply a path on the host server, which may be relative (as in this example) or absolute. In this approach, the tag library desciptor (although not the classes implementing the tag handler) is always publicly available: anyone could view it by simply typing in its URL. This approach is easy to work with, but can create problems at deployment time: the JSP engine or system's classpath has to be hand edited to include the classes implementing the tag.

WAR

In a second approach to deployment, the tag library descriptor, the Java classes required to implement the tags, and the JSPs that use the tag library can be shipped together as a web application, in a Web ARchive file (better known a WAR file). This is the approach we've taken in this chapter. It is very attractive because it offers painless portability between servers and very easy deployment. In this case, the taglib directive will look like this:

<%@ taglib uri="/hello" prefix="examples" %>

Note that we don't specify the actual filename of the TLD, so there is no need to use the TLD extension. The server knows where to look in the current web application's WAR for a .tld file matching this URI because the mapping from URI to file location is specified in the web.xml file in a <taglib> element. The complete web.xml file for our simple example looked like this:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN'
'http://java.sun.com/j2ee/dtds/web-app_2.2.dtd'>

<web-app>
	<display-name>tagext</display-name>
	<description>Tag extensions examples</description>
 
	<session-config>
 		<session-timeout>0</session-timeout>
 	</session-config>
 
<taglib>
	<taglib-uri>/hello</taglib-uri>

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.