Home | Download | PDF | API | FAQ | Search | Feedback | History

> ## The Example JSP Document

> This chapter uses the Duke's Bookstore and `books` applications 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, page 180) 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 `<``INSTALL``>/javaeetutorial5javaeetutorial5/examples/web/bookstore5/` directory, which is created when you unzip the tutorial bundle (see About the Examples, page xxx).

> To build the Duke's Bookstore application, follow these steps:

> 1. In a terminal window, go to `<``INSTALL``>/javaeetutorial5/examples/web/bookstore5/`.
> 2. Start the Application Server.
> 3. Perform all the operations described in Accessing Databases from Web Applications (page 54).

> To package and deploy the application using `ant`, follow these steps:

> 1. Run `ant`.
> 2. Run `ant` `deploy`. Ignore the URL the deploy target gives you to run the application. Use the URL given near the end of this section.

> To learn how to configure the 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 (page 134) for more information.

> To build the `books` application, follow these steps:

> 1. In a terminal window, go to `<``INSTALL``>/javaeetutorial5/examples/web/books/`.
> 2. Run `ant` `build`. This target will spawn any necessary compilations, copy files to the `<``INSTALL``>/javaeetutorial5/examples/web/books/build/` directory, build a WAR file, and copy the WAR file to the `<``INSTALL``>/javaeetutorial5/examples/web/books/dist/` directory.

> To deploy the application run `ant deploy`. Ignore the URL that the deploy target gives you to run the application. Use the URL given at the end of this section instead.

> To learn how to configure the 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.

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