The J2EETM Tutorial
Home
TOC
PREV TOP NEXT Search
Feedback

Packaging Web Components

You add web components to a J2EE application in a package called a web application archive (WAR), which is a JAR similar to the package used for Java class libraries. A WAR usually contains other resources besides web components, including:

A WAR has a specific hierarchical directory structure. The top-level directory of a WAR is the document root of the application. The document root is where JSP pages, client-side classes and archives, and static web resources are stored.

The document root contains a subdirectory called WEB-INF, which contains the following files and directories:

You can also create application-specific subdirectories (that is , package directories) in either the document root or the WEB-INF/classes directory.


Note: When you add classes and archives to a WAR, deploytool automatically packages them in the WEB-INF subdirectory. This is correct for web components and server-side utility classes, but incorrect for client-side classes such as applets and any archives accessed by applets. To put client-side classes and archives in the correct location you must "drag" them to the document root after you have added them to the archive.

Creating a WAR

When you add the first web component to a J2EE application, deploytool automatically creates a new WAR to contain the component. A later section describes how to add a web component.

You can also manually create a WAR in three ways:

Note that in order to use any of these methods, you must also manually create a deployment descriptor in the correct format.

Adding a WAR to a J2EE Application

If you manually create a WAR or you obtain a WAR from another party, you can add it to an existing J2EE application as follows:

  1. Select a J2EE application.
  2. Select File->Add->Web WAR.
  3. Navigate to the directory containing the WAR, select the WAR, and click Add Web WAR.

See The Example JSP Pages for an example.

You can also add a WAR to a J2EE application using the packager tool. The Duke's Bank application described in Building, Deploying, and Running the Application uses packager.

Adding a Web Component to a WAR

The following procedure describes how to create and add the web component in the Hello1App application to a WAR. Although the web component wizard solicits WAR and component-level configuration information when you add the component, this chapter describes how to add the component and provide configuration information at a later time using application, WAR, and web component inspectors:

  1. Go to j2eetutorial/examples/src and build the example by running ant hello1. For detailed instructions, see About the Examples).
  2. Create a J2EE application called Hello1App.
    1. Select File->New->Application.
    2. Click Browse.
    3. In the file chooser, navigate to j2eetutorial/examples/src/web/hello1.
    4. In the File Name field, enter Hello1App .
    5. Click New Application.
    6. Click OK.
  3. Create the WAR and add the GreetingServlet web component and all the of the Hello1App application content.
    1. Invoke the web component wizard by selecting File->New->Web Component.
    2. In the combo box labelled Create New WAR File in Application select Hello1App. Enter Hello1WAR in the field labeled WAR Display Name.
    3. Click Edit to add the content files.
    4. In the Edit Contents dialog, navigate to j2eetutorial/examples/build/web/hello1. Select GreetingServlet.class, ResponseServlet.class, and duke.waving.gif, and click Add. Click OK.
    5. Click Next.
    6. Select the servlet radio button.
    7. Click Next.
    8. Select GreetingServlet from the Servlet Class combo box.
    9. Click Finish.
  4. Add the ResponseServlet web component.
    1. Invoke the web component wizard by selecting File->New->Web Component.
    2. In the combo box labelled Add to Existing WAR File select Hello1WAR.
    3. Click Next.
    4. Select the servlet radio button.
    5. Click Next.
    6. Select ResponseServlet from the Servlet Class combo box.
    7. Click Finish.

Note: You can add JSP pages to a WAR without creating a new web component for each page. You simply select the WAR, click Edit to edit the contents of the WAR, and add the pages. The JSP version of the Hello, World application, described in Updating Web Components, shows how to do this. If you choose this method, you will not be able to specify alias paths (described in Specifying an Alias Path) for the pages.

Home
TOC
PREV TOP NEXT Search
Feedback