Application Development & Programming Training Icon

Mastering JEE 7 Web Application Development

5 Days Live Online
Classroom Registration
Group Rate:
(per registrant, 2 or more)
GSA Individual:
Live Online Registration
Live Online:
Private Onsite Package

This course can be tailored to your needs for private, onsite delivery at your location.

Request a Private Onsite Price Quote

Professional Credits


ASPE is an IIBA Endorsed Education Provider of business analysis training. Select Project Delivery courses offer IIBA continuing development units (CDU) in accordance with IIBA standards.


Select courses offer Leadership (PDU-L), Strategic (PDU-S) and Technical PMI professional development units that vary according to certification. Technical PDUs are available in the following types: ACP, PBA, PfMP, PMP/PgMP, RMP, and SP.


Mastering JEE 7 Web Application Development is a five-day hands-on JEE / Java EE training course geared for experienced Java developers new to JEE, who need to get up and running with essential dynamic web development skills. Created in collaboration with several leading JEE / Java EE s authors and industry experts, this comprehensive course teaches students how to design and program web components, including all the important concepts and hands-on labs that will have you building working server-side applications in no time flat.  This course provides core JEE knowledge and skills that can be used as the foundation for developing production-quality web applications to a basic level.

Students who attend Mastering JEE 7 Web Application Development will leave the course armed with the required skills to design and build scalable, secure, maintainable web applications - leveraging our extensive experience in the delivery of scalable enterprise applications with complex web interfaces based on JEE technologies.

Throughout this training, you will be confronted with common web application design problems and given the tools you will need to solve them, such as JEE design patterns. You will also be exposed to a range of JEE and web technologies such as Servlets, JSPs, JSF, JNDI, CDI, and advice on when and how to use them. Students will also learn about the capabilities of servlets, their advantages, servlet architecture, and session management.  Developers will also learn about managing resources, deployment, and application models, how to use custom tags, and how to build robust and capable web applications using servlets and other components.

The course begins with a discussion of web application architecture. A major part of the course is spent on the various web components that are used to implement dynamic web applications. Students will learn not only specific topics and APIs but also how to fit the pieces together into a complete application. 

Working Within an Engaging, Hands-on Learning Environment, Guided by our Expert Team, Attendees Will Learn to:

  • Design and build web applications from both business and technical requirements
  • Build web interfaces with JSF, JSPs and Servlets, using the latest technologies in JEE.
  • Write maintainable web applications that separate HTML and Java
  • Understand the design and development of web applications using Servlets, JSPs, web fragments, and JSF
  • Work JEE’s version of dependency injection (CDI)
  • Make Servlets cooperate and share data
  • Store and process session information
  • Deal with concurrency issues
  • Access databases with JPA
  • Work with annotations included in JEE
  • Work with WebSockets as well as asynchronous servlets
  • Use Java Bean validation in a web application
  • Properly handle various types of exceptions
Upcoming Dates and Locations
All Live Online times are listed in Eastern Time Guaranteed To Run
Request a quote for private onsite training Request
Nov 2, 2020 – Nov 6, 2020    10:00am – 6:00pm Live Online Register
Dec 7, 2020 – Dec 11, 2020    10:00am – 6:00pm Live Online Register
Course Outline

Part 1: Developing Java EE applications

  1.  Enterprise Development
  • Enterprise Application Software
  • Requirements of Enterprise applications
  • Scalability, Load Balancing, Fail Over
  • Resource pooling
  1.  Java EE Core Components
  • Overview of Java EE Core Components
  • Web Tier Components
  • Application Tier
  • Deployable Units
  • Deployment Descriptors
  • The Java Naming and Directory Interface (JNDI)
  • Tutorial: Working with Eclipse Oxygen (JEE Version) and Apache TomEE 7.0.x
  • Tutorial: Working with TomEE 7

Part 2: JEE Dynamic Web Applications

  1.  Introduction to Servlets
  • The Servlet Interface
  • The Web Container
  • Creating HTML Output Using Servlets
  • The @Webservlet Annotation
  • Interaction Between web.xml and Annotations
  • The @Webinitparam Annotation
  • Exercise: A First Servlet
  1.  Form processing using Servlets
  • Using HTML5 Forms with Servlets
  • Processing Request Parameters
  • HttpServletRequest Methods
  • HttpServletResponse Methods
  • Exercise: Form Processing
  1.  Java Server Pages
  • Java Server Pages ( JSPs)
  • The Relationship Between JSPs and Servlets
  • The JSP lifecycle
  • The role of JSPs in Java EE 7
  • Exercise: A First JSP
  1.  Implementing MVC in JEE
  • Model View Control
  • Using the RequestDispatcher
  • Handling Requests
  • The Request Scope
  • Handling Request Attributes
  • The Expression Language (JSR 341)
  • EL in Template text
  • Exercise: Implementing MVC
  1.  Session Management
  • Sessions in Web Applications
  • The HttpSession object
  • Session Management in Java EE
  • Handling Cookies
  • URL-Rewriting
  • Exercise: Managing Sessions

