Developing Java EE Web Applications with Servlets, JSP, JPA, and REST

182 Ratings

Course Number: JSP-100

Duration: 5 days (32.5 hours)

Format: Live, hands-on

Java EE Training Overview

Accelebrate's Developing Java EE Web Applications with Servlets, JSP, JPA, and REST training teaches attendees how to design and build your own data-driven web applications. Students learn the details of the core JEE Web and database technologies and how to leverage the strengths of each. Other web-based technologies such as creating REST services with JPA are also covered in order for participants to create a full stack application.

Location and Pricing

Accelebrate offers instructor-led enterprise training for groups of 3 or more online or at your site. Most Accelebrate classes can be flexibly scheduled for your group, including delivery in half-day segments across a week or set of weeks. To receive a customized proposal and price quote for private corporate training on-site or online, please contact us.

In addition, some Java courses are available as live, online classes for individuals.

Objectives

  • Design and build robust and maintainable web applications
  • Create dynamic HTML content with Servlets and JavaServer Pages 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
  • Retrieve and persist data with JDBC and JPA (Java Persistence API)
  • Build RESTful web services using JAX-RS

Prerequisites

This Java EE training course can be tailored to any level of Java experience. In general, we recommend that all attendees be fluent in HTML and have a prior knowledge of object-oriented or object-based programming, as well as some knowledge of SQL and relational databases.

Outline

Expand All | Collapse All

Introduction
Java EE Introduction
  • Java EE Overview and Technologies
  • JEE Architecture Choices
  • Java Web App Introduction
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
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
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
Using Custom Tags
  • Custom tags overview
  • Tag Libraries Overview
  • taglib Directive - Using a Tag Library
  • JSTL
  • More about JSTL
    • Other Useful Core Tags< - c:if, c:choose
    • Formatting: formatNumber, formatDate, Resource Bundles
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
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
Additional Servlet Capabilities
  • Custom Tags Using Tag Files - Overview, Writing and Using Tag Files, Tag Attributes
  • Servlet Filter overview - Example and lifecycle
  • WebSocket Overview
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
Resource Integration
  • DataSources and Connection/Statement Pooling
  • Resource Injection, @Resource, and JNDI
  • CDI and Dependency Injection
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
JPA Advanced Topics
  • Entity Lifecycle
  • Relationships
  • Issues with Relationships (Lazy Load and Web Apps)
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
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
Conclusion

Training Materials:

All Java EE training students receive comprehensive courseware.

Software Requirements:

  • A recent version of Windows, macOS, or Linux with at least 8 GB RAM
  • JDK 8 or later
  • Tomcat 8.5 or later
  • The Java tool the students are likely to use after the class (Eclipse or IntelliJ IDEA are recommended)
  • Other free software - please contact us if you have purchased this class


Learn faster

Our live, instructor-led lectures are far more effective than pre-recorded classes

Satisfaction guarantee

If your team is not 100% satisfied with your training, we do what's necessary to make it right

Learn online from anywhere

Whether you are at home or in the office, we make learning interactive and engaging

Multiple Payment Options

We accept check, ACH/EFT, major credit cards, and most purchase orders



Recent Training Locations

Alabama

Birmingham

Huntsville

Montgomery

Alaska

Anchorage

Arizona

Phoenix

Tucson

Arkansas

Fayetteville

Little Rock

California

Los Angeles

Oakland

Orange County

Sacramento

San Diego

San Francisco

San Jose

Colorado

Boulder

Colorado Springs

Denver

Connecticut

Hartford

DC

Washington

Florida

Fort Lauderdale

Jacksonville

Miami

Orlando

Tampa

Georgia

Atlanta

Augusta

Savannah

Hawaii

Honolulu

Idaho

Boise

Illinois

Chicago

Indiana

Indianapolis

Iowa

Cedar Rapids

Des Moines

Kansas

Wichita

Kentucky

Lexington

Louisville

Louisiana

New Orleans

Maine

Portland

Maryland

Annapolis

Baltimore

Frederick

Hagerstown

Massachusetts

Boston

Cambridge

Springfield

Michigan

Ann Arbor

Detroit

Grand Rapids

Minnesota

Minneapolis

Saint Paul

Mississippi

Jackson

Missouri

Kansas City

St. Louis

Nebraska

Lincoln

Omaha

Nevada

Las Vegas

Reno

New Jersey

Princeton

New Mexico

Albuquerque

New York

Albany

Buffalo

New York City

White Plains

North Carolina

Charlotte

Durham

Raleigh

Ohio

Akron

Canton

Cincinnati

Cleveland

Columbus

Dayton

Oklahoma

Oklahoma City

Tulsa

Oregon

Portland

Pennsylvania

Philadelphia

Pittsburgh

Rhode Island

Providence

South Carolina

Charleston

Columbia

Greenville

Tennessee

Knoxville

Memphis

Nashville

Texas

Austin

Dallas

El Paso

Houston

San Antonio

Utah

Salt Lake City

Virginia

Alexandria

Arlington

Norfolk

Richmond

Washington

Seattle

Tacoma

West Virginia

Charleston

Wisconsin

Madison

Milwaukee

Alberta

Calgary

Edmonton

British Columbia

Vancouver

Manitoba

Winnipeg

Nova Scotia

Halifax

Ontario

Ottawa

Toronto

Quebec

Montreal

Puerto Rico

San Juan