The IEEE Boston Section Techsite

The On-line Boston Section IEEE Information Source

         

Course:  

Introduction to Java Servlets and JSPs

Lecturer:

Jeffrey Goldberg, Qualware Instructional Services

Date:

Thursdays, 6:15-9:45 PM  Nov 6, 13, 20, December 4, 11, 18

Location:

Holiday Inn Select Hotel, 15 Middlesex Canal Park Rd., Woburn, MA

Provided Text:

Head First Servlets and JSP (2nd Edition March 25, 2008):  Passing the Sun Certified Web Component Developer Exam (Brain-Friendly Guides) by Bryan Basham, Kathy Sierra, Bert Bates; O’Reilly Media, Inc.; 2 edition, (March 25, 2008), retail price; $49.99

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 wishing to take this course should sign up for Qualware.com’s *FUN* Java Workshop.

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.

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 and Expression Language [<== a change]

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
Self review of compressing output with a response-side filter

    Java 1.5 enhancement

    Audience Question and Answer and Wrap-up

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.  For more information, please contact Jeff Goldberg at 781-229-1530 x2, jeffg@qualware.com or just visit http://www.consultme.com/training (or www.qualware.com coming soon).

copywrite 2008 Qualware Instructional Services and Jeff Goldberg.

Decision (Run/Cancel) Date for  this Courses is Tuesday, October 28, 2008

Course Fee Schedule:

REGISTRATION RECEIVED BY
Oct. 24, 2008

REGISTRATION RECEIVED AFTER
Oct. 24, 2008

IEEE MEMBERS $495

IEEE MEMBERS $545

NON-MEMBERS $545

NON-MEMBERS $575

On-line Registration and Payment

This course has been cancelled.  If you have any questions or concerns, please contact the IEEE office at 781-245-5405.

Copyright © 2009 IEEE Boston Section. All rights reserved.
Maintained by R M Stelting

Updated Thursday June 11, 2009