WA1235 Servlets and JSP Development on JBuilder X and Weblogic Training and Courseware Course Outline

1. Overview of Web Applications

  • Objectives
  • Tiered Software Architecture
  • Tiered Runtime Environment
  • Tiered Architectures
  • Presentation Layer
  • Web Presentation Layer
  • Business Logic Tier
  • Tier Integration
  • Java Web Applications
  • Java Web Application Architecture
  • J2EE Architecture
  • Web Application Programming Model - MVC
  • Model View Controller
  • A Scenario of Using MVC
 

2. Introduction to WebLogic Server and JBuilder

  • The BEA WebLogic Platform
  • WebLogic Portal
  • WebLogic Integration
  • WebLogic Workshop
  • WebLogic Server
  • What s new in WebLogic 8.1
  • Services provided by WebLogic Server
  • WebLogic Administration tools
  • JBuilder
  • Application Server Support
  • WebLogic Server
  • WebLogic Server Component Containers & Application Services
  • Tools for WebLogic Application Development
  • Tool Usage
  • JBuilder UML Browser
  • UML Browser
  • Package Dependency Diagram
  • Combined Class Diagram
  • JBuilder UML Browser(continued)
  • JBuilder Features
  • The JBuilder Environment
  • JBuilder AppBrowser
  • Working with JBuilder Projects
  • Debugging in JBuilder
  • Working with Source Code
  • Compiling Projects
  • Running Projects
  • Debugging Projects
  • JBuilder J2EE Development
  • JBuilder Test Environment
  • JBuilder Test Environment steps for test
  • Configure WebLogic in JBuilder
 

3. Servlet Basics

  • Objectives
  • History CGI
  • Server Extension APIs
  • Java Servlet
  • Servlet Container
  • Servlet Responsibilities
  • J2EE and Servlet
  • The Servlet Class
  • The HttpServlet Class
  • An Example Hello World
  • The Servlet Container
  • The Servlet API
  • Life Cycle Initialization
  • Life Cycle Initialization
  • Example Initialization
  • Life Cycle Processing
  • Life Cycle Processing
  • Life Cycle Destroy
  • User Input
  • Example User Input
  • Output to Client
  • Servlet Error Handling
  • Threading Issues
  • Create a Project
  • Associate The Project With A Server
  • Create a new Web Application
  • Create the servlet
  • Code The Servlet
  • Deployment Descriptor
  • Test The Servlet
  • Server Window
  • Execution Results
  • Debugging a Servlet
  • Summary
 

4. JavaServer Page (JSP) Basics

  • Objectives
  • JavaServer Pages
  • A Simple Example - Hello.jsp
  • JSP Benefits
  • Evolution of Dynamic Content Technologies
  • How JSP Works
  • JSP Invocation
  • JSP Scripting Elements
  • The XML Syntax
  • JSP Directive
  • page Directive Attributes
  • page Directive an Example
  • page Attribute errorPage
  • page Attribute isErrorPage
  • Using XML Syntax
  • Directives include
  • Include an Example
  • Include an Example
  • Include at compile time vs. at request time
  • Request time inclusion
  • JSP Declarations
  • Declarations an Example
  • JSP Expressions
  • JSP Expressions an Example
  • JSP Scriptlets
  • JSP Scriptlets an Example
  • JSP Scriptlets an Example
  • JSP Comments
  • JSP Predefined Variables
  • The request Object
  • The response Object
  • The out Object
  • Out an Example
  • Creating a JSP in JBuilder
  • Coding the JSP
  • Running / Debugging the JSP
  • JSP Output
 

