Prerequisites:
Students should have completed a beginning Java course or have been programming in Java for at least three - six months.
Who Should Attend:
This course is intended for programmers who have been programming in Java and who wish to write programs in Java using many of the advanced Java features.
Course Description:
This course exposes the student to Advanced Java features such as JavaBeans, Servlet Programming, the Java Database Connectivity, Remote Method Invocation, and Swing. Other major topics in this course include Network Programming Serialization, Properties, Security, the Collection Classes and Architectures.
Benefits of Attendance:
Upon completion of this course, students will be able to:
- distinguish between the various phases of construction of objects;
- choose the correct data structures from the Java Collections classes;
- extend appropriate I/O classes in order to create a new I/O class
- distinguish among various thread problems and provide the correct programming solution;
- create a Java Bean Component and execute it within the BeanBox;
- write TCP/IP Client Server applications using the sockets;
- execute methods on a remote object and use the results that are returned from the method;
- write Java Servlets to implement HTML form processing;
- write Java applications using the JDBC to make database independent queries; and
- use many of the superior capabilities of the Swing components
Tuition:
Tuition for course is $2,200
Course Outline:
CHAPTER 1: WHAT YOU SHOULD ALREADY KNOW
- Data types
- Passing Data types to a method
- Method names
- Constructors and initialization
- Object Cloning
- Garbage collection
- Interfaces and abstract classes
- Static blocks
CHAPTER 2: PACKAGING A JAVA APPLICATION
- Introduction
- Packages
- jar Files
- The Manifest File
- javadoc
- Optimization Techniques
CHAPTER 3: THE JAVA COLLECTION
- Arrays
- Searching and Sorting Arrays of Primitives
- Sorting Arrays of Objects
- Collections
- Lists
- Iterators
- List Example
- Maps
- HashMap
- Operations on Collections
- Thread Safety
- Conversions
- Rules of Thumb
CHAPTER 4: ADVANCED I/O
- Object Serialization
- Serialization issues
- Externalization
- Writing your own I/O classes
- Zip Files
- Property Files
CHAPTER 5: NETWORKING in JAVA
- Networking fundamentals
- The Client/Server model
- Internet addresses
- Sockets
- Sample client programs (Daytime Service)
- Sample client programs (Echo Service)
- Writing servers
- Client/Server Example
- The HTTP Protocol
- URLs
CHAPTER 6: THREADS
- Review of Fundamentals
- Monitors
- Deadlock
- Producer/Consumer Problems
- wait() and notify()
- Performance Issues
CHAPTER 7: REMOTE METHOD INVOCATION (RMI)
- Introduction
- RMI Architecture
- The Remote Interface
- Implementing the Remote Interface
- Writing the Server
- Writing the Client
- Specifying the RMI URL
- Compiling and Running the Code
- Remote Method Arguments and Return Values
- Dynamic Loading of Stub Classes
- Remote RMI Client Example
- Running the Remote RMI Client Example
CHAPTER 8: JAVA DATABASE CONNECTIVITY (JDBC)
- Introduction
- Relational Databases
- Structured Query Language (SQL)
- A Sample Program
- Transactions
- Meta Data
Chapter 9: GETTING STARTED WITH XML
- XML Syntax
- Elements
- Attributes
- Comments
- Unicode and Character Sets
- Character References
- Entity References
- Character Data Sections (CDATA)
- Processing Instructions
- Parsing XML
- Exercises
Chapter 10: XML and JAVA DOCUMENT OBJECT MODEL (DOM)
- What are Parsers?
- JAXP - A Plugability Layer
- Parsing with DOM
- Trees and Nodes
- Processing Child Nodes
- Error Handling
- Building the Node Tree
- Exercises
CHAPTER 11: SERVLETS
- Servlets
- The HTTP protocol
- The request/response paradigm
- HTTP methods
- Servlet classes
- A simple servlet
- Preparing the Servlet
- Creating Your Web Application
- Starting the server
- Running DataServlet
- Servlet engines
- Processing HTML form data with a servlet
- The Servlet Life Cycle
Chapter 12: JSP FUNDAMENTALS
- Introduction
- Simple JSP Components
- Declarations
- Expressions
- Testing the JSP
- Scriptlets
- XML Notation
- Implicit Objects Introduction
- Scope of Variables
- From JSP to Servlet
CHAPTER 13: JAVA BEANS
- Introduction
- Component Model Services
- The Bean Box
- The jar utility
- A Simple Bean
- Bean properties
- Bean naming conventions
- Beans vs. other Java executables
- Events
- Defining your own events
- Reflection + Introspection