Download
FAQ History |
API
Search Feedback |
The Example JavaServer Faces Application
The JavaServer Faces technology chapters of this tutorial primarily use a rewritten version of the Duke's Bookstore example to illustrate the basic concepts of JavaServer Faces technology. This version of the Duke's Bookstore example includes several JavaServer Faces technology features:
- The
FacesServlet
included in the JavaServer Faces implementation accepts incoming requests and passes them to the implementation for processing. Therefore, the application does not need to include a servlet (such as theDispatcher
servlet) that processes request parameters and dispatches to application logic, as do the other versions of Duke's Bookstore.- A custom image map component that allows you to select the locale for the application.
- Navigation configured in a centralized application configuration resource file. This eliminates the need to calculate URLs, as other versions of the Duke's Bookstore application must do.
- Backing beans associated with the pages. These beans hold the component data and perform other processing associated with the components. This processing includes handling the event of clicking the buttons and hyperlinks.
- Tables that display the books from the database and the shopping cart are rendered with the
dataTable
tag, which is used to dynamically render data in a table.ThedataTable
tag onbookstore6/web/bookshowcart.jsp
also includes input components.- A custom validator and a custom converter are registered on the credit card field of the
bookcashier.jsp
page.- A
ValueChangeListener
is registered on the Name field ofbookcashier.jsp
. This listener saves the name in the parameters so thatbookstore6/web/bookreceipt.jsp
can access it.This version of Duke's Bookstore includes the same pages listed in Table 12-1. It also includes the
bookstore6/web/chooselocale.jsp
page, which displays the custom image map that allows you to select the locale of the application. This page is displayed first and advances directly to thebookstore.jsp
page after the locale is selected.The packages of the Duke's Bookstore application are:
backing
: includes the backing bean classescomponents
: includes the custom UI component classesconverters
: includes the custom converter classlisteners
: includes the event handler and event listener classesmodel
: includes a model bean classrenderers
: includes the custom renderersresources
: includes custom error messages for the custom converter and validatortaglib
: includes custom tag handler classesutil
: includes a message factory classvalidators
: includes a custom validator classChapter 19 describes how to program backing beans, custom converters and validators, and event listeners. Chapter 20 describes how to program event handlers, custom components, renderers, and tag handlers.
The source code for the application is located in the
<
INSTALL
>/j2eetutorial14/examples/web/bookstore6/
directory. A samplebookstore6.war
is provided in<
INSTALL
>/j2eetutorial14/examples/web/provided-wars/
. To build, package, deploy, and run the example, follow these steps:
- Build and package the
bookstore
common files as described in Duke's Bookstore Examples.- Go to
<INSTALL>
/j2eetutorial14/examples/web/bookstore6/
and runasant build
.- Start the Sun Java System Application Server Platform Edition 8.
- Perform all the operations described in Accessing Databases from Web Applications.
- Start
deploytool
.- Create a Web application called
bookstore6
by running the New Web Component Wizard. Select FileNewWeb Component.- In the New Web Component wizard:
- Select the Create New Stand-Alone WAR Module radio button.
- In the WAR Location field, enter
<INSTALL>
/j2eetutorial14/examples/web/bookstore6.war.
- In the WAR Name field, enter
bookstore6
.- In the Context Root field, enter
/bookstore6
.- Click Edit Contents.
- In the Edit Contents dialog box, navigate to
<INSTALL>
/j2eetutorial14/examples/web/bookstore6/build/
. Select everything in thebuild
directory and click Add.- In the Contents tree, drag the
resources
package to theWEB-INF/classes
directory.- In the Contents tree, drag
faces-config.xml
to theWEB-INF
directory.- In the Edit Contents dialog box, navigate to
<INSTALL>/j2eetutorial14/examples/web/bookstore/dist/
. Selectbookstore.jar
and click Add.- In the Edit Contents dialog box, navigate to
<J2EE_HOME>
/lib/
and select thejsf-api.jar
. Click Add, and then Click OK.- Click Next.
- Select the Servlet radio button.
- Click Next.
- Select
javax.faces.webapp.FacesServlet
from the Servlet Class combo box.- In the Startup Load Sequence Position combo box, enter
1
.- Click Finish.
- Provide a mapping for the
FacesServlet
.- Specify where state is saved.
- Set preludes and codas for all JSP pages.
- Add the listener class
listeners.ContextListener
(described in Handling Servlet Life-Cycle Events).- Add a resource reference for the database.
- Select FileSave.
- Deploy the application.
- Select ToolsDeploy.
- In the Connection Settings frame, enter the user name and password you specified when you installed the Application Server.
- Click OK.
- A pop-up dialog box will display the results of the deployment. Click Close.
- Open the URL
http://localhost:8080/bookstore6
in a browser.
Download
FAQ History |
API
Search Feedback |
All of the material in The J2EE(TM) 1.4 Tutorial is copyright-protected and may not be published in other works without express written permission from Sun Microsystems.