Servlets & JSP Development with Rational Application Developer (RAD) v7 Training
Revision: TE1108_20060816
Course Length:
5 Days
Course Description:
Students will learn to develop and test server-side applications based on the Java 2 platform, Enterprise Edition (J2EE) component model using the IBM software platform of products and tools.
Who Should Attend:
Benefits of Attendance:
Upon completion of this course, students will be able to:
- Use RAD v7 as a truly integrated development environment
- Build servlets according to the current Servlet 2.4 specification
- Build JSPs according to the current JSP 2.0 specification
- Build custom JSP tag libraries
- Integrate servlets and JSPs into a complete J2EE application
- Test servlets and JSPs using the WebSphere Test Environment
- Deploy a J2EE application to WebSphere Application Server
Prerequisites:
Students should understand essential concepts of Object-Oriented Programming and be able to write simple Java programs with assistance.
Course Outline:
- Introduction to RAD
- The WebSphere Family
- Eclipse Platform
- The WebSphere Studio Product Family
- Key Features in RAD v7
- WSAD Integration Edition
- WebSphere Studio Enterprise Developer
- Views, Perspective and Editor Areas
- Basic Operations with RAD Views and Perspectives
- The Java Perspective
- The Debug Perspective
- Navigator, Outline, and Task Views
- Package Explorer
- Build and Validation
- Import and Export Project
- Templates and Code Completion
- Searching
- Setup Compiler Class Path
- JRE Switching
- J2EE and the WebSphere Platform
- Java Web Applications and Architecture
- J2EE Architecture, Software Packaging, and Module Struture
- Enterprise Archive (EAR)
- Web Modules and WAR
- EJB Modules
- Web Application Programming Model – MVC
- The Infrastructure for Enterprise Web Applications
- The IBM WebSphere Platform
- Rational Web Developer
- Rational Application Developer (RAD)
- WebSphere Application Server
- What’s new in WebSphere Application Server v7
- WebSphere Editions
- Services provided by WebSphere Application Server
- WebSphere Application Server Architecture
- WebSphere Administrative Topology
- WebSphere Application Server Components
- Server Profile
- WAS Administration tools
- RAD J2EE Development
- RAD Project Structure
- J2EE Programming Tools
- Project Explorer
- Servers View
- The J2EE Perspective
- The Web Perspective
- Create an Enterprise Application
- Setup Utility JAR
- Create an EJB Project
- Create a Web Project
- Setup Dependent JAR Files
- Create Server Instance and Server Configuration
- Configure Server Instance
- Add an Enterprise Application Project to the Test Server
- Start and Stop the Server
- Test and debug a Servlet
- Test and debug a JSP
- Servlet Basics
- History – CGI
- Server Extension APIs
- Java Servlet
- Servlet Container
- Servlet Responsibilities
- J2EE and Servlet
- The Servlet Class
- The HttpServlet Class
- The Servlet Container
- The Servlet API
- Life Cycle – Initialization
- Example Initialization
- Life Cycle – Processing
- Life Cycle – Destroy
- User Input
- Output to Client
- Servlet Error Handling
- Threading Issues
- Create a Servlet in RAD
- Code Servlet Methods
- The Web Deployment Descriptor
- Test the Servlet
- Debug Servlets in the WebSphere Test Environment
- Servlet Interaction Interface
- Request
- Request Parameters, Attributes, Headers, and Path
- Other Request Information
- Response
- Cookies
- Servlet Context Attributes
- Resource
- Session Tracking
- Cookies
- HTML Hidden Fields
- Using HttpSession
- Session Invalidation
- HttpSession - URL Rewriting
- JavaServer Page (JSP) Basics
- JSP Benefits
- Evolution of Dynamic Content Technologies
- How JSP Works
- JSP Invocation, Scripting Elements, and Directive
- page Directive Attributes
- page Attribute – errorPage, isErrorPage
- Directives – include
- Include at compile time vs. at request time
- Request time inclusion
- JSP Declarations, Expressions, Scriplets, and Comments
- JSP Predefined Variables
- The request, response, and out Objects
- Creating a JSP with RAD
- Editing a JSP with RAD
- Testing a JSP with WSAD
- Debugging a JSP with RAD
- Using Java Beans with JSP
- What is a JavaBean?
- Structure of a JavaBean
- Life Cycle and Properties
- Very Simple Bean
- Using Java Beans in JSP
- The jsp:useBean tag
- Java Bean scope
- jsp:useBean in Action
- The jsp:getProperty tag
- The jsp:setProperty tag
- Mapping request parameters
- Mixing Scriptlets and Bean tags
- Advanced Servlet Programming
- Issues for Web Application Development Productivity
- WAP Model – MVC
- Model, View, Controller
- What is JDBC?
- JDBC Architecture
- JDBC: Basic Steps
- Loading a Driver
- DB2 UDB JDBC Drivers
- Oracle JDBC Drivers
- Create a Connection
- Statement
- PreparedStatement
- ResultSet
- Close the Connection
- Connection Pooling
- Access a DataSource
- Get a Connection
- Release Connections
- Resource References
- JavaBeans
- MVC Implementation
- Request Dispatching
- Request Dispatching - Forward vs. Include
- HTTP Redirection
- Dispatch vs. redirection
- Integrating Servlet and JSP
- Calling a JSP from a Servlet
- Request Dispatching - forward Request to JSP
- Supply Result information to the JSP
- Display JavaBean Properties in JSP
- Creating a Data Source with RAD
- Adding Resource Reference in RAD
- Create a Java Bean with RAD
- Add Attributes and Getters and Setters with RAD
- Servlet Filters
- What is a filter?
- Why use a filter?
- Uses for Filtering
- Features of filters
- The Filter interface
- How a filter works
- Configuring the filter
- Mapping the filter
- The Web Deployment Descriptor
- Common filter tasks
- Request and Response Wrappers
- Servlet Event Listener
- What are Listeners
- Types of Listeners
- Writing a Servlet Context Listener and a Context Attribute Listener
- Writing a Session Activation Listener and Attribute Listener
- Registering Listeners
- Lifecycle of Listeners
- Custom Tag Libraries
- Tag Attributes
- Tag Body
- Tag Library Descriptor
- carPrice.tld
- The Java Server Page
- Writing a Simple Tag Handler Class
- Tag Handler Life Cycle
- Rendering Content
- Implementing Empty Body Tag
- carPrice.jsp
- Implementing a Tag With Unprocessed Body
- Handling Tag Bodies
- Implementing Body Processing and an Iteration Tag
- Nested Tags
- J2EE Security
- J2EE Authorization Model
- Protecting Web Resources
- Protecting EJB Methods
- EJB Delegation Policies
- Delegation Scenario
- J2EE Application Deployment
- Application Deployment Descriptor
- Deployment Descriptors
- Bean Developer Entries
- Application Assembler Entries
- Separate Client Side Code (Optional)
- Generate Deployed Code
- Export EAR
- Export EJB and Client JAR
- J2EE Deployment
- Administrative Console
- Environment Variables
- Security and Resources
- Queue Connection Factory
- Queue Destinations
- Installing Applications
- Server Options
- Starting an Application
- Struts Architecture and Overview
- Review: MVC Model Request, Session and Application
- Struts Flow
- Components in Struts
- The Model, View, and Controller
- Struts Flow
- struts-config.xml
- The element in the struts-config.xml
- The Role of web.xml for the Application
- Configuring Struts in the web.xml
- Steps to Configuring Struts in the web.xml
- JSP Expression Language and STL
- JSP Expression Language
- Basic Usage
- Built-in Objects
- Working With Arrays and Maps
- Operators
- Full Example
- JSTL
- Run Time Version
- Basic, Condition, and Interator Tags
- Internationalization (I18N)
- Setting Preferred Locale
- Specifying Resource Bundle
- Display Translated Text, Number, Date
- JDBC Tags
- Specify Data Source
- Performing a Query
- Display Result
- EJB Overview
- Needs for EJB
- Distributed Computing
- Distributed Transaction
- Distributed Security
- What are EJBs?
- Characteristics of EJBs
- EJB Remote Method Call
- EJB Architecture Components
- EJB Client, JAR File, Server, and Container
- EJB Container - Persistence and Transaction
- Session Beans
- Entity Beans
- EJB Classes and Interfaces
- Basic Components of Entity and Session Beans
- EJB Home Interface
- EJBHome Object
- EJB Remote Interface
- EJB Local Home Interface
- Remote EJB Objects
- Local EJB Objects
- EJB Implementation Class
- EJB Container - Relationships
- Remote v. Local EJBs
- EJB Application Development
- Deploying Enterprise Beans
- Major Components of Deployed EJBs



