Developing Java EE Web Applications, plus JDBC/JPA and REST

Java Enterprise Edition (JEE) is a powerful platform for building web and database-driven applications. This Developing Java EE Web Applications, plus JDBC/JPA and REST training class 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 Tomcat, but it is available for all major app servers, including WildFly/JBoss AS and IBM WebSphere AS

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

Each student in our Live Online and our Onsite classes receives a comprehensive set of materials, including course notes and all the class examples.

Preparing for Class

Training for your Team

Length: 5 Days
  • Private Class for your Team
  • Online or On-location
  • Customizable
  • Expert Instructors

What people say about our training

I was hoping to learn about how PHP and MySQL work together and that's exactly what I got.
Jon Sexe
MN MANAGEMENT & BUDGET
For programming specific courses, I would say that this is better than in-class instructors. The feedback that can be given and received from other students when screen sharing is invaluable.
Mike Chan
Elections Canada
If you are an ASP.NET developer and want to implement advance reporting capabilities in your applications, this is a course I highly recommend!
Hector Gerena
US EPA
MySQL admin training is hard to come by. I definitely recommend this course for anybody that needs to use MySQL in more that just a web app.
George Auckland
City of Austin

No cancelation for low enrollment

Certified Microsoft Partner

Registered Education Provider (R.E.P.)

GSA schedule pricing

61,011

Students who have taken Instructor-led Training

11,714

Organizations who trust Webucator for their Instructor-led training needs

100%

Satisfaction guarantee and retake option

9.29

Students rated our trainers 9.29 out of 10 based on 28,956 reviews

Contact Us or call 1-877-932-8228