5. Servlet Interaction Interface

  • Objectives
  • Request
  • Request Parameters
  • Request Attributes
  • Request Headers
  • Request Path
  • Other Request Information
  • Response
  • Cookies
  • Setting Cookies
  • Servlet Context
  • Servlet Context Attributes
  • Resource
  • Session Tracking
  • Tracking Techniques
  • Cookies
  • Cookies an Example
  • HTML Hidden Fields
  • Using HttpSession
  • Session Invalidation
  • An Example of Session Tracking Code...
  • An Example of Session Tracking Code
  • An Example of Session Tracking Code
  • An Example of Session Tracking Code
  • An Example of Session Tracking Code
  • An Example of Session Tracking Code
  • An Example of Session Tracking Code
  • HttpSession - URL Rewriting
  • Summary
 

6. Servlet Programming Advanced

  • Objectives
  • Key Issues for Web Application Development Productivity
  • Web Application Programming 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
  • Connection
  • Statement
  • PreparedStatement
  • ResultSet
  • ResultSet
  • ResultSet
  • Example JDBC Servlet With Transactions
  • Close the Connection
  • Need for Connection Pooling
  • Connection Pooling in JDBC 2.0
  • Connection Pooling
  • Basic Steps in Using JDBC Connection Pooling
  • Access a DataSource
  • Get a Connection
  • Release Connections
  • Connection Pool Example
  • 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
  • A Simple Example
  • Display JavaBean Properties in JSP
  • Java Beans and JBuilder
 

7. Using Java Beans with JSP

  • Objectives
  • What is a JavaBean?
  • Structure of a JavaBean
  • Life Cycle
  • 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 all the request parameters
  • Another Example
  • Mixing Scriptlets and Bean tags
 

8. Deploy Web Applications (Servlet and JSP) into WebLogic Server

  • Objectives
  • WebLogic Administration Domain
  • WebLogic Administration Server
  • WebLogic Managed Server
  • WebLogic Administration Console
  • WebLogic Server Deployments
  • Format of Web Application
  • Web Application Directory
  • WEB-INFO Directory
  • Files in JBuilder
  • Building a WAR File
  • Examine the Content of the .war file
  • Sample web.xml file
  • Auto Deployment
  • Auto Deployment Intervals
  • Web Application in WebLogic
  • Manually Install Web Application in WebLogic
  • Types of WebLogic Services
  • Create a JDBC Connection Pool
  • Create a JDBC DataSource
  • Create a JMS Connection Factory
  • Summary
 

9. Servlet Filters

  • Objectives
  • What is a filter?
  • Why use a filter?
  • Uses for Filtering
  • Features of filters
  • The Filter interface
  • How a filter works
  • In what order?
  • A simple logging filter
  • Configuring the filter
  • Mapping the filter
  • The Web Deployment Descriptor
  • Common filter tasks
  • Request and Response Wrappers
 

10. Servlet Event Listener

  • What are Listeners
  • Types of Listeners
  • Writing a Servlet Context Listener
  • Writing a Servlet Context Attribute Listener
  • Writing a Session Activation Listener
  • Writing a Session Attribute Listener
  • Registering Listeners
  • Lifecycle of Listeners
 

11. Struts Architecture and Overview

  • Objectives
  • Review: MVC Model
  • Review: Request, Session and Application
  • What is Struts?
  • Struts Flow
  • Components in Struts
  • The Model
  • The View
  • The Controller
  • Struts Flow
  • struts-config.xml
  • struts-config.xml Content
  • The <data-sources> element in the struts-config.xml
  • The <form-beans> element in the struts-config.xml
  • The <global-forwards> element in the struts-config.xml
  • The <action-mappings> element in the struts-config.xml
  • Sample struts-config.xml
  • The Role of web.xml for the Application
  • Configuring Struts in the web.xml
  • web.xml Content
  • Steps to Configuring Struts in the web.xml
  • Step 1. Configuring the Action Servlet Instance in the web.xml
  • Action Servlet Config Example
  • Step 2. Configuring the Action Servlet Mapping in web.xml
  • Prefix Mapping Example
  • Extension Mapping Example
  • Step 3. Configuring the Struts Tag Libraries in the web.xml
  • Sample web.xml
  • Summary
 

