Home arrow Java & J2EE arrow Page 3 - Overview of Java Web Technologies, Part 1

Creating a Servlet Directory Structure - Java

Today, Budi walks us through a refresher and brief overview of server JSP programming. Today's portion covers Servlet technologies, including servlets and Tomcat. This excerpt comes from chapter one of JavaServer Faces Programming, by Budi Kurniawan (McGraw-Hill/Osborne, ISBN 0-07-222983-7, 2004).

  1. Overview of Java Web Technologies, Part 1
  2. Methods
  3. Creating a Servlet Directory Structure
  4. Reviewing Deployment Descriptors
  5. Servlet Mapping
  6. Defining Context Parameters
  7. Retrieving Context Parameters
  8. Listening to Application Events
  9. Packaging and Deploying a Web Application
By: McGraw-Hill/Osborne
Rating: starstarstarstarstar / 25
March 01, 2004

print this article



To run your servlet applications, you need a servlet container. One such container is Tomcat, the most popular container, which is an open-source project. The code in this book was tested using Tomcat, but you can use any Servlet 2.3-compliant servlet container to run it.

NOTE: JSF is currently based on the Servlet 2.3 specification, but this may change. The release version may be based on the Servlet 2.4 specification (to be released soon also).

When you first install Tomcat (Appendix A provides step-by-step instruction on installing and configuring Tomcat), several directories are created under the directory in which you install Tomcat. Tomcat’s directory structure is shown in Figure 1.

Figure 1 Tomcat’s directory structure.

In Figure 1, Tomcat is installed in the tomcat5 directory. This directory is also known as %CATALINA_HOME%. One of the subdirectories is webapps. This is the parent directory of every Web application that will be run under this Tomcat installation.

When you first install Tomcat, a number of sample applications are also created: jspexamples, ROOT, servlets-examples, and tomcat-docs. Therefore, a directory under webapps is called an application directory, and it contains the resources for a particular application. For an example of an application directory structure, look at the jsp-examples application directory.

Directly beneath an application directory is a directory called WEB-INF, which has special significance in a Web application. Under WEB-INF, you can have a classes directory and a lib directory. The classes directory contains all servlet classes and other Java classes used by the Web application. The directory structure under classes must represent the fully qualified name of the Java class. For example, if you have a servlet class called ch01.MyServlet, you must create a ch01 directory under classes and put the MyServlet.class file in classes/ch01. The lib directory, if one exists, contains all libraries (.jar files) referenced by any resource in the Web application.

All static resources and JSP files are stored directly under the application directory. For better organization, you can create subdirectories under the application directory. For example, you may want to create a jsp directory for all JSP pages and an images
directory for all your image files. A Web client can access anything you put under the application directory, except those under WEB-INF, because WEB-INF is a special directory.

A Web application normally has a deployment descriptor, which is an XML file called web.xml containing the description of the application. You store the web.xml file under WEB-INF. We’ll take a look at the deployment descriptor in the next section.

Buy this book now!Remember: This is part one of the first chapter of JavaServer Faces Programming, by Budi Kurniawan (McGraw-Hill/Osborne, ISBN 0-07-222983). Stay tuned for part 2 of "Overviews of Java Web Technologies," where we learn about JSP, JavaBeans, and Model 2. 
Buy this book!

>>> More Java & J2EE Articles          >>> More By McGraw-Hill/Osborne

blog comments powered by Disqus
escort Bursa Bursa escort Antalya eskort


- More Java Bugs Lead to More Attacks
- Oracle's Java One Brings News, Surprises
- Oracle Patches Java Runtime Environment
- Apple Syncs Java Update with Oracle
- Spring 3.1 Java Development Framework Compat...
- Jelastic Java PaaS Availability and Pricing ...
- NetBeans 7.1 Released, Supports JavaFX 2
- SolarWinds Releases Newest Version of Java M...
- Free Monitoring Tool for Java Apps on Heroku
- Heroku Adds JCloud Platform Support, Java 7 ...
- Java SE 8 Speculation in Full Swing
- Java SE 7 Now Available
- New JVM Language and Java Reporting Tool
- Java 7 Release Update and New Eclipse Toolkit
- The Best Java Netbeans IDE Plugins

Developer Shed Affiliates


Dev Shed Tutorial Topics: