Fast Track to Java EE 5 with Servlets, JSP & JDBC Training

We offer private customized training for groups of 3 or more attendees.

Course Description

The course begins with a discussion of web application architecture. A major part of the course is spent on Servlets and JavaServer Pages (JSP) with special focus on using the JSTL. It then covers JDBC, Javaâ??s database access technology. The course concludes with an introduction to EJB and other important Java EE technologies. 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.
Course Length: 5 Days
Course Tuition: $2090 (US)


A working knowledge of Java.

Course Outline

Java EE Introduction
Java EE Overview
Java EE Technologies
Java EE Architecture
JEE Web App Review
Web App Overview
Servlet, Servlet Scopes
JSP Overview
Custom Tags, Tag Libraries, taglib directive
Getting started with JSF
JSF Overview
Purpose and Goals
JSF Architecture
JSF Views - facelets and JSP Pages
Managed Beans, Controler, configuration
Your first JSF Application - setup, configuration, deployment
Managed Beans
Defining a Managed Bean (annotation-based and using faces-config.xm)
Managed Bean Lifecycle
Managed Beans and JSF Forms
Managed Beans as Value Binding Expressions
JSF Expression Language (EL) & the Unified EL (JSF 1.2)
Value/Method Binding Expressions
JSF Navigation
Facelets and JSF Tag Libraries
Facelet Introduction and Life Cycle
JSF Tag Library Overview
JSF Core tags <f:tagName>
JSF HTML tags <h:tagName>
Using the Most Common Form controls – TextFields, Buttons, Links …
Additional JSF Capability
Validation and Conversion
Servlets and JSP with JSP Standard Tag Library (JSTL)
Web Application Basics
How the Web works, Thin Clients,  TCP/IP
HTTP overview, Brief HTML review
Overview of J2EE
Web Applications - Structure and Contents
Servlet Basics and Capabilities
Basics of Writing a Servlet
Setup development environment and server; Create a simple web application
Create a Simple Servlet
Servlet API
HTML Forms Review
HTTP Review: Request-response, headers, GET, POST
Overview: How Servlets Work
Servlet Lifecycle: init(), service(), destroy()
API: Servlet, ServletConfig, ServletRequest, ServletResponse, GenericServlet,
Requests and Responses - Using ServletRequest and ServletResponse
HTTP Servlets: HttpServlet, HttpServletRequest, HttpServletResponse
Accessing Parameters
More About web.xml
Using Client Input, Retrieving parameters
Additional Servlet Capabilities
Working with HttpServletResponse
Response Headers
MIME Types
Using ServletConfig and ServletContext
Init Parameters - Servlet and Web App
Error Handling: Error Pages and Their Configuration
Using Model Classes, Generating Simple Output
JavaServer Pages
Basics and Overview
JSP architecture
JSP tags and JSP expressions
Fixed Template Data
Lifecycle of a JSP
Model View Controller (MVC)
Java EE Model 2 Architecture : Servlet Controllers, JSP Views, JavaBeans Glue
Servlets as Controllers
Using 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
JavaBeans and the EL
Predefined JSP EL implicit objects (pageContext, param, header, scope objects)
<jsp:useBean>, <jsp:getProperty>, <jsp:setProperty>
jsp:include, jsp:forward, the page Directive
Create a Simple JSP Page
Put Data on a Scope and Forward to a JSP
Use the JSP Expression Language
Using Custom Tags
Custom tags overview
Reducing JSP complexity
Tag Libraries
Overview and TLD (Tag Library Descriptor)
taglib Directive - Using a Tag Library
c:out, c:forEach
c:url, c:param
Use c:forEach for Iteration
Working with Links and c:url
HTTP Session Tracking
HTTP Session Overview
HTTP as a stateless protocol
Hidden form fields
Overview and Servlet API
Using Cookies, Persistent and Session Cookies
Servlet/JSP Session Support, HttpSession
Using Sessions - Putting Data in, Retrieving Data From
How Sessions Work
Storing and Using Session Data
Session 8: More JSP Capabilities
Error Pages
Error Pages and Exception Handling
The implicit exception Object
JSP 2.0+ Error Handling and errorData Object
Directives (page, include, others)
JSPs as XML Documents
Scriptlets - Overview and Usage
Using Error Pages
{optional} Using Scriptlets
More JSTL and EL
More About the JSTL
Core, Formatting, SQL, XML, Functions Libraries
Custom Tag Architecture and Tag Library Structure
c:if, c:choose, c:import
Formatting: formatNumber, formatDate, Resource Bundles
Using Common Tags
XML Action Example
More About the JSP EL
Syntax, Identifiers, Literals, Operators
Implicit Objects
The pageContext in Detail
Type Coercion
String concatenation
Using Common Tags
c:if, c:choose
fmt:formatDate, fmt:formatNumber
Using c:if, c:choose, c:when and c:otherwise to customize output
[Optional]: Using the Function Library
JSTL Format Tags
J2EE 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
Securing a Web App, Setting Up and Using a Security Domain
Additional Topics
Design Issues
Dividing Responsibilities Between Servlets/JSP
Network Overhead
Scalaibility - Clustering, Serving Static Content
Other Guidelines - Using the Technology Well
Custom Tags Using Tag Files
Overview and Writing Tag Files
Tag Attributes
The tag Directive
Servlet Filter overview
Filtering examples, lifecycle, & filter chains
Filter API, Modifying a request, Modifying a response
Java ServerFaces (JSF) Overview
Advanced MVC – JSF overview
JSF Components
Process Flow
Advantages and Disadvantages
JDBC Introduction
Relational Database and JDBC Overview
Overview, Table Relationships, Web Based Data Access, JDBC Characteristics
JDBC Architecture, JDBC API Overview
DriverManager, JDBC Drivers
Naming databases with JDBC URLs
Connecting to a database
Connection interface, Establishing a connection
Handling Database Exceptions
Data Access with JDBC
DAO – Data Access Objects, O-R Mapping, Value Objects
Processing Database Data
Executing statements, precompiled statements and stored procedures
Processing ResultSets,
Dealing with Null data
Updating, inserting, retrieving data
Controlling Transactions
JDBC Driver Types
Lab series creating DAO using JBDC
Advanced Topics
Java Persistence API Overview
Advanced JDBC Features
Batch Updates, Srollable Result Sets, Rowsets, User Defined Types, BLOBS, CLOBS
Database Integration and Additional Technologies
Java EE Database Integration
Environment Naming Context (ENC) and Resource Injection
JNDI Overview and the ENC
Connecting servlets to a database via DataSource
Connection Pooling
Additional Topics
Overview of EJB
High-level EJB architecture
Roles within EJB
Client view of a session bean
JNDI (Java Naming and Directory Interface)
Remote and Home Interfaces
Writing an EJB client
XML and Web Services Overview
XML and Web Services
JAX-WS Web Services Overview
Design Considerations: Web Design, System Architecture, Scalability, Clustering
Accessing a database from a servlet
Other Optional Labs (Depends on Platform Support)

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Java Programming Uses & Stats

