Prerequisite: Attendees need to understand object
oriented inheritance, and should have some prior Java programming experience
to comprehend all the Java concepts discussed in this course. Knowledge of
HTML and Linux is helpful but not required. Those individuals without the
Java programming and inheritance experience should also sign up for
Qualware’s *FUN* Java Workshop (see consultme.com/courses)
scheduled for March 2006.
Targeted for: This course is ideal for individuals
that want to learn Java server side programming such as Servets and Java
Server Pages from the ground up. The class will proceed at a fast pace,
allowing most individuals making an effort to learn this material, to keep
up with the class. The class is structured to be as interactive as possible
by making use of live demonstrations that review and emphasize the concepts
taught in the class and assigned as homework projects. The text book
included with the course is an *FUN* entertaining “Brain-Friendly”
self-study guide based on accelerated-learning techniques that use puzzles
and off-the-wall short stories to capture interest and enhance memorization
and learning!
Handouts: Copies of the course outline slides will
be provided along with relevant handouts when appropriate.
Class Description: By the use of lectures,
demonstrations and possibly lab exercises (for those individuals that bring
laptops to class), this *FUN* mini course will introduce you to one of
hottest technologies for serving dynamic web pages around the world, Java
Servlets and Java Server Pages. This technology enables enterprise
applications to be deployed to a huge number of client sites simultaneously,
for businesses such as EBAY.
PRELIMINARY DETAILED AGENDA:
Session 1:
Client Browser and Web Server Communications Overview:
Quick introduction to HTML and XHTML
Stateless HTTP requests and responses
HTTP (request) methods: GET and POST
HTTP (response) MIME types
Web servers: static vs dynamic pages
CGI (Common Gateway Interface) Architecture
Contrasting Server Side Includes, PHP/ASP and
Servlet/JSP Architectures
JSPs: embedding a little Java within HTML
pages
Sneak peak at Directives, Expression and
Scriptlets escapes
Introduction to Web Containers (Tomcat) and Servlet
Architecture:
Generic and HTTP Servlets, methods: service(),
doGet() and doPost().
Introduction to Deployment Descriptors and URL
Servlet mapping
Demo simple daytime Servlet vs same in JSP
Configuring, starting and stopping Tomcat Web
Server for deployment of Servlets and JSPs.
Introduction to Model-View-Controller design
pattern and J2EE
Session 2:
Servlets Architecture Details:
Servlets controlled by the Container
Servlet life cycle: from load to init(), to
service(), to destroy().
Container makes each request run in a separate
thread
Servlet’s Get and Post request protocol
details and when to use Get and when to use Post.
HttpServletRequest and HttpServetResponse
Sending and using request parameters
Redirect vs request dispatcher
Configuration and Content, Thread-Safety:
Using Init Parameters and making code Thread-safe
Contrast init parameters provided by
ServletConfig with init (application) parameters
provided by
ServletContext.
Parameters vs Attributes
Visability Scopes: context, request, and
session
Init Parameters and ServletConfig
Comparing ServletConfig and ServletContext
Examine synchronization and thread-safe
techniques
Session 3:
Implementation of Session Management on Stateless Web
Servers:
Session IDs, Cookies, URL rewriting
Response.encodeRedirectURL();
Setting session timeouts
Using cookies with the Servlet API
HttpSession
Examination of JSPs as an Auto-generated Servlet:
Using the page directive to import packages
and include files
Using implicit out object variable and other
implicit objects
Using scriptlets, expressions, directives and
declarations
Lifecycle of a JSP
Four levels of scope on attributes in a JSP
Sneak peek at Expression Language and Actions
Session 4:
Using JavaBeans
Standard actions: <jsp:useBean>, <jsp:getProperty>,
<jsp:setProperty>
Requesting parameters sent directly to a
JavaBean
Converting properties
The details of using non-Java Expression
Language in JSP 2.0
Using dot (.) operator within EL to access
properties and map values
Using [] within EL to access Lists and arrays
EL functions, and handling “null”
Two kinds of “include” <jsp:forward> standard
action
Introduction to JSTL tags
JSP Standard Tag Library (JSTL) details:
Core, Formatting, SQL and XML library actions
Looping without scripting <c:forEach>
Conditional control with <c:if> and <c:choose>
Using the <c:set> and <c:remove> tags
Using <c:import> and <c:param> to include
content
<c:url> for hyperlink needs
Making your own error pages, using <c:catch>
for exception processing
taglib directive
Session 5:
Web App Deployment Details:
Web app directory hierarchy: What goes where
in a web app
WAR files
Servlet mapping
Configuring welcome files and error pages in
the Deployment Descriptor
Configuring Servlet initialization in the DD
Servlet and web app security:
HTTP Authentication
Authorization: roles and constraints
Secure transactions with HTTPS (optional)
Session 6:
Quick Overview On Writing and Configuring a Filter:
Building a request tracking filter
A filters life cycle
Declaring and ordering filters
Compressing output with a response-side filter
Quick look at enterprise design patterns:
Software design principles
Patterns to support remote model components
Overview of JNDI and RMI
Service Locator
Struts as an example of MVC design pattern
Audience Question and Answer and Wrap-up
For more info: email to
ieeejeffg@qualware.com or call
781-229-1530 ext 2.
Lecturer’s biography: An honor graduate of Tufts
University, Jeffrey M. Goldberg has served the engineering and academic
community in various roles from principle design engineer/project leader to
senior consultant and trainer at companies such as Hewlett Packard, Siemens,
Picturetel, 3Com, IBM, NMS, and EMC. Mr. Goldberg is a long-time innovative
user of UNIX and Internet services. He currently develops and delivers
public seminars and customized corporate training classes along with very
flexible scheduling, to avoid project disruption, in the fields of IT
operations, operating system and computer languages. Specialties include
UNIX Fundamentals, Perl and Shell Scripting, Linux/Solaris/UNIX System
Administration and TCP/IP Networking, Web Technologies such as Visual Basic,
Delphi, Java Script, PHP Apache, C/C++, Java and SQL Database Access,
Computer and Network Security.
copywrite 2006 Qualware Instructional Services and Jeff
Goldberg.