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. JavaServer Faces Technology
5. Introduction to Facelets
6. Expression Language
7. Using JavaServer Faces Technology in Web Pages
8. Using Converters, Listeners, and Validators
9. Developing with JavaServer Faces Technology
10. JavaServer Faces Technology: Advanced Concepts
11. Using Ajax with JavaServer Faces Technology
12. Composite Components: Advanced Topics and Example
13. Creating Custom UI Components and Other Custom Objects
14. Configuring JavaServer Faces Applications
15. Java Servlet Technology
16. Uploading Files with Java Servlet Technology
17. Internationalizing and Localizing Web Applications
Part III Web Services
18. Introduction to Web Services
19. Building Web Services with JAX-WS
20. Building RESTful Web Services with JAX-RS
21. JAX-RS: Advanced Topics and Example
Part IV Enterprise Beans
22. Enterprise Beans
23. Getting Started with Enterprise Beans
24. Running the Enterprise Bean Examples
25. A Message-Driven Bean Example
26. Using the Embedded Enterprise Bean Container
27. Using Asynchronous Method Invocation in Session Beans
Part V Contexts and Dependency Injection for the Java EE Platform
28. Introduction to Contexts and Dependency Injection for the Java EE Platform
29. Running the Basic Contexts and Dependency Injection Examples
30. Contexts and Dependency Injection for the Java EE Platform: Advanced Topics
31. Running the Advanced Contexts and Dependency Injection Examples
Part VI Persistence
32. Introduction to the Java Persistence API
33. Running the Persistence Examples
34. The Java Persistence Query Language
35. Using the Criteria API to Create Queries
36. Creating and Using String-Based Criteria Queries
37. Controlling Concurrent Access to Entity Data with Locking
38. Using a Second-Level Cache with Java Persistence API Applications
Part VII Security
39. Introduction to Security in the Java EE Platform
40. Getting Started Securing Web Applications
41. Getting Started Securing Enterprise Applications
42. Java EE Security: Advanced Topics
Part VIII Java EE Supporting Technologies
43. Introduction to Java EE Supporting Technologies
44. Transactions
45. Resources and Resource Adapters
46. The Resource Adapter Example
47. Java Message Service Concepts
48. Java Message Service Examples
49. Bean Validation: Advanced Topics
50. Using Java EE Interceptors
Part IX Case Studies
51. Duke's Bookstore Case Study Example
The Duke's Bookstore Interface
The Book Java Persistence API Entity
Enterprise Beans Used in Duke's Bookstore
Facelets Pages and Managed Beans Used in Duke's Bookstore
Custom Components and Other Custom Objects Used in Duke's Bookstore
Properties Files Used in Duke's Bookstore
Deployment Descriptors Used in Duke's Bookstore
Running the Duke's Bookstore Case Study Application
To Build and Deploy Duke's Bookstore Using NetBeans IDE
To Build and Deploy Duke's Bookstore Using Ant
To Run Duke's Bookstore
52. Duke's Tutoring Case Study Example
53. Duke's Forest Case Study Example
Index
|
|
Design and Architecture of Duke’s Bookstore
Duke’s Bookstore is a simple web application that uses many features of JavaServer
Faces technology, in addition to other Java EE 6 features:
JavaServer Faces technology, as well as Contexts and Dependency Injection for the Java EE Platform (CDI):
A set of Facelets pages, along with a template, provides the user interface to the application.
CDI managed beans are associated with each of the Facelets pages.
A custom image map component on the front page allows you to select a book to enter the store. Each area of the map is represented by a JavaServer Faces managed bean. Text hyperlinks are also provided for accessibility.
Action listeners are registered on the image map and the text hyperlinks. These listeners retrieve the ID value for the selected book and store it in the session map so it can be retrieved by the managed bean for the next page.
The h:dataTable tag is used to render the book catalog and shopping cart contents dynamically.
A custom converter is registered on the credit card field on the checkout page, bookcashier.xhtml, which also uses an f:validateRegEx tag to ensure that the input is correctly formatted.
A value-change listener is registered on the name field on bookcashier.xhtml. This listener saves the name in a parameter so the following page, bookreceipt.xhtml, can access it.
Enterprise beans: Local, no-interface-view stateless session bean and singleton bean
A Java Persistence API entity
The packages of the Duke’s Bookstore application, located in the tut-install/examples/case-studies/dukes-bookstore/src/java/dukesbookstore/ directory,
are as follows:
components: Includes the custom UI component classes, MapComponent and AreaComponent
converters: Includes the custom converter class, CreditCardConverter
ejb: Includes two enterprise beans:
A singleton bean, ConfigBean, that initializes the data in the database
A stateless session bean, BookRequestBean, that contains the business logic to manage the entity
entity: Includes the Book entity class
exceptions: Includes three exception classes
listeners: Includes the event handler and event listener classes
model: Includes a model JavaBeans class
renderers: Includes the custom renderers for the custom UI component classes
web.managedbeans: Includes the managed beans for the Facelets pages
web.messages: Includes the resource bundle files for localized messages
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices
|