- Understand the design and development of web applications using Servlets and JSPs
- Develop Servlets to process Web requests and generate dynamic data
- Understand and create JavaServer Pages (JSPs)
- Link Servlets and JSPs, and share data between them
- Use the JSP 2.0+ Expression Language (the EL)
- Use the built in JSP objects
- Store and process session information
- Deal with concurrency issues
- Understand and use custom tag libraries and tag files
- Understand and use the JSTL
- Use J2EE Security from the Web Tier
- Understand good design techniques including MVC (Model View Controller) / Model 2 Architecture
Hands-On
50% hands-on, 50% lecture
Supported Platforms
JBoss™, Tomcat, RAD/WebSphere, Weblogic, Oracle, GlassFish, Eclipse
Java Training Course Duration
3 Days
Java Training Course outline
Session 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
- Labs:
- Setup development environment and server; Create a simple web application
- Create a Simple Servlet
Session 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
- Labs:
- Using Client Input, Retrieving parameters
Session 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
- Labs:
- Using Model Classes, Generating Simple Output
Session 4: 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
Session 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
- Labs:
- Use c:forEach for Iteration
- Working with Links and c:url
Session 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
- Labs:
- Storing and Using Session Data
Session 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
- 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
Session 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