Movatterモバイル変換


[0]ホーム

URL:


Document Information

Preface

Part I Introduction

1.  Overview

2.  Using the Tutorial Examples

Part II The Web Tier

3.  Getting Started with Web Applications

Web Applications

Web Application Life Cycle

Web Modules

Packaging Web Modules

Deploying a WAR File

Setting the Context Root

Deploying a Packaged Web Module

Testing Deployed Web Modules

Listing Deployed Web Modules

Updating Web Modules

Updating a Packaged Web Module

Dynamic Reloading

Undeploying Web Modules

Configuring Web Applications

Mapping URLs to Web Components

Setting the Component Alias

Declaring Welcome Files

Setting Initialization Parameters

Mapping Errors to Error Screens

Declaring Resource References

Declaring a Reference to a Resource

Declaring a Reference to a Web Service

Duke's Bookstore Examples

Accessing Databases from Web Applications

Populating the Example Database

Creating a Data Source in the Application Server

Further Information about Web Applications

4.  Java Servlet Technology

5.  JavaServer Pages Technology

6.  JavaServer Pages Documents

7.  JavaServer Pages Standard Tag Library

8.  Custom Tags in JSP Pages

9.  Scripting in JSP Pages

10.  JavaServer Faces Technology

11.  Using JavaServer Faces Technology in JSP Pages

12.  Developing with JavaServer Faces Technology

13.  Creating Custom UI Components

14.  Configuring JavaServer Faces Applications

15.  Internationalizing and Localizing Web Applications

Part III Web Services

16.  Building Web Services with JAX-WS

17.  Binding between XML Schema and Java Classes

18.  Streaming API for XML

19.  SOAP with Attachments API for Java

Part IV Enterprise Beans

20.  Enterprise Beans

21.  Getting Started with Enterprise Beans

22.  Session Bean Examples

23.  A Message-Driven Bean Example

Part V Persistence

24.  Introduction to the Java Persistence API

25.  Persistence in the Web Tier

26.  Persistence in the EJB Tier

27.  The Java Persistence Query Language

Part VI Services

28.  Introduction to Security in the Java EE Platform

29.  Securing Java EE Applications

30.  Securing Web Applications

31.  The Java Message Service API

32.  Java EE Examples Using the JMS API

33.  Transactions

34.  Resource Connections

35.  Connector Architecture

Part VII Case Studies

36.  The Coffee Break Application

37.  The Duke's Bank Application

Part VIII Appendixes

A.  Java Encoding Schemes

B.  About the Authors

Index

 

The Java EE 5 Tutorial

Java Coffee Cup logo
PreviousContentsNext

Web Modules

In the Java EE architecture, web components and static web content files suchas images are calledweb resources. Aweb module is the smallest deployable andusable unit of web resources. A Java EE web module corresponds to aweb application as defined in the Java Servlet specification.

In addition to web components and web resources, a web module cancontain other files:

  • Server-side utility classes (database beans, shopping carts, and so on). Often these classes conform to the JavaBeans component architecture.

  • Client-side classes (applets and utility classes).

A web module has a specific structure. The top-level directory of a webmodule is thedocument root of the application. The document root is where JSPpages,client-side classes and archives, and static web resources, such as images, arestored.

The document root contains a subdirectory namedWEB-INF, which contains the following filesand directories:

  • web.xml: The web application deployment descriptor

  • Tag library descriptor files (seeTag Library Descriptors)

  • classes: A directory that containsserver-side classes: servlets, utility classes, and JavaBeans components

  • tags: A directory that contains tag files, which are implementations of tag libraries (seeTag File Location)

  • lib: A directory that contains JAR archives of libraries called by server-side classes

If your web module does not contain any servlets, filter, or listener componentsthen it does not need a web application deployment descriptor. In other words,if your web module only contains JSP pages and static files then youare not required to include aweb.xml file. Thehello1 example, first discussedinPackaging Web Modules, contains only JSP pages and images and therefore does not includea deployment descriptor.

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

