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:

6:15 PM-9:45 PM, Mondays, April 24, May 1, 8, 15, 22 and June 5

Location:

Sheraton Lexington Hotel, 727 Marrett Road, Lexington, MA  02421

TEXT:

Head First Servlets & JSP: Passing the Sun Certified Web Component  Developer Exam by Bryan Basham, Kathy Sierra, Bert Bates

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.

Decision (Run/Cancel) Date for  this Courses is Friday, April 14, 2006

Course Fee Schedule:

REGISTRATION RECEIVED BY
April 7, 2006

REGISTRATION. RECEIVED AFTER
April 7, 2006

IEEE MEMBERS $550

IEEE MEMBERS $595

NON-MEMBERS $595

NON-MEMBERS $625

On-line Registration and Payment

On-line registration is closed for this course, but registration is still available on-site or by contacting the office at 781-245-5405.

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

Updated Thursday August 16, 2007