Chapter 1 - Introduction to JavaServer Faces
|
|
-
What is JavaServer Faces (JSF)?
-
Why Use JSF?
-
Nature of a JSF Application
-
The Sun Reference Implementation (RI)
-
JSF and MVC
-
Faces Servlet
-
Managed Bean
-
The View
-
A Simple JSF Application
-
The Input Form: form.jsp
-
The Result: thanks.jsp
-
The Controller: AddressBean
-
Page Flow or Navigation Rule
-
How Does the Application Work?
-
How Does the Application Work?
-
Under the Covers: The Rendered Form HTML
-
Under the Covers: The Layout Tree
|
|
Chapter 2 - Managed Bean
|
|
-
What is a Managed Bean?
-
Why Do You Need Managed Beans?
-
Managed Bean As a Controller
-
Registering a Managed Bean
-
Lifecycle of a Managed Bean
-
Initializing a Managed Bean
-
What Scope to Use?
-
Value Binding
-
Property Data Conversion
-
Advanced Property Types
-
Advanced Property Types
-
Component Binding
-
Other Binding Types
-
Basic Input Processing
-
Advanced Input Processing
-
JSF Expression Language
-
Language Basics
-
Use of Expression in JSF
-
Basic Expression
-
Property Access Expression
-
Map Access Expression
-
Complex Access Expression
-
Predefined Objects
-
Operators
|
|
Chapter 3 - User Interface Components
|
|
-
JSF UI Components
-
JSF Component Tag Libraries
-
Using the Tag Libraries
-
HTML Tag Library
-
Identifying Components
-
Component Identifier
-
Client Identifier
-
Form Input Field Names
-
Define a Form
-
Labels and Images
-
Buttons
-
Links
-
Adding Parameters to Links
-
Text Input
-
Simple Check Box
-
Check Box Group
-
Check Box Group Example
-
Radio Button
-
List Boxes
-
Dynamic List Box
-
Example
-
Another Example
-
JSF Core Library
-
JSF Core Library - Components
-
JSF Component Model
-
Base Class Hierarchy
-
Useful Base Classes
-
Useful HTML Classes
|
|
Chapter 4 - JSF Event Handling
|
|
-
Request Processing Phases
-
Action Request Processing Phases
-
JSF Event & Listener Model…
-
JSF Event Classes
-
Event Classes
-
Event Classes: Hierarchy
-
Action Event Handling
-
Action Event: Example
-
Action Listener
-
Value Change Event
-
Value Change Event Handler
-
Listener Classes
-
Listener Interfaces
-
Listener Classes: Hierarchy
-
Action Listener Class
-
Value Change Listener Class
-
Phase Event Listener
-
Request Processing Lifecycle
-
Phase Identifiers
|
|
Chapter 5 - JSF Navigation
|
|
|
|
Chapter 6 - Validation
|
|
-
Introduction
-
Validation
-
Standard Validators
-
-
-
-
Checking for Required Values
-
Showing Validation Error Messages
-
Customizing Standard Error Messages
-
Standard Validation Error Messages
-
Validation Process
-
Sequence Diagram
-
Bypassing Validation
-
Immediate Command Components
-
Immediate Input Components
-
Accessing User Input
-
Immediate Command Component Example
-
Immediate Input Component Example
-
Advanced Field Validation
-
Advanced Error Handling
|
|
Chapter 7 - Advanced GUI Components
|
|
|
|
Chapter 8 - JSF Techniques
|
|
-
A Typical Application
-
The Create Form
-
Create Action Method
-
Listing Items
-
Editing an Item
-
Adding the Edit Link
-
The Edit Form
-
Update Item
-
Things to Keep in Mind
|
|
Chapter 9 - Introduction to Facelets
|
|
|
|
Chapter 10 - Introduction to the Spring Framework
|
|
|
|
Chapter 11 - Spring Dependency Injection
|
|
-
Spring Containers
-
Bean Creation
-
Bean Destruction
-
Wiring Beans
-
Bean Element
-
Dependency Injection – Primitives and Strings
-
Dependency Injection - References
-
Dependency Injection – Inner Beans
-
Dependency Injection – Lists, Arrays and Sets
-
Dependency Injection – Maps
-
Dependency Injection - Properties
-
Constructor Injection
-
Constructor Injection – Handling Multiple Arguments
-
Constructor vs. Setter Injection
-
Autowiring
-
Autowiring Example
-
Autowiring
-
Mixing Explicit and Autowiring
-
Special Spring Interfaces
-
BeanPostProcessor
-
BeanFactoryPostProcessor
-
PropertyPlaceholderConfigurer
-
CustomEditorConfigurer
-
Awareness Interfaces
-
Listening For and Publishing Events
-
XML Schema-based Configuration
-
XML Schema – jndi Example
-
XML Schema – util Example
|
|
Chapter 12 - Database Integration and Transaction Management
|
|
-
DAO Support in Spring
-
DataAccessException
-
Using DataSources
-
DAO Templates
-
DAO Templates and Callbacks
-
Using Spring with JDBC
-
Writing Data with JdbcTemplate
-
Reading Data with JdbcTemplate
-
Reading Single-Row Scalar Data
-
Spring 2.5 NamedParameterJdbcTemplate
-
ORM Tool Support in Spring
-
Hibernate
-
Hibernate Session Factory
-
Spring LocalSessionFactoryBean
-
Spring HibernateTemplate
-
Spring HibernateCallback
-
HibernateTemplate Convenience Methods
-
LocalEntityManagerFactoryBean
-
Spring JpaTemplate
-
Spring JpaCallback
-
JpaTemplate Convenience Features
-
Transactions
-
Transaction Management in Spring
-
Spring Transaction Managers
-
Programmatic Transactions
|
|
Chapter 13 - Introduction to Hibernate
|
|
-
What is Hibernate?
-
Relational Database Technology
-
Accessing Relational Databases from Java
-
Domain Models
-
Comparing Object and Relational Models
-
Identity Modeling
-
Granularity of Objects and Tables
-
Association Modeling
-
Navigation
-
Inheritance
-
What is Object/Relational Mapping?
-
Advantages of using an ORM Tool
-
Architecture of Hibernate
-
Architecture of Hibernate
-
Hibernate API
-
Extension Interfaces
-
Hibernate Configuration
-
Hibernate Mappings
-
Hibernate Properties
-
Hibernate XML Configuration Files
-
Non-Managed and Managed Environments
-
Configuration in a Non-Managed Environment
-
Configuration in a Managed Environment
-
Binding SessionFactory to JNDI
-
A Simple Example
-
Alternatives to Hibernate
-
EJB Entity Beans
-
Java Persistence API
-
Hand-Coded Persistence Using JDBC
-
Object-Oriented Databases
-
Other ORM Tools
|
|
Chapter 14 - Basic Mappings
|
|
-
Creating the Domain Model
-
Domain Model
-
Domain Objects
-
Hibernate Requirements
-
Object Identity
-
Primary Keys
-
Natural Keys vs. Surrogate Keys
-
Identifier Property
-
Identifier Generators
-
Hibernate Managed Identifiers
-
Mapping Metadata
-
Mapping Properties
-
Property Access Strategies
-
Derived Properties
-
Preventing Insert/Update
-
Using Database Schemas
-
Quoted SQL Identifiers
-
Specifying Java Packages
-
Entity and Value Types
-
Components
-
Bi-Directional Components
-
Other Component Details
-
Association Mappings
-
Many-to-One Association
-
One-to-Many Association
-
Inheritance Mapping Strategies
-
Table per Concrete Class
-
Table per Subclass
-
Table per Class Hierarchy
|
|
Chapter 15 - Manipulating Persistent Objects
|
|
-
Object States
-
Transient Objects
-
Persistent Objects
-
Detached Objects
-
Object Identity
-
Persisting a Transient Object
-
Retrieving and Updating a Persistent Object
-
Deleting a Persistent Object
-
Updating a Detached Object
-
Transitive Persistence
-
Using save-update
-
Differentiating Between Transient and Detached Objects
|
|
Chapter 16 - Advanced Mappings
|
|
-
One-to-One Associations
-
Many-to-Many Associations
-
Polymorphic Associations
-
Entity vs. Value Types
-
Built-in Mapping Types
-
Using Mapping Types
-
Custom Mapping Types
-
Collections of Value Types
-
Set of Value Types
-
Bag of Value Types
-
List of Value Types
-
Map of Value Types
-
Collections of Components
-
Sorting Collections
-
Sorting Collections
|
|
Chapter 17 - Hibernate Queries
|
|
-
HQL Queries
-
Parameter Binding
-
Pagination
-
Named Queries
-
Polymorphic Queries
-
Restriction
-
String Comparison
-
Logical Operators
-
Ordering the Results
-
Join Queries
-
Join Queries
-
Implicit Joins
-
Where Clause Joins
-
Criteria Queries
-
Polymorphic Criteria Queries
-
Restricting Criteria Queries
-
Comparing Strings in Criteria Queries
-
Using Logical Operators in Criteria Queries
-
Ordering Results in Criteria Queries
-
Using Joins in Criteria Queries
-
Using Dot Notation to Get Component Properties
|
|
Chapter 18 - Transactions, Concurrency and Performance
|
|
-
Database Transactions
-
JDBC and JTA Transactions
-
Hibernate Transactions
-
Flushing the Hibernate Session
-
Isolation Issues
-
Isolation Levels
-
Configuring the Isolation Level
-
Pessimistic Locking
-
Application Transactions
-
Application Transaction Isolation
-
Managed Versioning
-
Using Existing Properties to Implement Optimistic Locking
-
Caching
-
Hibernate Cache Architecture
-
The First-Level Cache
-
The Second-Level Cache
-
Cache Concurrency Strategies
-
Enabling the Second-Level Cache
-
Cache Regions
-
Specifying a Cache Provider
-
Support for Cache Providers
-
Explicitly Evicting Objects From the Second-Level Cache
-
Fetching Strategies
-
Fetching Strategies in Mappings - Single Point Associations
-
Fetching Strategies in Mappings - Collections
-
Fetching Strategies in Mappings - Batches
-
Explicit Initialization of Lazily Loaded Objects
-
Fetching Strategies in HQL Queries
-
Fetching Strategies in Criteria Queries
-
The N+1 Selects Issue
-
The N+1 Selects Issue
-
Report Queries - Projections
-
Report Queries - Aggregation
-
Report Queries - Grouping
|
|
Chapter 19 - Using JSF with Spring
|
|
-
JSF Integration Options
-
DelegatingVariableResolver
-
SpringBeanVariableResolver
-
SpringBeanFacesELResolver
-
Spring Bean Scopes
-
FacesContextUtils
-
JSF with Spring Web Flow
|