Course Description
Fast Track to Servlets/JSP
OVERVIEW
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.
Who Should Attend
This course is intended for individuals who want a Thorough
introduction to building Web applications with Java. Includes coverage of Model
2 (MVC) architectures and JSTL (JSP Standard Tag Library)
Course Outline
1 - 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
2 - 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
3 - 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
4 - JavaServer Pages
•Basics and Overview
•JSP architecture
•JSP tags and JSP expressions
•Fixed Template Data
•Lifecycle of a JSP
•Model View Controller (MVC)
•Overview
•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
5 - 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
6 - 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
7 - 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
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
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
10 - 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