Java Programming is Used For:
Android & IOS Development Software Products Video Games Desktop GUI's
Year Created

Most Commonly Used: 
According to Oracle, three billion devices run on Java.  And, because of its real-world applications, it consistently ranks at the top of the TIOBE Programming Community Index. 

Great Career Choice: 
Some of the fastest-growing salaries in the U.S. in 2018 are for Java developers.  (Glassdoor)  

Android Apps Development:
Developers predominatly use their Java skills in building apps for Google's Android. The Android platform is the number one mobile paltform in the world

It Can Run On Any Platform:
Java can compile on Windows and run the same compiled file on Linux, Windows and Mac.

Great Supporting IDE's:
Over the years, coding in Java has become simpler with the introduction of open source development tools, i.e. Eclipse and NetBeans that use Java capabilities for debugging.  


Uses a Lot of Memory:
Performance can be significantly slower with Java and more memory-consuming than natively compiled languages such as C or C++.

Difficulty in Learning: 
Learning Java can be a bit challenging if you are a beginner.  However, once you get the hang of Object Oriented Programming and a decent grasp of the syntax, you will be well on your way.

Slow Start Up Times:
There is quite a bit of one-time initialization done by JDK classes before compiling as well as loading classes and verification (making sure code doesn't do evil things, all of which takes longer that some other languages such as C. 

Verbose and Complex Code:
Long, over-complicated sentences make code less readable and scannable. Compare to let's say Python, we can see how clear Python code appears: It doesn’t require semicolons; uses “and,” “or,” and “not” as operators instead of Java’s “&&,” “||,” and “!”; and generally has fewer bells and whistles such as parentheses or curly braces.

Commercial License Cost:
Companies have to prepare for the changes that Oracle will institute in 2019 . Today, the current version of Java is free and available for redistribution for general purpose computing. However, If you are a DEVELOPER, Oracle recommends you review the roadmap information for Java SE 8 and beyond and take appropriate action depending on the type of application you develop and your distribution mode.

Java Programming Job Market
Average Salary
Job Count
Top Job Locations

New York City 
San Jose
Washington D.C, 

Complimentary Skills to have along with Java Programming

- If you are an experienced Java developer, learning a complimentary language to Java should come much more naturally.  As an example JetBrains recently created the Kotlin programming language which is officially supported by Google for mobile development.  Kotlin compiles to Java bytecode and runs on the JVM; it's purported to address many of Java's shortcomings...

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.