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