To register online click here, or call
800-413-0939
Our Registrars will be happy to assist you.

Spring Hibernate Training Course

Programming Java™ EE and Frameworks: Web Application Development Using Spring, Hibernate, AJAX and Web Services

Duration: 5 Days | Price: $2595 *California residents call for pricing. | Class Dates:

Click here for information regarding remote access training.

Students Will Learn:

  • Java Web Application Architecture
  • Developing Servlets & JSPs
  • Database Persistence with and without Hibernate
  • Designing with Spring
  • Adding Spring to Existing Solutions
  • AJAX Integration with Java
  • Using JavaBeans in Web Applications
  • Web Services in a Java Environment
  • JNDI and JDBC

Course Description: This course provides students hands on experience with cutting edge Java Enterprise (Java EE) technologies, creating dynamic web and enterprise applications that utilize several Java frameworks and technologies including JSP's and Servlets, Java Persistence API (JPA), JNDI, JDBC, AJAX, Web Services, Spring and Hibernate. The goal is to enable students to exploit the Java EE platform and accompanying frameworks to facilitate the development of distributed, web-enabled applications.

Students will architectural design issues as well as specific coding models for a variety of Java EE components. By working with several Java frameworks in hands on labs, students will build applications that incorporate many of the patterns commonly used in these and other Java frameworks. Upon completion of the course, students should be able to learn and effectively utilize frameworks appropriate for their application environment.

Starting with Java Server Pages and Servlets, the course then introduces some of the most widely used frameworks to provide concrete illustrations of the services available. Since coding and deployment files are standardized by the Java EE specifications, students may readily apply the skills learned in this class to write code for any compliant server, including Apache Tomcat, JBoss, WebSphere, Oracle, WebLogic and many others.

Students will learn how to utilize ANT, a flexible and powerful XML-based build utility, to compile, deploy and execute stand-alone and enterprise Java applications. They will also use ANT to execute standalone client applications that communicate with Java EE applications. Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency.

Course Prerequisites: Java SE 5+ programming experience and an understanding of object-oriented design principles. Fundamental knowledge of XML, HTML, and JavaScript is helpful but not required. HOTT's course Java Programming or equivalent knowledge provides a solid foundation.

Programming Java EE and Frameworks Course Overview:

Introduction to Java EE Web Applications
  • Server-Side Application Development using Java EE
  • The Role of Java Frameworks, Components and Services
  • Using Web-Based Components in Application Design
  • Structure of Java EE Web Components
  • Deploying Web Applications
  • Java EE Web Container Services
Using ANT
  • Understanding the ANT Build File
  • Designing ANT Targets
  • Using ANT Standard Tasks
  • Using ANT Properties
  • Compiling and Executing Java Applications
  • Building WAR, EAR and JAR Deployment Files
Introduction to Servlets
  • Servlet Architecture and Advantages
  • The Role of Servlets in Web Application Design
  • Servlet Runtime Environment
  • Servlet Lifecycle
Developing Servlets
  • Servlet Classes and Interfaces
  • Working with Request and Response Objects
  • Processing GET and POST Requests from Web Clients
  • Retrieving Parameters from HTML Client Forms
  • Generating Dynamic HTML Responses
  • Initializing Servlets
  • Destroying and Freeing Resources in Servlets
  • Controlling Single and Multi-Threading in a Servlet
  • Deploying Servlets to a Web Application Server
  • Building the WAR file
  • The web.xml Descriptor File
Developing Java Server Pages (JSPs)
  • Understanding JSP/Servlet Translation
  • Elements of JSP Syntax
  • JSP Page Directives
  • JSP Declarations
  • Displaying JSP Expressions
  • Writing Scriptlets
  • Deploying JSPs
  • Using JavaBeans in JSPs
  • JavaBean Architecture
  • Creating JavaBeans
  • Using JavaBeans in JSP Pages
  • XML-format JSP Documents
Deploying and Using Tag Libraries
  • Motivation for Tag Libraries
  • Implementing the Model-View-Controller Pattern
  • JSP Built-In Actions
  • The JSP Standard Tag Library (JSTL)
  • Deploying and Using Tag Libraries
Writing Tag Handlers
  • Analyzing Tag Library Descriptor Files
  • Creating Tag Library Descriptor Tags
  • Using Tag Handler Methods to Generate Dynamic Web Content
  • Handling Tag Attributes and Attribute Validation
  • Processing Tag Body Content
  • Working with the TagExtraInfo Class
  • Developing and Deploying Tag Files
Accessing Databases with JDBC
  • Understanding the JDBC Connectivity Model
  • Accessing Data Sources through JNDI
  • Connecting to a Database
  • Executing SQL Queries and Updates
  • Processing Result Sets
  • Using Scrollable and Sensitive Result Sets
  • Working with ResultSetMetaData Classes
  • Utilizing Parameterized Statements
  • Calling Stored Procedures
  • Handling SQLExceptions
  • Controlling Transactions
  • Using Batch Updates
