Fast Track to Java Servlets and JSP Developer's Workshop Training in Winston Salem

Enroll in or hire us to teach our Fast Track to Java Servlets and JSP Developer's Workshop class in Winston Salem, North Carolina by calling us @303.377.6176. Like all HSG classes, Fast Track to Java Servlets and JSP Developer's Workshop 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 Servlets and JSP Developer's Workshop may be taught at one of our local training facilities.
We offer private customized training for groups of 3 or more attendees.

Course Description

 
This course is a comprehensive tutorial in the design and programming of Java Web applications using servlets and JSP. It starts with Web application architecture, usage, and deployment. It teaches about the capabilities of servlets, servlet architecture, and session management, JSP structure and syntax, and good design techniques for using them. Extensive coverage is included on how to efficiently use the JSP Expression Language (EL), custom tags, and the JSTL library. The course is current with the latest releases of the specification, and uses the latest capabilities to write Web applications in the most efficient way possible. This includes the use of the JSP Expression Language directly in JSP 2.0+ Web pages, an overview of creating custom tags with tag files, and other new capabilities that make the framework much more user friendly. The complete course will give you excellent experience on how to build robust and capable Web applications using the latest features of the Java EE Web container.
Course Length: 3 Days
Course Tuition: $1290 (US)

Prerequisites

Some Java, HTML, and XML programming experience is recommended.

Course Outline

 
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
 
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
Session 8: 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
Session 9: 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

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.