Java EE Foundations


Java EE Foundations

Authors: Antonio Goncalves, Sander Mak, Sekhar Srinivasan, Paul O'Fallon

The Java Enterprise Edition (Java EE) is a Java platform built on top of the Java Standard Edition (Java SE). It provides a Runtime environment and an API. Java EE is the popular... Read more

What you will learn

  • Java EE’s place and purpose
  • Java EE Fundamentals
  • Java Persistence API (JPA)
  • Context and Dependency Injection (CDI)
  • Enterprise JavaBeans
  • Bean Validation
  • RESTful Services
  • Servlets
  • Asynchronous RESTful Services
  • Jersey


It is recommended that you have basic Java knowledge.


In this section, you will explore Java EE, how it fits into the Java software development landscape, and how you could use it to build your own large-scale applications.

Java EE: The Big Picture

by Antonio Goncalves

Oct 28, 2015 / 1h 9m

1h 9m

Start Course

What is Java EE, how does it compare to the Java language, should you transition to it, and which type of application would benefit from it? This course answers those questions by taking a 10,000 foot view of the Java EE landscape as well as showing some details of its programming model.

Table of contents
  1. Course Overview
  2. Java EE: The Big Picture
  3. What Is Java EE?
  4. Is Java EE Right for Your Organization?

Java EE: Getting Started

by Antonio Goncalves

Jun 22, 2017 / 5h 0m

5h 0m

Start Course

Turn a blank page into a web application! In this course, Java EE: Getting Started, you'll learn how to develop a distributed web application based on two complementary technologies: Java EE and Angular. First, you'll begin by covering how to setup your development environment, design your domain model, map it to a relational database, bring transaction management, and then expose the business domain through a REST API. Along the way, you'll make sure the integration tests always pass. Finally, once the REST API is tested, documented, and up-and-running, you'll build an Angular front-end to interact with it through HTTP and JSon. By the end of this course, you'll have the fundamental knowledge to start building REST API's with Java EE and consuming them with Angular.

Table of contents
  1. Course Overview
  2. Java EE: Getting Started
  3. Setting up the Java EE Environment
  4. Bootstrapping the Java EE Application
  5. Defining the Domain Model
  6. Adding a Transactional Repository
  7. Testing the Java EE Application
  8. Validating Data
  9. Injecting Beans
  10. Exposing a REST Service
  11. Documenting the REST Service
  12. Setting up the Angular Environment
  13. Bootstrapping the Angular Application
  14. Designing the User Interface
  15. Navigating Through Components
  16. Invoking the REST Service
  17. Revisiting the Application

Java EE 7 Fundamentals

by Antonio Goncalves

Aug 12, 2016 / 5h 26m

5h 26m

Start Course

Java EE 7 has established itself as the preeminent Java stack for web and back-end developers. This code-focused course shows how to build a complete application covering most of the Java EE 7 specifications. You'll learn about how the Java EE platform has progressed through its history to the modern platform it is today, the foundations of building a web application in Java EE, and how to interoperate Java EE applications with external services. You'll also learn about architectural best practices when building a Java EE application. By the end of this course, you'll have a solid foundational for building Java EE applications of your own.

Table of contents
  1. Course Overview
  2. Introduction
  3. Understanding Java EE
  4. Creating a Common Application Tier
  5. Addressing Business Concerns
  6. Implementing Web Applications
  7. Interoperating with External Services
  8. Putting It All Together

What's New in Java EE 8

by Sander Mak

Jan 30, 2018 / 1h 59m

1h 59m

Start Course

There are many new features Java EE 8. In this course, What's New in Java EE 8, you'll learn about Java's completely new Security API, improving upon the hard-to-use and often container-specific security mechanisms. First, you'll discover the brand-new JSON-B, an API for binding Java objects to JSON, and vice versa. With very little code, you'll explore how you can generate and consume JSON without any third-party libraries. Besides new technologies, many existing Java EE technologies got updated with Java EE 8 as well. Servlet 4.0, for example, now supports HTTP/2 and Server Push. JAX-RS 2.1, the technology for RESTful endpoints in Java EE, now also implements the Server-sent Events web standard. Additionally, you'll see all major updates to Java EE technologies in this release such as JPA 2.2, CDI 2.0 and JSF 2.3. Finally, you'll learn about the future of Java EE. Oracle is moving Java EE to an open-source foundation, which means the future of Java EE will be more open, and at the same time maybe less predictable. By the end of this course, you'll be ready to explore and use Java EE 8 all on your own.

Table of contents
  1. Course Overview
  2. Java EE 8 Introduction
  3. Web Technologies
  4. JAX-RS 2.1
  5. Data Technologies
  6. CDI 2.0 and the New Security API


Now that you have a good grasp of what Java EE enables you to do, it’s time to move to the next step. You will get up close and personal with JPA, Bean Validation, and RESTful Services in this section.

Java Persistence API 2.2

by Antonio Goncalves

May 10, 2019 / 4h 16m

4h 16m

Start Course