A web module can be deployed as an unpacked file structure orcan be packaged in a JAR file known as a web archive (WAR)file. Because the contents and use of WAR files differ from those ofJAR files, WAR file names use a.war extension. The web modulejust described is portable; you can deploy it into any web container thatconforms to the Java Servlet Specification.

To deploy a WAR on the Application Server, the file must also containa runtime deployment descriptor. The runtime deployment descriptor is an XML file thatcontains information such as the context root of the web application and themapping of the portable names of an application’s resources to the Application Server’sresources. The Application Server web application runtime DD is namedsun-web.xml and islocated in theWEB-INF directory along with the web application DD. Thestructure of a web module that can be deployed on the Application Serveris shown inFigure 3-5.

Figure 3-5 Web Module Structure

Diagram of web module structure. WEB-INF and web pages are under the root. Under WEB-INF are descriptors and the lib, classes, and tags directories.

Packaging Web Modules

A web module must be packaged into a WAR in certain deploymentscenarios and whenever you want to distribute the web module. You package aweb module into a WAR by executing thejar command in a directory laidout in the format of a web module, by using the Antutility, or by using the IDE tool of your choice. This tutorial showsyou how to use NetBeans IDE or Ant to build, package, and deploythe sample applications.

To build thehello1 application with NetBeans IDE, follow these instructions:

  1. Select File→Open Project.

  2. In the Open Project dialog, navigate to:

    tut-install/javaeetutorial5/examples/web/
  3. Select thehello1 folder.

  4. Select the Open as Main Project check box.

  5. Click Open Project.

  6. In the Projects tab, right-click thehello1 project and select Build.

To build thehello1 application using the Ant utility, follow these steps:

  1. In a terminal window, go totut-install/javaeetutorial5/examples/web/hello1/.

  2. Typeant. This command will spawn any necessary compilations, copy files to thetut-install/javaeetutorial5/examples/web/hello1/build/ directory, create the WAR file, and copy it to thetut-install/javaeetutorial5/examples/web/hello1/dist/ directory.

Deploying a WAR File

You can deploy a WAR file to the Application Server in afew ways:

  • Copying the WAR into thedomain-dir/autodeploy/ directory.

  • Using the Admin Console.

  • By runningasadmin orant to deploy the WAR.

  • Using NetBeans IDE.

All these methods are described briefly in this chapter; however, throughout the tutorial,you will useant and NetBeans IDE for packaging and deploying.

Setting the Context Root

Acontext root identifies a web application in a Java EE server. Youspecify the context root when you deploy a web module. A context rootmust start with a forward slash (/) and end with a string.

In a packaged web module for deployment on the Application Server, thecontext root is stored insun-web.xml.

To edit the context root, do the following:

  1. Expand your project tree in the Projects pane of NetBeans IDE.

  2. Expand the Web Pages and WEB-INF nodes of your project.

  3. Double-clicksun-web.xml.

  4. In the editor pane, click Edit As XML.

  5. Edit the context root, which is enclosed by thecontext-root element.

Deploying a Packaged Web Module

If you have deployed thehello1 application, before proceeding with this section,undeploy the application by following one of the procedures described inUndeploying Web Modules.

Deploying with the Admin Console
  1. Expand the Applications node.

  2. Select the Web Applications node.

  3. Click the Deploy button.

  4. Select the radio button labeled “Package file to be uploaded to the Application Server.”

  5. Type the full path to the WAR file (or click on Browse to find it), and then click the OK button.

  6. Click Next.

  7. Type the application name.

  8. Type the context root.

  9. Select the Enabled box.

  10. Click the Finish button.

Deploying withasadmin

To deploy a WAR withasadmin, open a terminal window or command promptand execute

asadmin deployfull-path-to-war-file
Deploying with Ant

To deploy a WAR with the Ant tool, open a terminal windowor command prompt in the directory where you built and packaged the WAR,and execute

ant deploy
Deploying with NetBeans IDE

To deploy a WAR with NetBeans IDE, do the following:

  1. Select File→Open Project.

  2. In the Open Project dialog, navigate to your project and open it.

  3. In the Projects tab, right-click the project and select Undeploy and Deploy.

Testing Deployed Web Modules

