Document Information

Preface

Part I Introduction

1.  Overview

2.  Using the Tutorial Examples

Part II The Web Tier

3.  Getting Started with Web Applications

4.  Java Servlet Technology

5.  JavaServer Pages Technology

6.  JavaServer Pages Documents

Creating a JSP Document

Declaring Tag Libraries

Including Directives in a JSP Document

Creating Static and Dynamic Content

Using the jsp:root Element

Using the jsp:output Element

Generating XML Declarations

Generating a Document Type Declaration

Identifying the JSP Document to the Container

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 Example JSP Document

This chapter uses the Duke’s Bookstore application, version bookstore5, and the books application to demonstrate how to write JSP pages in XML syntax. The JSP pages of the bookstore5 application use the JSTL XML tags (see XML Tag Library) to manipulate the book data from an XML stream. The books application contains the JSP document books.jspx, which accesses the book data from the database and converts it into the XML stream. The bookstore5 application accesses this XML stream to get the book data.

These applications show how easy it is to generate XML data and stream it between web applications. The books application can be considered the application hosted by the book warehouse’s server. The bookstore5 application can be considered the application hosted by the book retailer’s server. In this way, the customer of the bookstore web site sees the list of books currently available, according to the warehouse’s database.

The source for the Duke’s Bookstore application is located in the tut-install/javaeetutorial5/examples/web/bookstore5/ directory, which is created when you unzip the tutorial bundle (see Chapter 2, Using the Tutorial Examples).

To deploy the books application using NetBeans IDE, follow these steps:

  1. Perform all the operations described in Accessing Databases from Web Applications.

  2. In NetBeans IDE, select File→Open Project.

  3. In the Open Project dialog, navigate to:

    tut-install/javaeetutorial5/examples/web/
  4. Select the books folder.

  5. Select the Open as Main Project check box and the Open Required Projects check box.

  6. Click Open Project.

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

To deploy the books application using the Ant utility, follow these steps:

  1. In a terminal window, go to tut-install/javaeetutorial5/examples/web/books/.

  2. Type ant build. This target will spawn any necessary compilations, copy files to the tut-install/javaeetutorial5/examples/web/books/build/ directory, build a WAR file, and copy the WAR file to the tut-install/javaeetutorial5/examples/web/books/dist/ directory.

  3. To deploy the application, type ant deploy.

To deploy and run the bookstore5 application using NetBeans IDE, follow these steps:

  1. Perform all the operations described in Accessing Databases from Web Applications.

  2. In NetBeans IDE, select File→Open Project.

  3. In the Open Project dialog, navigate to:

    tut-install/javaeetutorial5/examples/web/
  4. Select the bookstore5 folder.

  5. Select the Open as Main Project check box and the Open Required Projects check box.

  6. Click Open Project.

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

  8. To run the applications, open the bookstore URL http://localhost:8080/bookstore5/books/bookstore.

To deploy and run the application using Ant, follow these steps:

  1. In a terminal window, go to tut-install/javaeetutorial5/examples/web/bookstore5/.

  2. Type ant. This command will spawn any necessary compilations, copy files to the tut-install/javaeetutorial5/examples/web/bookstore5/build/ directory, and create a WAR file and copy it to the tut-install/javaeetutorial5/examples/web/bookstore5/dist/ directory.

  3. Start the Application Server.

  4. Perform all the operations described in Creating a Data Source in the Application Server.

  5. To deploy the example, type ant deploy. The deploy target outputs a URL for running the application. Ignore this URL, and instead use the one shown in the next step.

  6. To run the applications, open the bookstore URL http://localhost:8080/bookstore5/books/bookstore.

To learn how to configure the bookstore5 example, refer to the web.xml file, which includes the following configurations:

  • A display-name element that specifies the name that tools use to identify the application.

  • A context-param element that identifies the context path to the XML stream.

  • A context-param element that specifies the JSTL resource bundle base name.

  • A set of servlet elements that identify the JSP files in the application.

  • A set of servlet-mapping elements that identify aliases to the JSP pages identified by the servlet elements.

  • Nested inside a jsp-config element are two jsp-property-group elements, which define the preludes and coda to be included in each page. See Setting JavaBeans Component Properties for more information.

To learn how to configure the books example, refer to the web.xml file, which includes the following configurations:

  • A display-name element that specifies the name that tools use to identify the application.

  • A listener element that identifies the ContextListener class used to create and remove the database access.

  • A servlet element that identifies the JSP page.

  • Nested inside a jsp-config element is a jsp-property-group element, which identifies the JSP page as an XML document. See Identifying the JSP Document to the Container for more information.