Applications are made up of business logic, interaction with other systems, user interfaces . . . and data. Most data manipulated by our Java applications have to be stored in databases, retrieved, and analyzed. In this course, Java Persistence API 2.2, you will learn the principle of object-relational mapping (ORM) and use Java Persistence API (JPA) to map your Java objects into relational databases.

Table of contents
  1. Course Overview
  2. Introduction
  3. Understanding Java Persistence API
  4. Managing Elementary Entities with JPA
  5. Relationships and Inheritance
  6. Querying Entities
  7. Entity Lifecycle, Callbacks, and Listeners
  8. JPA 2.2 within Java EE 7

Bean Validation 1.1

by Antonio Goncalves

Jan 28, 2014 / 2h 31m

2h 31m

Start Course

Processing, storing, and retrieving valid data is crucial for an application, that's why validation is a common task that needs to be done in several layers of your application. In this course you will learn how Bean Validation allows developers to write constraints in a standard way and apply them everywhere (bean, properties, constructors, method parameters, and return value). You will also see how Bean Validation can be integrated in other Java EE specifications.

Table of contents
  1. Course Overview
  2. Introduction
  3. Understanding Bean Validation
  4. Validating Built-in Constraints
  5. Defining our own Constraints
  6. Messages, Groups and Payloads
  7. Advanced Topics
  8. Bean Validation 1.1 within Java EE 7

Java EE: Programming Servlets

by Sekhar Srinivasan

Jul 6, 2016 / 4h 27m

4h 27m

Start Course

Web application development can be made easier by using Java servlets. In this course, Java EE: Programming Servlets, you will begin with a complet overview of servlet architecture and lifecycle. First, you'll see the configuration of a Tomcat webserver in Eclipse and you'll learn how to read the request and response headers. Next, you'll learn how filters are applied to servlets and see many details about tracking session data, web annotations, and globalizing servlets. Finally, you'll go over asynchronous programming in servlets, debugging, packing, and deployment of servlets. By the end of this course, you will have a much more complete understanding of how web development using Java servlets works. Software required: Tomcat and Eclipse.

Table of contents
  1. Course Overview
  2. Introduction
  3. Building and Deploying Your First Servlet
  4. Working with Form and Query String Data
  5. Handling HTTP Requests and Responses
  6. Intercepting HTTP Request with Filters
  7. Handling Exceptions in Servlets
  8. Tracking Session Data
  9. Receiving and Processing File Uploads
  10. Packaging Servlets for Deployment
  11. Debugging Servlets
  12. Globalizing Servlets
  13. Providing Servlet Metadata Using Annotations
  14. Understanding Asynchronous Servlet Processing


This section contains some of the more advanced concepts. Learning about Servlets, CDI, Asynchronous RESTful services will make your Java EE skills complete.

Context and Dependency Injection (CDI 1.1)

by Antonio Goncalves

Mar 24, 2015 / 3h 44m

3h 44m

Start Course

Context and Dependency Injection takes its roots from injection frameworks and today has become a common ground for several Java EE specifications. In this course you will discover the CDI programming model and its concept of "loose coupling, strong typing." You will see that decoupling goes further by bringing interceptors and decorators to the entire platform.

Table of contents
  1. Course Overview
  2. Introduction
  3. Understanding Context and Dependency Injection
  4. Injection With CDI
  5. Producers and Disposers
  6. Interceptors, Decorators, and Events
  7. Bringing the Web Tier and Service Tier Together
  8. CDI 1.1 Within Java EE 7

Building Asynchronous RESTful Services With Jersey

by Paul O'Fallon

Jun 13, 2014 / 3h 11m

3h 11m

Start Course

At the start of the course we establish a basic "Books" API -- an API that we continually improve and build upon throughout the course. We begin by deploying to Grizzly, and then implement a series of tests with JerseyTest. These tests are also continually expanded throughout the course. We explore Jersey's built-in dependency injection, and improve our API to take advantage of Jersey's async support. We switch from the built-in MOXy library in favor of Jackson to render our highly-tailored JSON and XML, and build a custom MessageBodyWriter along the way. We explore mapping exceptions to responses, and supporting conditional GET requests. We implement our own PATCH verb, and along with it, support for conditional updates as well. Finally we explore Jersey's support for filters and implement our own custom filter.

Table of contents
  1. GET-ing Started With Grizzly
  2. Testing with JerseyTest
  3. Dependency Injection and POST Support
  4. Asynchronous RESTful Resources
  5. Jackson for JSON and XML
  6. Validation, Exceptions, and Conditional GET Support
  7. Adding PATCH and If-Match Support
  8. Filters in Jersey
Offer Code *
Email * First name * Last name *
Country *

* Required field

Opt in for the latest promotions and events. You may unsubscribe at any time. Privacy Policy

By providing my phone number to Pluralsight and toggling this feature on, I agree and acknowledge that Pluralsight may use that number to contact me for marketing purposes, including using autodialed or pre-recorded calls and text messages. I understand that consent is not required as a condition of purchase from Pluralsight.

By activating this benefit, you agree to abide by Pluralsight's terms of use and privacy policy.

I agree, activate benefit