Servlets and JSP on the JBoss Application Server

Course Number:



Course Duration:
3 days


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


Share on facebook
Share on twitter
Share on linkedin
Share on email

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!