Training

 

 

Popular Courses

Browse Our Free Resources

  • whitepapers
  • whitepapers
  • webinars
  • blogs

Our Locations

Training Centres

Vancouver, BC
Calgary, AB
Edmonton, AB
Toronto, ON
Ottawa, ON
Montreal, QC
Hunt Valley
Columbia

locations map

Calgary

550 6th Av SW
Suite 475
Calgary, AB
T2P 0S2

Toronto

821A Bloor Street West
Toronto, ON
M6G 1M1

Vancouver

409 Granville St
Suite 902
Vancouver, BC
V6C 1T2

U.S. Office

436 York Road
Suite 1
Jenkintown, PA
19046

Other Locations

Dallas, TX
Miami, FL

Home > Training > JSF > Developing JSF Web Applications with Spring and Hibernate Training

Developing JSF Web Applications with Spring and Hibernate Training

Quick Enroll

Course#: WA1746

This course covers how to program JSF Web Applications, how to use the Spring Framework, and to use the Hibernate Object/Relational Mapping (ORM) framework to implement the persistence layer of J2EE applications to develop flexible, testable and maintainable Java EE web applications. Besides covering each of these technologies individually, emphasis is placed on how to utilize them together.

Topics

 
  • The JSF Architecture
  • JSF Request Objects
  • Simple JSF User Interface components
  • The EL Expression Language and Advanced User Interface components
  • JSF Event Handling
  • JSF Data Validation
  • The Need for Spring
  • Inversion of Control
  • Wiring Beans
  • Object/Relational Mapping Concepts
  • Basic Hibernate Mappings
  • Manipulating Persistent Objects
  • Advanced Hibernate Mappings
  • Transactions and Concurrency
 

What you will learn

 

After completing this course, the student should be able to:

  • Become familiar with the JSF tags for the commonly used HTML components in a form
  • Learn how to write event handler methods in a managed bean
  • Learn how to register the event handler method with a GUI component
  • Write navigation rule in faces-config.xml
  • Understand the need for the Spring framework
  • Use inversion of control to increase flexibility and testability of applications
  • Understand the concepts of object/relational mappings
  • Create Hibernate mappings
  • Integrate Spring with the Hibernate ORM framework
  • Retrieve and update persistent objects using Hibernate
  • Use HQL (Hibernate Query Language) and criteria queries
  • Know when to use database and application transactions
 

Audience

 

Software designers, developers and programmers

 

Prerequisites

 
  • Understand Java - Course WA1278 addresses the Java prerequisite
  • Understand Servlets and JSP - Course WA1259 addresses the Servlet and JSP prerequisite
 

Duration

 

Five days.

Outline of WA1746 Developing JSF Web Applications with Spring and Hibernate Training

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

 
  • JSF Navigation
  • Example Action Listener
  • faces-config.xml File
  • JSF Navigation
  • Navigation Rules: Example
  • Choosing Between Redirect & Direct Rendering
  • Navigation: Scenarios
 

Chapter 6 - Validation

 
  • Introduction
  • Validation
  • Standard Validators
  • <f:validateLength>
  • <f:validateDoubleRange>
  • <f:validateLongRange>
  • 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

 
  • HTML Panel
  • Applying Styles
  • Grouping Components
  • Data Table
  • Using a Data Table
  • Data Table Model
  • Using a Data Table
  • Displaying a Header and Footer Row
  • Applying Styles
  • Adding Links to a Row
  • Using Component Binding
  • Handling Action
  • Using the Data Table Model
  • Handling Action
 

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

 
  • Constructing and Rendering a View (JSP way)
  • Facelets
  • Getting Facelets
  • Using Facelets
  • Page Templates
  • Define a Page Template
  • Run the Template Client
  • Summary
 

Chapter 10 - Introduction to the Spring Framework

 
  • What is the Spring Framework?
  • Spring Characteristics
  • Spring Modules
  • Why Spring?
  • Problems with EJB
  • Spring Philosophies
  • Alternatives to Spring
  • Simple Example
  • What is Inversion of Control?
  • IoC Example
 

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
Address Start Date End Date
Instructor Led Virtual 07/17/2017 07/21/2017
Instructor Led Virtual 09/25/2017 09/29/2017
Instructor Led Virtual 11/20/2017 11/24/2017
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
*Your name:

*Your e-mail:

*Phone:

*Company name:

Additional notes:

We have received your message. A sales representative will contact you soon.

Thank you!.

more details
buy this course

07/17/2017 - Online Virtual
$2,495.00
Enroll

09/25/2017 - Online Virtual
$2,495.00
Enroll

11/20/2017 - Online Virtual
$2,495.00
Enroll

Other Details

Register for a courseware sample

It's simple, and free.

 

Thank You!

You will receive an email shortly containing a link to download the requested sample of the labs for this course.