Fast Track to JEE Web Development With Servlets/JSPs, JNDI, EL, JPA, WebSockets, Security & More

Learn Core JEE Skills Required to Build Production-Level, Robust, Scalable and Dynamic Web Applications

TT5100

Introductory

5 Days

Course Overview

Fast Track to JEE 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.

Servlets are a key server-side Java technology for building web applications. Servlets are programs that run on a web server; they can respond to client requests and create dynamic content.  Servlets allow flexible generation of dynamic content. Additional technologies allow one to separate static from dynamic content while harnessing the power of servlets.  Enhancements in JEE simplify web application develop, supporting the use of annotations, context dependency injection (CDI), and a Common Expression Language (for use with both JSPs and JSF). 

Working within in 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

Course Objectives

Students who attend Mastering JEE 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 in 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

Need different skills or topics?  If your team requires different topics or tools, additional skills or custom approach, this course may be further adjusted to accommodate.  We offer additional Java, JEE and Java for Web application development, design, testing, services, application security and other related topics that may be blended with this course for a track that best suits your needs. Our team will collaborate with you to understand your needs and will target the course to focus on your specific learning objectives and goals.

Course Prerequisites

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

Please see the Related Courses tab for specific Pre-Requisite courses, Related Courses that offer similar skills or topics, and next-step Learning Path recommendations.

Course Agenda

Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We’ll work with you to tune this course and level of coverage to target the skills you need most.

Session: Developing Java EE applications

Lesson: Enterprise Development

  • Enterprise Application Software
  • Requirements of Enterprise applications
  • Scalability, Load Balancing, Fail Over
  • Resource pooling

Lesson: 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 (JEE Version) and Apache TomEE 7.0.x
  • Tutorial: Working with TomEE 7

Session: JEE Dynamic Web Applications

Lesson: 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

Lesson: Form processing using Servlets

  • Using HTML5 Forms with Servlets
  • Processing Request Parameters
  • HttpServletRequest Methods
  • HttpServletResponse Methods

Lesson: Java Server Pages

  • Java Server Pages ( JSPs)
  • The Relationship Between JSPs and Servlets
  • The JSP lifecycle
  • The role of JSPs in Java EE 7

Lesson: 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

Lesson: Session Management

  • Sessions in Web Applications
  • The HttpSession object
  • Session Management in Java EE
  • Handling Cookies
  • URL-Rewriting

Session: JEE Servlet Filters and Listeners

Lesson: 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

Session: Expression Language 3.0 (EL)

Lesson: Overview of EL

  • The Expression Language (JSR 341)
  • Value and Method Expressions
  • Immediate and Deferred Evaluation Syntax
  • Read and Read/Write expressions

Lesson: The EL language

  • EL Operators
  • EL Reserved Words
  • EL Implicit objects
  • Referencing Objects using EL

Session: Custom Tags

Lesson: Introduction to Custom Tags

  • Custom tags
  • Using the taglib Page Directive
  • The TLD File
  • The Tag Implementation Class

Lesson: The Java Standard Tag Library

  • JSTL Overview
  • Use JSTL to Iterate Over Collections of Data
  • JSTL functions

Session: Contexts and Dependency Injection (CDI)

Lesson: Introduction to CDI

  • Context Dependency Injection (CDI)
  • The @Inject Annotation
  • The @Default Annotation
  • The @Alternative Annotation
  • The @Named Annotation

Lesson: Using CDI

  • Qualifiers
  • @PostConstruct and @PreDestroy
  • The @Produces Annotation

Lesson: CDI and Java EE

  • CDI's Relationship to Java EE
  • The @Model annotation
  • Built-in CDI scopes

Session: Using Resources

Lesson: JEE DataSources

  • DataSources in JEE
  • Setup a DataSource
  • Using CDI to inject a DataSource

Lesson: Overview of JPA

  • Introduce the Java Persistence API (JPA)
  • Benefits of Using an ORM framework
  • Hibernate and JPA

Session: Java API for WebSocket

Lesson: Introduction to WebSocket

  • Java API for WebSocket Overview
  • Using WebSocket in Java EE
  • Endpoint Instances

