Servlet Development Using RAD v7.0 Course

Course Code: IN 682
Course Abstract: This course teaches Java developers how to write Web components including servlets, JavaServer Pages, filters and servlet event listeners.  The focus of the course is on developing the server side code, rather than graphical web pages. Participants will gain experience developing, testing and debugging Web applications using IBM Rational Application Developer (RAD) v7.0.  The concepts taught in this course are reinforced by hands-on lab exercises.
Audience:

This course is designed for developers.

Duration: 4 days
Learning Outcomes: Upon completion of this course, the participant will be able to:
> Develop server side code
> Develop, test and debug windows applications
Course Topics:

Web and Application Server Concepts
Web Application Design
Model-View-Controller
WebSphere Application Server Platforms
URLs, HTTP and SSL
HTTP Requests and Responses
Web Server and Application Server Roles
Request Processing

J2EE Architecture Overview
Enterprise Application Overview and Development Cycle
J2EE Architecture and Containers
Applet, Servlet and JSP Overviews
JDBC, JNDI and JTA
EJB, JMS and RMI Over IIOP
JavaMail, JAF, JAAS and JACC
XML and JAXP
New in J2EE 1.4
Web Services Support: JAX-RPC, SAAJ, Web Services for J2EE and JAXR
J2EE Connector, Management and Deployment
Development Roles and Deployment Descriptors

Introduction to Rational Application Developer
Workbench Features
What’s New
Workspaces and Perspectives
Enabling Roles and Capabilities
Creating Projects and Setting Project Properties
Building Projects
Adding Application Components
Using Editors and Views
View Toolbars and Fast Views
Customizing Perspectives and Creating User Defined Perspectives
Navigating the Workspace and Using Bookmarks
Working with the Tasks and Search Views
Using Working Sets and Local History
Getting Help and Using Cheat Sheets

Servlet Basics
What are Servlets and Why Use Them?
Web Container Responsibilities
Servlet Lifecycle Methods
Servlet Invocation
HttpServlet
Multithreading Issues
Registering Servlets by Name
Handling Requests and Responses
Response Content Methods
Reading a Post
Scope Attributes
Passing Data Between Servlets
What are Filters and Servlet Event Listeners?

Application Assembly and Packaging
J2EE Deployable Units
Assembly Process
Packaging Checklist
Creating Enterprise Application Projects
Importing Resources
Adding J2EE Modules and Utility JARs
JAR Dependency Editor
Using the Application Editor
Deployment Descriptor Elements (EJB, Web, Connector, Client and Application)
IBM Extensions and Bindings
Exporting Resources

RAD
Using the Web Perspective
Creating Web Projects and Specifying
Project Configurations and Facets
Annotation-based Programming
Web Project Structure and Default Files
Creating Servlets, Filters and Listeners
Using the Properties View
Editing the Web Deployment Descriptor
Defining IBM Extensions and Bindings

RAD
Server Tools
New Features
Test Environments
Server Types and Resources
Defining a Server
Running Applications on a Server
Defining the Target Server
Servers View and Actions
Editing the Server Configuration for WebSphere V6 and V6.1
Embedding Deployment Information in an Application
Reloading Resources Running on the Server
WebSphere Administration Command Assist
WebSphere Profiles

Servlet Programming
ServletRequest and ServletResponse Interfaces
HTTPServletRequest and HTTPServletResponse Methods
Retrieving the Request URI
Response Buffering
Accessing the ServletContext Object
Retrieving Context Initialization Parameters
The RequestDispatcher Interface
Forwards and Includes
Internationalization

JSP Basics
What are JavaServer Pages and Why Use Them?
JSP Translation and Execution
JSP Elements
Standard Actions: useBean, setProperty, getProperty, include, forward and param
JSP and JavaBean Interaction
Scope Attributes
Calling JSPs from Servlets
Relative URLs

Filters
The Filter Interface
Filter Deployment and Lifecycle
Performing Filtering Tasks
Filter Chain Invocation
Wrapping Requests and Responses
Accessing the Filter Configuration Object
Implementing the Destroy() Method

Using Cookies and Sessions to Manage Application Data
The HttpSession Interface
Managing Session Data
Session Tracking Mechanisms
Sessions at Runtime: Client & Server
Invalidating a Session
The Serializable Interface
HttpSession Thread Safety and Events
Sending and Retrieving Cookies
Cookie Attributes
Proper Usage of Cookies
Distributable Web Applications

Servlet Event Listeners
Implementing and Deploying Listeners
Implementing the ServletContextListener Interface
The ServletContextAttributeListener Interface
Responding to HttpSessionEvents
The HttpSessionAttributeListener and ServletRequestAttributeListener Interfaces
Session Activation and Binding Listeners
Receiving ServletRequest Notifications
Thread Considerations

Design Considerations
Controlling Application Flow
Web Application Design
Controller Servlets
Site Design
Handling Responses and Managing State
Handling Errors and Invalid Transitions
Controlling Page Caching
HTTP Headers
Memento Design

JSP Tag Extensions
Tag Extension Features
Tag Types: Simple and Classic
Classic Tag Handlers: Tag, IterationTag and BodyTag
Classic Tag Handler Lifecycles
Convenience Classes: TagSupport and BodyTagSupport
The TryCatchFinally and DynamicAttributes Interfaces
Defining SimpleTag Handlers
Simple Tag Handler Lifecycle
The SimpleTagSupport and TagAdapter Classes
Packaging Tag Libraries and Defining Tag Library Descriptors
Referencing Tag Libraries in the Web Deployment Descriptor
Using Custom Tags in a JSP

Appendix A.   J2EE Design Patterns
What Are Design Patterns and Why Use Them?
Composite View, Front Controller, Intercepting Filter and View Helper Patterns
Transfer Object, Session Façade, Business Delegate and Service Locator Patterns
Data Access Object, Fast-Lane Reader and Value List Handler Patterns
Composite Entity and Factory Design Patterns
Putting It All Together

Appendix B.   XML Concepts
XML Benefits and Features
Document Structure and Components
Elements and Attributes
Names and Name Tokens
CDATA, Entities and Entity References
XML Validation: DTDs and Schemas
Namespaces
XML Parsers
JAXP, SAX, DOM and JDOM APIs
XSL and XSLT

Prerequisites: Working knowledge of Java programming is required.
Note: All fields are required
At the present time we do not offer training for individuals or groups less then 6 individuals. We apologize for any inconvenience.


We Value Your Privacy!

Ready to get started or in need of more information? Contact us today.

Go To Blog Virtual Learning

Testimonials

“The untrained or undertrained mobile user will cost five to eight times to support than a well trained worker.” (“Untrained Users Cost More to Support than Trained Users”, Gartner, Inc. March 2006)