Developing Java EE Web Applications (JEE6/JEE7), plus JPA and REST
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 Objectives:
Design and build robust and maintainable web applications
Create dynamic HTML content with Servlets and Java ServerPages, using the JSP Standard Tag Library (JSTL)
Make Servlets and JSP work together cleanly
Use JSTL and other Custom Tag Libraries to separate Java and HTML code
Access databases with JDBC and the JPA (Java Persistence API)
Structure a clean data access layer.
Gain a high level understanding of REST services and JAX-RS
See the full descriptions for detailed content
Course Outline:
+ expand all | - collapse all
Java EE Overview and Technologies
JEE Architecture Choices
Java Web App Introduction
Servlet Basics and Capabilities
Servlet API - 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
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
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
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
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
JEE Security Overview - Role Based and Declarative Security
web.xml Security Elements
Web Authentication - Basic and Form-Based
Servlet Filter overview - Example and lifecycle
Custom Tags Using Tag Files - Writing and Using Simple Tag Files
Event Listeners
JDBC Overview
JDBC Architecture and JDBC Drivers
Connecting to a database
Working with JDBC - Executing Statements and Processing Results
DataSources and Connection/Statement Pooling
Resource Injection, @Resource, and JNDI
CDI and Dependency Injection
JPA Architecture and Programming View
Entity Classes and Annotations
Mapping an Entity Class
EntityManagerFactory and EntityManager
Inserting and Updating with JPA
Querying and JPQL
Entity Lifecycle
Integrating JPA with the Web Tier
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
APIs and Implementations
JAX-RS Overview, Annotations
JAX-RS Implementations
Runtime Environment
Application Server, Servlet-Only Container
Architectural and Implementation Perspectives
Configuring the Application
Ajax-JavaScript Clients
Overview
Classic vs. Ajax Interactions
Working with Ajax-JavaScript
Course Information
Course Code: JEE-WEB
Price: $200
Duration: 5 days
Labs: many hands-on labs (minimum 50% of course)
Prerequisites: Working knowledge of Java programming, including use of inheritance, interfaces, and exceptions
Supported Software Environments:
Standard: Java 8 and Eclipse IDE Standard Web Container: Tomcat (Non-standard software may require additional wait and incur additional charges.)
Lab Setup Instructions:
- Standard on Windows OS: Java 8 and Eclipse
- Standard on Mac OS: Java 8 and Eclipse