Now that the web module is deployed, you can view it byopening the application in a web browser. By default, the application is deployedto hostlocalhost on port 8080. The context root of the webapplication ishello1.

To test the application, follow these steps:

  1. Open a web browser.

  2. Enter the following URL in the web address box:

    http://localhost:8080/hello1
  3. Enter your name, and click Submit.

The application should display the name you submitted as shown inFigure 3-3andFigure 3-4.

Listing Deployed Web Modules

The Application Server provides two ways to view the deployed web modules: theAdmin Console and theasadmin command.

To use the Admin Console:

  1. Open the URLhttp://localhost:4848/asadmin in a browser.

  2. Expand the nodes Applications→Web Applications.

Use theasadmin command as follows:

asadmin list-components

Updating Web Modules

A typical iterative development cycle involves deploying a web module and then makingchanges to the application components. To update a deployed web module, you mustdo the following:

  1. Recompile any modified classes.

  2. If you have deployed a packaged web module, update any modified components in the WAR.

  3. Redeploy the module.

  4. Reload the URL in the client.

Updating a Packaged Web Module

This section describes how to update thehello1 web module that you packaged.

First, change the greeting in the filetut-install/javaeetutorial5/examples/web/hello1/web/index.jsp to

<h2>Hi, my name is Duke. What’s yours?</h2>

To update the project in NetBeans IDE:

  • Right-click on the project and select Build.

  • Right-click on the project and select Undeploy and Deploy.

To update the project using the Ant build tool:

  • Typeant to copy the modified JSP page into thebuild directory.

  • Typeant deploy to deploy the WAR file.

To view the modified module, reload the URL in the browser.

You should see the screen inFigure 3-6 in the browser.

Figure 3-6 New Greeting

Screen capture of Duke's new greeting,
Dynamic Reloading

If dynamic reloading is enabled, you do not have to redeploy an applicationor module when you change its code or deployment descriptors. All you haveto do is copy the changed JSP or class files into thedeployment directory for the application or module. The deployment directory for a web modulenamedcontext-root isdomain-dir/applications/j2ee-modules/context-root. The server checks for changes periodically and redeploys theapplication, automatically and dynamically, with the changes.

This capability is useful in a development environment, because it allows code changesto be tested quickly. Dynamic reloading is not recommended for a production environment,however, because it may degrade performance. In addition, whenever a reload is done,the sessions at that time become invalid and the client must restart thesession.

To enable dynamic reloading, use the Admin Console:

  1. Select the Applications Server node.

  2. Select the Advanced tab.

  3. Check the Reload Enabled box to enable dynamic reloading.

  4. Enter a number of seconds in the Reload Poll Interval field to set the interval at which applications and modules are checked for code changes and dynamically reloaded.

  5. Click the Save button.

In addition, to load new servlet files or reload deployment descriptor changes, youmust do the following:

  1. Create an empty file named.reload at the root of the module:

    domain-dir/applications/j2ee-modules/context-root/.reload
  2. Explicitly update the.reload file’s time stamp each time you make these changes. On UNIX, execute

    touch .reload

For JSP pages, changes are reloaded automatically at a frequency set in theReload Poll Interval field. To disable dynamic reloading of JSP pages, set theReload Poll Interval field value to –1.

Undeploying Web Modules

You can undeploy web modules in four ways: you can use NetBeansIDE, the Admin Console, theasadmin command, or the Ant tool.

To use NetBeans IDE:

  1. Ensure the Application Server is running.

  2. In the Runtime window, expand the Application Server instance and the node containing the application or module.

  3. Right-click the application or module and choose Undeploy.

To use the Admin Console:

  1. Open the URLhttp://localhost:4848/asadmin in a browser.

  2. Expand the Applications node.

  3. Select Web Applications.

  4. Click the check box next to the module you wish to undeploy.

  5. Click the Undeploy button.

Use theasadmin command as follows:

asadmin undeploycontext-root

To use the Ant tool, execute the following command in the directory whereyou built and packaged the WAR:

ant undeploy
PreviousContentsNext

Copyright © 2010, Oracle and/or its affiliates. All rights reserved.Legal Notices


[8]ページ先頭

©2009-2025 Movatter.jp