The examples for
this book are packaged as
a standard Java web application, as described in Chapter 2. All servers compliant with the Servlet 2.2
specification (or later) supports this file structure, so you can use
the example application as a guideline when you create your own web
applications. How a web application is installed
isn’t defined by the specification, however, so it
varies between servers. With Tomcat, you simply copy the file
structure to the special webapps
directory and
restart the server. To modify the configuration information for an
application, you need to edit the application’s
WEB-INF/web.xml
file using a text editor. Other
servers may offer special deployment tools that copy the files where
they belong and let you configure the application using a special
tool or through web-based forms.
If you look in the ora
web application
directory, you see that it contains an
index.htm
l file and a
number of directories corresponding to chapters in this book. These
directories contain all the example JSP and HTML pages.
There’s also a WEB-INF
directory with a web.xml
file, a
lib
directory, and a
classes
directory. We will look at this in much
more detail later, starting in Chapter 5, but
here’s a quick review:
The
web.xml
file contains configuration information for the example application in the format defined by the servlet specification. It’s too early to look at the contents of this file now; we will return to parts of it when needed.The
lib
andclasses
directories are standard directories, also defined by the servlet specification. A very common question asked by people new to servlets and JSP (prior to the standard web application format) was, “Where do I store my class files so that the server can find them?” The answer, unfortunately, differed depending on which implementation was used. With the standard web application format, it’s easy to answer this question: if the classes are packaged in a JAR file, store the JAR file in thelib
directory; otherwise use theclasses
directory (with subdirectories mirroring the classes’ package structure). The server will always look for Java class files in these two directories.The
lib
directory for the example application contains a number of JAR files. Theorataglib_2_0.jar
file contains all the Java class files for the custom actions used in this book,oraclasses_2_0.jar
contains the class files for beans and servlets used in the examples,struts.jar
contains the Struts framework classes described in Chapter 18, andjdom.jar
contains JDOM classes used for a validator example in Chapter 21. The other JAR files contain the JSTL Reference Implementation plus all the packages that the JSTL implementation depends on.The
classes
directory contains the class for theJSPSourceServlet
that displays the raw source code for the example JSP pages, so you can see what they look like before they are processed by the server. It also contains all.properties
files with localized text for the example in Chapter 13 and a few test servlets described in Chapter 18.
If you want to try some of your own JSP pages, beans, and custom
actions while reading this book, you can simply add the files to the
example application structure: JSP pages in any directory except
under WEB-INF
, and Java class files in either
the classes
or the lib
directory depending on if the classes are packaged in a JAR file or
not. If you want to use the book’s custom actions in
another application, copy the orataglib_2_0.jar
file to the WEB-INF/lib
directory for the other
application.
Get JavaServer Pages, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.