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
|
|