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

Enroll in or hire us to teach our Fast Track to Java EE 5 with Servlets, JSP & JDBC class in Albany, New York by calling us @303.377.6176. Like all HSG classes, Fast Track to Java EE 5 with Servlets, JSP & JDBC may be offered either onsite or via instructor led virtual training. Consider looking at our public training schedule to see if it is scheduled: Public Training Classes
Provided there are enough attendees, Fast Track to Java EE 5 with Servlets, JSP & JDBC may be taught at one of our local training facilities.
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)

Prerequisites

A working knowledge of Java.

Course Outline

 
Java EE Introduction
Java EE Overview
Java EE Technologies
Java EE Architecture
MVC
 
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
h:dataTable
Validation and Conversion
Templates
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
Labs:
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
Labs:
Using Client Input, Retrieving parameters
 
Additional Servlet Capabilities
Working with HttpServletResponse
Status/Errors
Response Headers
MIME Types
Initialization
Overview
Using ServletConfig and ServletContext
Init Parameters - Servlet and Web App
Error Handling: Error Pages and Their Configuration
Labs:
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)
Overvie
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
Labs:
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
JSTL
Overview
c:out, c:forEach
c:url, c:param
Labs:
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
Cookies
Overview and Servlet API
Using Cookies, Persistent and Session Cookies
Issues
Sessions
Servlet/JSP Session Support, HttpSession
Using Sessions - Putting Data in, Retrieving Data From
How Sessions Work
Labs:
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
Labs:
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
c:set
fmt:formatDate, fmt:formatNumber
Labs:
Using c:if, c:choose, c:when and c:otherwise to customize output
[Optional]: Using the Function Library
JSTL Format Tags
 
Security
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
Labs:
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
 
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
DataBaseMetaData
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
Labs:
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
EJB
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
Labs
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
Difficulty
Popularity
Year Created
1995
Pros

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.  
 

Cons

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
$102,000
Job Count
26,856
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.