12. Custom Tag Libraries

  • Introduction
  • Tag Attributes
  • Tag Body
  • Tag Library Descriptor
  • Tag Library Descriptor Details
  • carPrice.tld
  • The Java Server Page
  • Writing a Simple Tag Handler Class
  • Tag Handler Life Cycle
  • Rendering Content
  • Implementing Empty Body Tag
  • Example: CarPriceHandler
  • CarPriceHandler
  • carPrice.jsp
  • Implementing a Tag With Unprocessed Body
  • Handling Tag Bodies
  • Implementing Body Processing
  • Example: Body Tag Support
  • Implementing an Iteration Tag
  • Nested Tags
  • Summary
 

13. Enterprise JavaBean (EJB) Overview

  • Objectives
  • Needs for EJB
  • Distributed Computing
  • Distributed Transaction
  • Distributed Security
  • What are EJBs?
  • Main Characteristics of EJBs
  • EJB Remote Method Call
  • EJB Architecture Components
  • EJB Client
  • EJB JAR File
  • EJB Server
  • EJB Container
  • EJB Container - Persistence
  • EJB Container - Transaction
  • Enterprise Java Beans
  • Session Beans
  • Entity Beans
  • EJB Classes and Interfaces
  • Basic Components of Entity and Session Beans
  • EJB Home Interface
  • An EJB Home Interface Example
  • EJBHome Object
  • EJB Remote Interface
  • Remote Interface Example
  • EJB Local Home Interface
  • EJB Local Interface
  • Remote EJB Objects
  • Local EJB Objects
  • EJB Implementation Class
  • EJB Container - Relationships
  • EJB Container Relationships
  • Remote v. Local EJBs
  • EJB Application Development
  • Deploying Enterprise Beans
  • Major Components of Deployed EJBs
  • Summary
 

14. Session Bean

  • Objectives
  • Session Beans
  • Stateless Session Bean
  • Stateful Session Bean
  • Components of Session Beans
  • Home Interfaces
  • Remote interface
  • Local interface
  • The Session Bean Class
  • ejbCreate() Method
  • Business Methods
  • A Simple Stateless Session Bean Example
  • A Simple Stateful Session Bean Example
  • Session Context
  • EJB Context
  • EJB Context
  • Session Bean Lifecycle
  • Lifecycle - Stateless
  • Lifecycle - Stateful
  • Lifecycle Stateful
  • Lifecycle - Stateful
  • Concurrency Issues
  • Invoking Session Beans from client Application
  • Looking Up a Home Object
  • Create an EJB Object
  • Calling business methods
  • JBuilder for EJB Development
  • Developing a Session Bean using JBuilder
  • EJB Project in JBuilder
  • Create an EJB Project
  • Create an EJB Module
  • Examine the EJB Module
  • Create a Session Bean
  • Code methods
  • Promote methods to interfaces
  • Deploying EJBs
  • EJB Deployment Descriptor
  • Generating Deployed Code
  • Deploy the bean
  • Testing the Bean
  • Creating a Test Client
  • Code the Test Client
  • Run the Test Client
  • "Exporting" the JAR
 

Appendix A. Building an Application with ANT

  • What is Ant?
  • Ant details
  • Installing Ant
  • build.xml
  • Ant build file
  • How to run Ant?
  • Understand build.xml
  • Understand build.xml (continued)
  • Ant Tasks
  • Advanced Task
  • Ant Folders
  • Summary
 

Appendix B. JNDI and WebLogic Naming Service

  • What Is JNDI?
  • Benefits of JNDI
  • Naming Services
  • Directory Services
  • Using JNDI
  • Obtain the InitialContext
  • Context Operations
  • Naming Exceptions
  • Cluster Wide JNDI Service
  • How WebLogic Server Creates the Cluster-Wide JNDI Tree
  • Using Clustered JNDI
  • How JNDI Naming Conflicts Occur
  • Deploy Homogenously