LearningPatterns: Your Global Source for Java Training, Mentoring, and Consulting
Home | About LearningPatterns | Our Services | Contact Us | Printer Friendly Link

Courseware for License:

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

Course ID: JEE-WEB

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.

All labs are done with the Eclipse IDE, and the lab instructions include detailed directions for setting up and using it. The standard applicaiton server used is TomEE (Tomcat server with additional JEE technologies), but it can be made available for all major app servers, including WildFly/JBoss AS and IBM WebSphere AS. Other servers may require additional lead time and an added cost.

Course Information

Duration: 5 days

Hands-on: 50% hands-on, 50% lecture

Supported Platforms: Eclipse/TomEE (Standard) Other servers upon request, with possible additional cost and lead time. This includes JBoss/WildFly AS, IBM Rational Application Developer (RAD) / Websphere AS

Skills Gained:

Course Details:

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
  • 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

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 and Declarative Security
  • web.xml Security Elements
  • Web Authentication - Basic and Form-Based

Session 8: Additional Capabilities

  • Servlet Filter overview - Example and lifecycle
  • Custom Tags Using Tag Files - Writing and Using Simple Tag Files
  • Event Listeners

Session 9: JDBC Introduction and Architecture

  • JDBC Overview
  • JDBC Architecture and JDBC Drivers
  • 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
  • Inserting and Updating with JPA
  • Querying and JPQL
  • Entity Lifecycle
  • Integrating JPA with the Web Tier
Session 12: Introduction to REST
  • Overview and Principles
    • REST Characteristics
    • Resources and Operations
    • REST Principles
  • Requests and Responses
    • REST APIs
    • URI Templates
    • Safe and Idempotent Methods
Session 13: 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
  • Ajax-JavaScript Clients
    • Overview
    • Classic vs. Ajax Interactions
    • Working with Ajax-JavaScript
Home | About LearningPatterns | Our Services | Legal | Contact Us       Copyright © LearningPatterns, Inc. All rights reserved.