WA1400 Introduction to Java using Rational Application Developer V6.0 Training and Courseware Course Outline
|
|
0. The Agenda
|
|
- Introduction
- Using RAD
- Java Basics
- Branching and Looping
- Arrays
- Objects
- Advanced Class Concepts
- Exceptions
- Stream I/O
- Servlets
- Java Server Pages
- Enterprise Java Beans Programming - Overview
- JDK 1.4 Features
|
| |
1. Introduction
|
|
- Overview
- History of Java
- Goals of Java
- Java Virtual Machine
- The JVM - Continued
- Garbage Collection
- Hello World An Example
- Java Versions
- Summary
|
| |
2. Overview and Migration
|
|
- Objectives
- The WebSphere Family
- Eclipse Platform
- The WebSphere Studio Product Family
- Rational Web Developer
- Rational Application Developer
- Key Features in RAD v6.0
- WebSphere Studio Application Developer 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 View
- Package Explorer
- Outline View
- Task and Problems View
- Build and Validation
- Import and Export Project
- Templates and Code Completion
- Searching
- Setup Compiler Class Path
- JRE Switching
- Refactoring
- Changing Class Name
- Changing Method Name
- Changing Variable Name
- Moving a Class to a Different Package
- Extracting Code to a Method
- Pull-up Method
- Migrating Workspace from WSAD v5.x
- Project Interchange Feature
- Migrating J2EE Applications
- J2EE Migration Wizard
- Summary
|
| |
3. Java Basics
|
|
- Objectives
- Comments
- Semicolons and White Spaces
- Blocks
- Identifier
- Keywords
- Primitive Data Types
- Logical - boolean
- Textual char and String
- Integral byte, short, int, long
- Floating Point - float and double
- Understanding Objects
- Creating a New Type
- Declaring a Variable
- Creating an Object
- Wrapper Classes for Primitive Types
- JVM Storage Areas
- Scope of a Variable
- Arithmetic Operators
- Using Arithmetic Operators
- Assignment Operators
- Logical Expressions
- Short-Circuit Logical Operators
- String Concatenation with +
- Bitwise Operators
- Bitwise Example
- Conditional Expression
- Casting
- Packages
- Console I/O
|
| |
4. Branching and Looping
|
|
- Objectives
- Conditions
- The if Statement
- The if Statement An Example
- The if .. else Statement
- Logical Operators and the if..else Statement
- The switch Statement
- The switch Statement An Example
- The while Statement
- The while Statement An Example
- The do while Statement
- The do while Statement An Example
- The for loop
- The for loop An Example
- For-each loop
- Break and Continue
- The break Example
- The continue Example
- Labeled break Example
- Labeled continue Example
|
| |
5. Objects
|
|
- Objectives
- Object Oriented Programming
- Creating your own Data Type
- Class Members
- Methods
- Writing a Method An Example
- Calling a Method An Example
- Pass-by-Value
- The this keyword
- Data Hiding
- Encapsulation
- Overloading
- Constructing and Initializing Objects
- Constructors
- Invoking an Overloaded Constructor
- Default Constructor
- Inheritance
- Inheritance An Example
- Constructors Are Not Inherited
- Polymorphism
- Conditions for Polymorphism
- The super Keyword
- The instanceof Operator
- Casting Objects
- Overriding
- Invoking Parent Class Constructors
|
| |
6. Arrays
|
|
- Objectives
- Arrays
- Declaring Arrays
- Creating Arrays
- Accessing Arrays
- Initializing Array
- Multidimensional Arrays
- Copying Arrays
|
| |
7. Advanced Class Concepts
|
|
- Objective
- Objectives
- Static Class Variables
- Static Class Variables
- Class vs. Instance Variables
- Static Class Methods
- Static Initializers
- The final Keyword
- Abstract Classes
- Abstract Class An Example
- Interface
- Interface An Example
- Access Modifiers
- Using == vs. equals()
- The toString() method
- Covariant Return Types
- Inner/Nested Classes
- Kinds of Inner Classes
- Inner Classes - an Example
- Generics
- Generics-Example
|
| |
8. Exceptions
|
|
- Objectives
- What is an Exception
- Benefits
- How to Work With Exception
- An Example
- The try-catch-finally Statement
- Flow of Program Control
- Checked Exceptions
- Unchecked Exceptions
- Catching Multiple Exceptions
- Rethrowing Exceptions
- Exception Thrown by a Method
- The Exception Class
- Creating your Own Exception
|
| |
9. Stream I/O
|
|
- Objectives
- File I/O
- The File Class
- File Example
- Input Stream
- Input Stream Methods
- Output Stream
- Output Stream Methods
- DataInputStream & DataOutputStream
- DataInput Stream
- DataOutputStream
- FileInputStream & FileOutputStream
- FileInputStream Methods
- FileOutputStream
- FileOutputStream/DataOutputStream
- FileInputStream/DataInputStream
- Reader and Writer
- Why use Reader and Writer ?
- Reader Example
|
| |
10. Servlet Basics
|
|
- Objectives
- History CGI
- Server Extension APIs
- Java Servlet
- Servlet Container
- Servlet Responsibilities
- J2EE and Servlet
- The Servlet 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 Servlet
- Code Servlet Methods
- The Web Deployment Descriptor
- Test the Servlet
- Debug Servlets in the RAD s WebSphere Test Environment
- Debug Servlets in the WebSphere Test Environment
- Summary
|
| |
11. Java Server Page Basics
|
|
- Objectives
- JavaServer Pages
- A Simple Example - Hello.jsp
- JSP Benefits
- Evolution of Dynamic Content Technologies
- How JSP Works
- JSP Invocation
- Creating a JSP with RAD
- Editing a JSP with RAD
- Testing a JSP with RAD
- Debugging a JSP with RAD
- JSP Scripting Elements
- Directives
- XML Vs. Non-XML Syntax
- Creating a JSP in RAD(XML Syntax)
- Creating a JSP in RAD
- Adding code to JSP
- Viewing the output
- page Directive Attributes
- page Directive an Example
- page Attribute errorPage
- page Attribute isErrorPage
- Directives include
- Include an Example
- Include an Example
- Include at compile time vs. at request time
- Request time inclusion
- Forwarding Requests
- JSP Declarations
- Declarations an Example
- JSP Expressions
- JSP Expressions an Example
- JSP Scriptlets
- JSP Scriptlets an Example
- JSP Scriptlets an Example
- JSP Comments
- JSP Implicit Objects
- The request Object
- The response Object
- The out Object
- Out an Example
- Summary
|
| |
12. 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
- Enterprise Java Beans (contd.)
- Session Beans
- Entity Beans
- Message-Driven 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
- Local Home Interface Example
- EJB Local Interface
- Local Interface Example
- 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
|
| |
13. JDK 1.4 Features
|
|
- JDK 1.4 New Features
- JDK 1.4 New Features
- JDK 1.4 New Features
- Control Flow of Logging
- Loggers
- Logging Example
- Logging API - Handlers
- Logging API Formatters & Log Manager
- Example Logging Configuration File
- JDK 1.4 - JAXP
- JDK 1.4
- JDK 1.4 - Assertions
- When to use Assertions
- Enabling Assertions
|
| |
Appendix A. The AWT
|
|
- Abstract Window Toolkit
- Foundations of AWT
- Components
- Containers
- Creating an Empty Frame
- Layout Manager
- Adding a Component
- Absolute Positioning
- Common Layout Manager
- FlowLayout
- BorderLayout
- GridLayout
|
| |
Appendix B. The AWT Event Model
|
|
- The AWT Event Model
- Terminology
- Event Handling
- How to implement?
- Multiple Event Source
- Multiple Listener
- Event Adapters
- Which to Use?
- How to Use?
- Inner Class
- Continuation of Inner Class
- Anonymous Class
|
| |
Appendix C. AWT Components
|
|
- AWT Components
- The Component class
- Container and Components
- Button
- Code - Button
- Label
- Code - Label
- Text Components
- TextField
- Code - TextField
- TextArea
- Code Text Area
- Checkbox
- Code - Checkbox
- CheckboxGroup
- Code - CheckboxGroup
- Choice
- List
- Code - List
- Canvas
- Code - Canvas
- Menu Components
- Code Menu Components
|
| |
Appendix D. Java Foundation Classes (JFC)
|
|
- Java Foundation Class (JFC)
- What is JFC?
- Swing
- Swing Hierarchy
- Building GUI with Swing
- Swing Code
- More on Swing Code
- To Convert AWT to Swing
- JComponent
- Limitations of Swing
- Separable Model Architecture
|
| |
Appendix E. Applets
|
|
- Applet
- What is an Applet?
- Applets vs. Applications
- Applet Security
- Writing an Applet
- Life Cycle of an Applet
- Our First Applet
- Basic HTML for an Applet
- AppletViewer
- AWT Painting
- Applet Tags
- Example of Reading Parameters
- Applet and AWT
- Applets and AWT (continued)
- More on Applet Tag
|
| |