Developing Java EE Web Applications (JEE6/JEE7), plus JPA and REST Training

We offer private customized training for groups of 3 or more attendees.

Course Description

 
Java Enterprise Edition (JEE) is a powerful platform for building web and database-driven applications. This course provides the information you need to design and build your own data-driven web applications. You'll learn the details of the core JEE Web and database technologies and how to leverage the strengths of each. You'll also be introduced to other important web-based technologies such as creating REST services with JEE. Throughout the course, students will create code for a online store. Students will learn not only specific topics and APIs but also how to fit the pieces together into a complete application.
Course Length: 5 Days
Course Tuition: $2090 (US)

Prerequisites

Students must have a solid understanding of Java and preferably at least a year of software development experience.

Course Outline

 
Session 1: Java EE Introduction
Java EE Overview and Technologies
JEE Architecture Choices
Java Web App Introduction
 
Session 2: Servlet Basics
Servlet Basics and Capabilities
Basics of Writing a Servlet
HTML Forms Review
HTTP Review: Request-response, headers, GET, POST
Overview: How Servlets Work
Servlet Lifecycle and API - Servlet, HttpServlet, @Webservlet
Requests and Responses - HttpServletRequest and HttpServletResponse
Accessing Parameters
web.xml
 
Session 3: Additional Servlet Capabilities
Working with HttpServletResponse (Errors, Headers, MIME types)
Initialization
Overview
Using ServletConfig and ServletContext
Init Parameters - Servlet and Web App
Error Handling: Error Pages and Their Configuration
 
Session 4: JavaServer Pages
Basics and Overview
JSP architecture
JSP tags and JSP expressions
Fixed Template Data
Lifecycle of a JSP
Model View Controller (MVC)
Overview
Java EE Model 2 Architecture
Servlets as Controllers, RequestDispatcher, Forwarding and Including
Data Sharing in a Web App
Object scopes or "buckets"
Using JavaBeans to Hold Data
Using the Scope Objects - get/set/remove Attributes
Request, application, session and page scope
JSP Expression Language (EL) and Data Access
JSP EL Overview
JSP Expressions, and Accessing Data
Predefined JSP EL implicit objects (pageContext, param, header, scope objects)
pageContext in Detail
jsp:include, jsp:forward, the page Directive
JSP Error Pages
 
Session 5: Using Custom Tags
Custom tags overview
Tag Libraries Overview
taglib Directive - Using a Tag Library
JSTL
Overview
c:out, c:forEach
c:url, c:param
More about JSTL
Other Useful Core Tags< - c:if, c:choose
Formatting: formatNumber, formatDate, Resource Bundles
 
Session 6: HTTP Session Tracking
HTTP and Client State
Cookies - Overview, Servlet Access, Usage, Issues
Sessions
Servlet/JSP Session Support, HttpSession
Using Sessions - Putting Data in, Retrieving Data From
How Sessions Work
 
Session 7: Web Security
JEE Security Overview
Role Based Security
Declarative Security
Web Authentication - Basic, Form-Based, Digest, HTTPS Client
Using Basic Authentication
Using Form-Based Authentication
Programmatic Security - HttpServletRequest, Retrieving Roles
 
Session 8: Additional Servlet Capabilities
Custom Tags Using Tag Files - Overview, Writing and Using Tag Files, Tag Attributes
Servlet Filter overview - Example and lifecycle
WebSocket Overview
 
Session 9: JDBC Introduction and Architecture
Relational Database and JDBC Overview
JDBC Architecture, JDBC API Overview
Connecting to a database
Working with JDBC - Executing Statements and Processing Results
 
Session 10: Resource Integration
DataSources and Connection/Statement Pooling
Resource Injection, @Resource, and JNDI
CDI and Dependency Injection
 
Session 11: Introduction to JPA
JPA Architecture and Programming View
Entity Classes and Annotations
Mapping an Entity Class
EntityManagerFactory and EntityManager
Working with JPA (Find by primary key and inserts)
Integrating JPA with the Web Tier
 
Session 12: JPA Advanced Topics
Entity Lifecycle
Relationships
Issues with Relationships (Lazy Load and Web Apps)
 
Session 13: Introduction to REST
Overview and Principles
REST Characteristics
Resources and Operations
REST Principles
Requests and Responses
REST APIs
URI Templates
GET, POST, PUT, DELETE
Safe and Idempotent Methods
 
Session 14: Introduction to JAX-RS
APIs and Implementations
JAX-RS Overview, Annotations
JAX-RS Implementations
Runtime Environment
Application Server, Servlet-Only Container
Architectural and Implementation Perspectives
Configuring the Application
Applications, Resources, and Providers
JAX-RS Applications
Resource Classes and @Path
Provider Classes and @Provider
Default Lifecycles
The Application Class and rest-path
Ajax-JavaScript Clients
Overview
Classic vs. Ajax Interactions
Working with Ajax-JavaScript

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.