Call us at 1-800-413-0939
Hands On Technology Transfer
gsa

Java Web Frameworks Training Course

Attend face-to-face, remote-live, on-demand or on site at your facility.

On-Demand Training with Personal Facilitation
Top

Introduction to Web Application Development Using JEE™, Spring/Hibernate, Web Services and AJAX

Delivery Options: Attend face-to-face in the classroom, remote-live or via on-demand training.

Pricing

Face-to-face or remote-live: $2495

On-demand: $1495

Discounts: We offer multiple discount options. Click here for more information.

Duration

Face-to-face or remote-live: 5 Days

On-demand: Approximately 35 hours of coursework with personal facilitation, to be completed in a four week span.

Registration

Face-to-face: Click here to view our schedules and register for in-person sessions.

Remote-live: Click here to register for live remote class sessions within a date range of your choosing.

On-demand: Click here to register for on-demand training with personal facilitation, on a start date of your choosing.

Students Will Learn

  • Java Web application architecture
  • Developing servlets and JSPs
  • Consuming Web services
  • Creating and deploying SOAP based and RESTful Web services
  • Using JavaBeans in Web Applications
  • Accessing databases with JDBC
  • Importing and Utilizing JNDI Packages
  • Utilizing the Spring dependency injection framework
  • Managing database operations by using the Hibernate framework
  • Building Web applications by using the Spring MVC framework
  • Managing database transactions with Spring and Hibernate
  • Effectively integrating Spring and Hibernate
  • Integrating, testing and debugging AJAX functionality on both the client and server sides
  • Working with the JSON data format

Course Description

This Java web application training 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 learn about 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 build applications that incorporate many of the patterns commonly used in these and other Java frameworks. Upon completion of the course, students will 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.

Students who wish to focus more in-depth on Spring and Hibernate should attend the course Web Application Development Using Spring, Hibernate and JPA rather than this course.

Course Prerequisites

Java SE 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.

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

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

Reviews

Thank you. This was the best course I've attended in the last 4 years.
— W.M., Bible Study Fellowship


The instructor is clearly highly experienced in the subject, with an expert in-depth knowledge which allows him to explain complicated issues very clearly.
— M.S., QA, Ltd.


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


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

Course Schedule

Choose a city below to view a schedule and registration options. If you have any questions, please call us at 978-250-4299 between 9:00 am - 5:00 pm EST.