Java Naming and Directory Interface (JNDI)
  • Role of JNDI in the Java EE Architecture
  • JNDI Service Providers
  • Importing and Utilizing JNDI Packages
  • Binding Objects with JNDI
  • Looking up Objects with JNDI
  • Using the Environment Naming Context (ENC)
  • Declaring Resource References
Hibernate Overview
  • Need for Hibernate
  • Hibernate and ORM (Object-Relation Mapping)
  • POJOs (Plain Old Java Objects) and the Data Layer
  • Hibernate Mapping
  • Hibernate Over Entity Beans
Hibernate Programming Fundamentals
  • Modeling Complex Mappings
  • Hibernate and Native SQL
  • HQL (Hibernate Query Language)
    • Where
    • Order By
    • Group By
  • Hibernate Aggregate functions
    • Avg
    • Min
    • Max
  • HQL Associations and Joins
  • Hibernate Subqueries
  • Hibernate Configuration Files
  • Full CRUD Application (Create, Retrieve, Update, and Delete)
Hibernate Power Programming
  • Hibernate Annotations and JPA
  • Issues with Adding Hibernate to Existing Systems
  • Developing POJOs in Existing Systems
  • Advanced HQL Techniques
  • HQL Result Transformers
  • Using the Criteria API for Complex Queries
  • Transaction and Concurrency Issues
  • Identifying and Removing Performance Bottlenecks
  • Lazy Loading for Performance
  • Inheritance and Polymorphism in the Persistence Layer
  • Hibernate Best Practices
Introduction to the Spring Application Framework
  • Spring Capabilities and Modules
  • The Role of POJOs
  • Lightweight IOC (Inversion-Of-Control)
  • Dependency Injection
  • The Factory Pattern and the Spring Container
  • Spring XML Configuration Files
  • Spring Persistence Support
  • Data Access Framework and Data Access Objects
  • AOP (Aspect-Oriented Programming)
Spring Framework Core Components
  • Spring Core
  • Using POJOs (Plain Old Java Objects)
  • Spring Bean Factory
  • Singleton and Prototype Beans
  • Setter Injection and Constructor Injection
  • Order of Instantiation
    • Lazy vs. Eager
  • Controlling Spring's XML Configuration Files
Adding Spring to Existing Applications
  • Issues Adding Spring to Existing Applications
  • AOP and Transactions
  • Spring Valuators
  • Spring Interceptors
  • Spring MVC
  • Integrating Spring with Hibernate
  • Possible Conflicts with Existing Systems
  • AOP vs. Annotations
Introduction to AJAX
  • AJAX Architecture and Capabilities
    • Client Side
    • Server Side
  • Circumventing the Page Reload Paradigm
  • CSS, HTML and AJAX
  • JavaScript and DOM
  • XMLHttpRequest Object
    • readyState and responseXML Properties
  • Making AJAX Asynchronous Calls
  • AJAX Function Calling Conventions
  • Response Handling with JavaScript
  • Browser Compatibility Issues
  • Server-Side and Client-Side AJAX
Java and AJAX
  • Callback Functions/Methods
  • Built-In Objects
  • Parsing AJAX Responses
  • XML and JSON Response Formats
  • Servlet Code to Handle AJAX Requests
  • Server Side Persistence
  • AJAX Patterns and Best Practices
  • Limitations of AJAX
  • Debugging AJAX
Adding AJAX to Existing Web Applications
  • Issues Adding AJAX to Existing Apps
  • Dealing with Asynchronous Responses
  • Cross Browser Libraries and Frameworks
  • Working with AJAX Toolkits
    • Dojo Toolkit
    • Prototype
    • DWR (Direct Web Remoting)
    • Google Web Toolkit
  • AJAX and REST Design Compatibility Issues
  • Security Issues

Web Services on the Server Side
  • Overview of Web Services
  • Advantages of Web Services
  • Creating a Web Service
  • Deploying a Web Services
  • Requirements for a JAX-WS Web Service Endpoint Implementation Class
  • The Web Service Endpoint Implementation Class
  • Working with WSDL Files
  • Web Service Interoperability
Web Services on the Client Side
  • Consuming a Web Service
  • Client Side Artifacts
  • JAX-WS Clients
  • Java/WSDL Mapping
  • RESTful Web Services
  • RESTful Web Services in Java

Student Testimonials

"Instructor was very good. Knowledgable, provided real world examples, good presentation! Thanks!"
– R.W., DocuTrac, Inc.


"The instructor did an amazing job. This was one of the best classes I've taken. The instructor is an excellent teacher, and is dedicated to students' success. The class passed all my expectations. Because of this experience I will certainly recommend and consider HOTT for future training. "
– C.N., The Federal Reserve Bank of Chicago


Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Multiple Training Locations - Convenience and Cost Control

Regularly Scheduled Courses in more than 75 Cities Across North America and the United Kingdom