Java Programming
Price: Contact SST for pricing | Duration: 5 days
Prerequisites: Basic programming skills in a structured language. Knowledge and experience with Object-Oriented Design (OOD) is helpful, but not required.
Description: This hands on course introduces experienced programmers to Sun's Java technology and Java programming techniques. The Java platform provides an object-oriented, portable and robust framework for application development. Attendees will learn how to integrate Java technology into corporate web pages and how Java can be used as a powerful cross-platform distributed development engine. The course also covers designing classes and objects, inheritance and polymorphism, and the details about creating programs for use on a distributed network, with emphasis on JSP, Servlets, and JDBC. The course is designed to leverage the participants' existing programming skills and to highlight the new and extended features of the Java programming framework as compared to other common languages. Comprehensive lab exercises using the Java 1.5 Development Kit provide hands on practice crucial to developing competence and confidence with the new skills being learned.
The final day of this class includes thorough coverage of GUI programming using the Swing library. Students who do not need or want to learn Swing may attend the first four days of training at a $400 reduction in tuition.
Introduction to Java
- Origin and Design Goals of Java
- Overview of JDK Tools
- Use of the JDK to Create Java Programs
- Strengths and Weaknesses of Java
- Comparison to other OO Languages
- Compiling, Debugging and Running Java Applets and Applications
Inside the Java Development
Kit
- Downloading, Installing, and Configuring the JDK
- The JDK in Application Development
- Overview of the Core Java APIs
- Review of the Core JDK Tools
- Overview of the Standard Extension APIs
- APIs for Specific Hardware and Applications
Java and Internet Technologies
- Evolution of the World Wide Web
- The WWW as a Computing Platform
- Evolution of Software Development Architecture
- Java's Role in Distributed Web Applications
- Java, ActiveX, Plug-Ins, JavaScript, Forms and CGI, DHTML, CSS, and
XML
Developing Graphical User
Interfaces with Swing
- Swing Containers
- Swing Components
- Pluggable Look and Feel
- Java, Windows, Motif Look and Feel
- Swing vs. AWT
- Handling Swing Events
- Tabbed Panes
- Tables
Using Java Collections and
Utilities
- Lists
- Sets
- Maps
- Iterators
- BitSet Collections
- Hash Tables
- Stack Data Structures
- Vectors
- Date and Calendar Operations
- Properties Collections
- The System Object
Creating Multi-Threaded Java
Applications
- The Java Thread Class
- The Runnable Interface
- Thread Groups
- Thread Methods
- Thread Scheduling and Priority
The Application of JavaBeans
- Purpose of JavaBeans
- Features and Capabilities of JavaBean Components
- Properties, Methods and Events
- Using the Beans Development Kit (BDK)
- The BeanBox Testing Tool
- Beans and ActiveX
- Third Party Components
- The Distributed Beans Environment
- Beans and ActiveX
Using Servlets
- Overview of Servlets
- Creating Servlets
- Servlets and CGI
- Acquiring the Servlet Extension
- Utilizing the Java Servlet Development Kit (JSDK)
- Processing Requests
- Generating Responses
- Deploying Servlets using Tomcat and J2EE
- Invoking Servlets from HTML and Applets
- Third Party Servlets
Using Tag Libraries
- Purpose of Tag Libraries
- Custom Tag Syntax
- Installing a Tag Library
- Tag Library Descriptor
- Updating web.xml
- Using a Custom Tag in JSP
Java Language Fundamentals
- Java Program Structure
- Identifiers and Scope
- Strings and Arrays
- Operators
- Logic and Flow Control Statements
- Function Declarations and Arguments
- Using References
Java and Third Party Development
Tools
- Availability of Java Development Tools
- Need for Development Tools
- Development Tool Selection Process
- Third Party Tool Roundup
Object Oriented Programming
in Java
- Creating Classes and Instantiating Objects
- Constructors
- Methods and Attributes
- Using This and Super Keywords
- Final, Abstract and Static Keywords
- Driver Classes
- Inheritance
- Overriding and Overloading
- Polymorphism
- Encapsulation
- Multiple Interfaces and Packages
Basic Input and Output (I/O)
- IO Using Input and Output Streams
- Character IO Using Reader and Writer Streams
- File Streams
- Filters and Buffers
- Data and Print Streams
- Stream Tokens
- Random Access Files
- File and Directory Management
Exceptions and Exception
Handling
- The Try, Catch and Finally
- The Throwable Class
- The Throws Keywords
- Standard Exceptions
- Exception Propagation
- Creating Your Own Exceptions
Network Connectivity with
Java
- Client/Server Models
- Creating URLs
- URL Connections and HTTP Protocol
- URL Tools
- Connection to CGI Programs and Servlets
- Reading Internet Sites and Other Resources
- Client Sockets and Server Sockets
- Building Client/Server Applications Using Java
- Overview of Network Security: Secured Socket (SSE), Cryptography (JCE),
Authentication (JAAS), and 3-Level Security
Introduction to Databases
and JDBC
- Purpose of JDBC
- JDBC Software Architecture
- JDBC and SQL
- The Java.Sql Package
- SQL Basic Statements: Select, Insert, Update, and Delete
- SQL Exceptions
- Advanced SQL Statements:Stored Procedures, Prepared Statements, and
MetaData
- JDBC Drivers and Driver Types
- JDBC-ODBC Bridge
- Native API Drivers
- Date and Timestamp
- Design Issues When Distributing Data
Java Server Pages
- Purpose of JSP
- How Java Server Pages Work
- Advantages/Limitations of JSP
- Embedding Code in a Java Server Page
- Using JavaBeans with JSP