Servlets and JSP on the JBoss Application Server

Course Number:

N/A

Audience:

Course Duration:
3 days

Prerequisites:

Course Objectives:
  • 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
Course Outline:
  • LinkWeb 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
      • Setting up and running JBoss AS
  • 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
  • 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
  • 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
    • Labs:
      • Create a Simple JSP Page
      • Put Data on a Scope and Forward to a JSP
      • Use the JSP Expression Language
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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

 

Related Posts

About Us

IT Training, Agile Ways of Working and High Impact Talent Development Strategies

Let Us Come to You!

Classes recently delivered in: Atlanta, Boston, Chicago, Columbus, Dallas, Detroit, Indianapolis, Jerusalem, London, Milan, New York, Palo Alto, Phoenix, Pittsburgh, Portland, Raleigh, San Antonio, San Diego, San Francisco, San Jose, Seattle, Springfield, Mass., St. Louis, Tampa and more!