Part 3: JEE Servlet Filters and Listeners

  1.  Servlet Filters
  • Introduce Servlet Filters
  • Modify the request data
  • Modify the response data
  • The @WebFilter annotation
  • Define Filter Mappings
  • Move functionality out into a decorator pattern
  • Exercise: Adding Filters

Part 4: Expression Language 3.0 (EL)

  1.  Overview of EL
  • The Expression Language (JSR 341)
  • Value and Method Expressions
  • Immediate and Deferred Evaluation Syntax
  • Read and Read/Write expressions
  1.  The EL language
  • EL Operators
  • EL Reserved Words
  • EL Implicit objects
  • Referencing Objects using EL
  • Exercise: Working with EL

Part 5: Custom Tags

  1.  Introduction to Custom Tags
  • Custom tags
  • Using the taglib Page Directive
  • The TLD File
  • The Tag Implementation Class
  1.  The Java Standard Tag Library
  • JSTL Overview
  • Use JSTL to Iterate Over Collections of Data
  • JSTL functions
  • Exercise: Using JSTL

Part 6: Contexts and Dependency Injection (CDI)

  1.  Introduction to CDI
  • Context Dependency Injection (CDI)
  • The @Inject Annotation
  • The @Default Annotation
  • The @Alternative Annotation
  • The @Named Annotation
  • Exercise: Using CDI
  1.  Using CDI
  • Qualifiers
  • @PostConstruct and @PreDestroy
  • The @Produces Annotation
  • Exercise: Using Qualifiers
  1.  CDI and Java EE
  • CDI's Relationship to Java EE
  • The @Model annotation
  • Built-in CDI scopes
  • Exercise: Using CDI and Servlets

Part 7: Using Resources

  1.  JEE DataSources
  • DataSources in JEE
  • Setup a DataSource
  • Using CDI to inject a DataSource
  • Exercise: Using DataSources
  1.  Overview of JPA
  • Introduce the Java Persistence API (JPA)
  • Benefits of Using an ORM framework
  • Hibernate and JPA
  • Exercise: Using JPA

Part 8: Java API for WebSocket

  1.  Introduction to WebSocket
  • Java API for WebSocket Overview
  • Using WebSocket in Java EE
  • Endpoint Instances
  1.  Implementing WebSocket Endpoint
  • Annotated Endpoints
  • Receiving messages
  • Send Response to Client(s)
  • JavaScript to Setup a WebSocket Connection
  • Exercise: Implementing a WebSocket
  1.  Extending WebSockets
  • Manage Client State
  • Encoding and Decoding Messages
  • Handling Errors
  • Exercise: Encoding and Decoding Messages

Part 9: Java Bean Validation (JSR 349)

  1.  Introduction to Bean Validation
  • Bean Validation
  • Define Constraints on Object Models
  • Core Validation Annotations
  • Validate Objects and Object Graphs
  • Exercise: Bean Validation
  1.  Bean Validation
  • Validate Parameters and Return Values
  • Develop Custom Constraints
  • Exercise: Creating Constraints

Part 10: Managing Web Applications

  1.  Web Fragments
  • Need for Web Fragments
  • The web-fragment Element
  • Fragment Ordering
  • Exercise: Fragments
  1.  Error Handling
  • Handling HTTP Errors Codes
  • Handling Exceptions
  1.  Asynchronous Servlets
  • Invoking a ‘Long Running’ Process
  • The asyncSupported Attribute
  • Using the AsyncContext Class
  • Handling AsyncEvent Objects
  • Nonblocking I/O in Servlets
  • Exercise: ASync Servlets
  1.  Web Security
  • Specify the Servlet Security Model
  • Roles in the Web Application
  • Access Control and Authentication Requirements
  • Security-Related Annotations
  • Servlet 3.1 Predefined Roles
  • The deny-uncovered-http-methods XML Element
  • Exercise: Web Security

Part 11: Introduction to Java Server Faces

1.  Introduction to JSF

  • JSF Overview
  • The JSF ‘Components’
  • Configuring a JSF Application
  • MVC using JSF
  • Exercise: First JSF

2.  JSF Components

  • Understand the component architecture of JSF
  • Explain the use of the RenderKit
  • User Interface Component Model
  • Introduce the JSF Custom Tags
  • Explain the functionality of the various input tags
  • Panels and tables in JSF
  • Exercise: JSF HTML Tags

Part 12: Facelets

1.  Facelets

  • Facelets as View Handlers
  • Custom Tags Used in Facelets
  • The @Named Annotation
  • The @RequestScoped and @SessionScoped Annotations
  • Using the dataTable Custom Tag
  • Exercise: Working With Facelets

2.  Facelets Templating and Resources

  • Creating a Consistent Look and Feel
  • Templating and Placeholders
  • JSF resource management
  • Exercise: Facelets Templating


Who should attend

This is an intermediate level Java EE (JEE) developer course, designed for experienced Java developers, new to JEE, that need to create exciting, rich web applications and interfaces using the latest skills and technologies within JEE7.


This is an intermediate level programming course, designed for experienced Java developers who wish to get up and running with JEE, or who need to reinforce sound Java for Web coding practices.  Attendees should have a working knowledge of developing basic Java software applications.


Download the brochure