Fast Track to Servlets/JSP™
Summary
Fast Track to Servlets/JSP
Servlets and JSP (JavaServer Pages) are key server-side Java technologies for building web applications. Servlets are programs that run on a
web server; they can respond to client requests and create dynamic content. JSPs are useful for displaying dynamic data, and allowing Java developers
and Web page designers to work together easily. The JSTL is a tag library for JSP that encapsulates the core functionality common to many Web
applications using custom tags. These include tags for iteration, conditionals, XML manipulation and much more.
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. It teaches about the capabilities of servlets, servlet architecture, and session
management, JSP structure and syntax, and good design techniques for using them. Extensive coverage is included on how to efficiently use the
JSP Expression Language (EL), custom tags, and the JSTL library.
The course is current with the latest releases of the specification, and uses the latest capabilities to write Web applications in the most efficient way
possible. This includes the use of the JSP Expression Language directly in JSP pages, an overview of creating custom tags with tag files, and other
new capabilities that make the framework much more user friendly. The complete course will give you excellent experience on how to build robust and capable
Web applications using the latest features of the Java EE Web container.
All labs can be done with the Eclipse IDE Java EE version, and the lab
instructions include detailed directions for using it.
Course Objectives
On completion of this course, the student should be able to
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 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 Java EE Security from the Web Tier
Understand good design techniques including MVC (Model View
Controller) / Model 2 Architecture
Length
3 Days
Format
50% hands-on, 50% lecture
Course Outline
Session 1: Web Application Basics
- How the Web works, Thin Clients, TCP/IP
- HTTP overview, Brief HTML review
- Overview of Java EE
- 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 Basics
- HTML Forms Review
- HTTP Review: Request-response, headers, GET, POST
- Overview: How Servlets Work
- Servlet Lifecycle: init(), service(), destroy()
- API: Servlet, @WebServlet, 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 among Servlets and JSP
- 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
- WebSocket Support
- Java ServerFaces (JSF) Overview
- Advanced MVC – JSF overview
- JSF Components
- Process Flow
- Advantages and Disadvantages
Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 3
Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 4
Notice: Undefined variable: REMOTE_USER in /var/www/datadeliverance/inc/trademarks.inc on line 7
Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 7
Notice: Undefined index: printer in /var/www/datadeliverance/inc/trademarks.inc on line 11
Go to course catalogue
Oracle and Java are registered trademarks of Oracle and/or its affiliates.
PL/SQL and SQL*Plus are trademarks or registered trademarks of Oracle
Corporation. Microsoft is either a registered trademark or trademark of Microsoft
Corporation in the United States and/or other countries. MVS is a registered
trademark of the International Business Machines Corp. in the U.S. or other
countries or both. Motif, OSF/1, UNIX, and the "X Device" are registered
trademarks and IT DialTone and The Open Group are trademarks of The Open Group
in the U.S. and other countries. All other trademarks are the property of
their respective owners.