Lesson: Implementing WebSocket Endpoint

  • Annotated Endpoints
  • Receiving messages
  • Send Response to Client(s)
  • JavaScript to Setup a WebSocket Connection

Lesson: Extending WebSockets

  • Manage Client State
  • Encoding and Decoding Messages
  • Handling Errors

Session: Java Bean Validation (JSR 349)

Lesson: Introduction to Bean Validation

  • Bean Validation
  • Define Constraints on Object Models
  • Core Validation Annotations
  • Validate Objects and Object Graphs

Lesson: Bean Validation

  • Validate Parameters and Return Values
  • Develop Custom Constraints

Session: Managing Web Applications

Lesson: Web Fragments

  • Need for Web Fragments
  • The web-fragment Element
  • Fragment Ordering

Lesson: Error Handling

  • Handling HTTP Errors Codes
  • Handling Exceptions

Lesson: Asynchronous Servlets

  • Invoking a ‘Long Running’ Process
  • The asyncSupported Attribute
  • Using the AsyncContext Class
  • Handling AsyncEvent Objects
  • Nonblocking I/O in Servlets

Lesson: 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

Session: Introduction to Java Server Faces

Lesson: Introduction to JSF

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

Lesson: 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

Session: Facelets

Lesson: Facelets

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

Lesson: Facelets Templating and Resources

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

Course Materials

Student Materials: Each participant will receive a Student Guide with course notes, code samples, software tutorials, step-by-step written lab instructions, diagrams and related reference materials and resource links. Students will also receive the project files (or code, if applicable) and solutions required for the hands-on work.

Hands-On Setup Made Simple! Our dedicated tech team will work with you to ensure our ‘easy-access’ cloud-based or local installation course environment is accessible, fully-tested and verified as ready to go well in advance of the course start date, ensuring a smooth start to class and effective learning experience for all participants. Please inquire for details and options.

Raise the bar for advancing technology skills

Attend a Class!

Live scheduled classes are listed below or browse our full course catalog anytime

Special Offers

We regulary offer discounts for individuals, groups and corporate teams. Contact us

Custom Team Training

Check out custom training solutions planned around your unique needs and skills.

EveryCourse Extras

Exclusive materials, ongoing support and a free live course refresh with every class.

Attend a Course

Please see the current upcoming available open enrollment course dates posted below. Please feel free to Register Online below, or call 844-475-4559 toll free to connect with our Registrar for assistance. If you need additional date options, please contact us for scheduling.

Course Title Days Date Time Price
Fast Track to JEE Web Development With Servlets/JSPs, JNDI, EL, JPA, WebSockets, Security & More 5 Days Aug 30 to Sep 3 10:00 AM to 06:00 PM EST $2,595.00 Enroll
Fast Track to JEE Web Development With Servlets/JSPs, JNDI, EL, JPA, WebSockets, Security & More 5 Days Oct 18 to Oct 22 10:00 AM to 06:00 PM EST $2,595.00 Enroll
Fast Track to JEE Web Development With Servlets/JSPs, JNDI, EL, JPA, WebSockets, Security & More 5 Days Nov 29 to Dec 3 10:00 AM to 06:00 PM EST $2,595.00 Enroll

New Site, BIG Savings!
We're celebrating the launch of our lonnngggg awaited new site with with *50% off all 2021 Public Classes* booked by April 30!  Check out our Current Offers for Individuals, Teams and Organizations to Learn for Less!

See our latest Offers and Promotions

Learn. Explore. Advance!

Extend your training investment! Recorded sessions, free re-sits and after course support included with Every Course
Trivera MiniCamps
Gain the skills you need with less time in the classroom with our short course, live-online hands-on events
Trivera QuickSkills: Free Courses and Webinars
Training on us! Keep your skills current with free live events, courses & webinars
Trivera AfterCourse: Coaching and Support
Expert level after-training support to help organizations put new training skills into practice on the job

The voices of our customers speak volumes

Special Offers
Limited Offer for most courses.

SAVE 50%

Learn More