This page has moved to http://courses.coreservlets.com/Course-Materials/java.html. Please update your links. The text below is no longer being maintained.

Java Tutorial
A Fast-Moving Guide to Java 6 for Experienced Developers

Interested in training from the author of these tutorials? See the upcoming Java 6 programming courses in Maryland (co-sponsored by Johns Hopkins Engineering for Professionals), or contact hall@coreservlets.com for info on customized courses onsite at your location.


These tutorials are derived from Marty Hall's world-renowned live Ajax and Java EE training courses, and have been tested by Marty in live training courses in the US, Canada, Australia, Puerto Rico, Japan, Mexico, India, and the Philippines. Click on a topic below to get the detailed tutorial, download the source code, or try out exercises on the topic. The training materials home page has tutorials on many other Java-related topics. The PDF versions of the tutorials are freely available to anyone for personal use. As a courtesy, we also make the original PowerPoint slides available to university faculty for no charge. See the J2EE instructor materials page for details.

To arrange a Java-related course at your organization based on these materials, contact info@coreservlets.com. These courses can be customized to use any combination of the materials on the J2EE tutorials site (servlets, JSP, JSF 2.0, GWT, Ajax, jQuery, Spring, Hibernate, Web Services, etc), and new materials can be added for specific client needs. To learn more details about the instructor, the curriculum for the live training courses, or the public course schedule, please see http://courses.coreservlets.com.

If you find these free tutorials helpful, we would appreciate it if you would link to us. Send corrections or feedback on any tutorial to hall@coreservlets.com. 12/2010 update: based on student feedback, we have added more simple/warmup exercises to each section (and added the corresponding code to the downloadable solution sets).


Introduction to and Overview of Java

This section gives a big-picture view of what the Java language and various Java packages are all about. No syntax is covered.

Java with Eclipse: Setup and Getting Started

Basic Java Syntax

Basic Object-Oriented Programming in Java

Object-Oriented Programming in Java: More Capabilities

Applets and Basic Graphics

More Java Syntax and Utilities

Asynchronous Event Handling

AWT Components: Simple GUIs

Layout Managers

Java 2D Drawing

Basic Swing

Advanced Swing and MVC

Multithreaded Programming

Multithreaded Graphics and Animation

Network Programming - Clients

Network Programming - Servers

Network Programming and Object Serialization

XML Parsing and DOM

Accessing Databases with JDBC

This section gives an introduction to the Java DataBase Connectivity (JDBC) library, the relatively simple but low-level database library that is built into Java SE.

Servers and Forms

For more details, see the Tomcat setup guide and the servlet and JSP tutorials.

  • This tutorial section in PDF.
  • Topics covered:
    • Sending data from forms
    • The FORM element
    • Text controls
    • Push buttons
    • Check boxes and radio buttons
    • Combo boxes and list boxes
    • File upload controls
    • Server-side image maps
    • Hidden fields
    • Grouping controls
    • Tab ordering

Servers and Applets

  • This tutorial section in PDF.
  • Topics covered:
    • Sending GET data and having the browser display the results
    • Sending GET data and processing the results within the applet (HTTP tunneling)
    • Using object serialization to exchange high-level data structures between applets and servlets
    • Sending POST data and processing the results within the applet (HTTP tunneling)
    • Bypassing the HTTP server altogether

Java Web Start and Deployment Options

Invoking OS-Specific Programs and Native Methods

HTML 4: A Crash Course

The HTML sections are not specific to Java, but basic knowledge of HTML is useful for practically everyone, and both servlets and JSP and Ajax require pretty extensive knowledge.

XHTML: A Crash Course

Again, the HTML sections are not specific to Java, but basic knowledge of HTML is useful for practically everyone, and both servlets and JSP and Ajax require pretty extensive knowledge.

Introduction to HTML Frames

Again, the HTML sections are not specific to Java, but basic knowledge of HTML is useful for practically everyone, and both servlets and JSP and Ajax require pretty extensive knowledge.

  • This tutorial section in PDF.
  • Topics covered:
    • Advantages and disadvantages of frames
    • FRAME template
    • Defining rows and cols in a FRAMESET
    • Common FRAME and FRAMESET attributes
    • Nested frames
    • Targeting a document to a named FRAME cell

New Features in JDK 1.5

All the material in this section is covered in more detail in earlier sections. But, if you are a real old-timer and only know Java 1.4 or earlier (Gasp! How 20th century!), this section might be useful for you. Please note that this section was created in the early days of Java 5 and has not been updated since then.

  • This tutorial section in PDF.
  • Topics covered:
    • The for/each loop
    • Scanner and command-line input
    • Generics
    • Autoboxing
    • Varargs
    • printf
    • Reading command-line input

PowerPoint Files for University Faculty

The PDF files in this tutorial contain the complete text of the original PowerPoint files, so if your goal is learning this technology, just stick with this tutorial. However, as a service to instructors teaching full-semester courses at accredited universities, coreservlets.com will release the original PowerPoint files for free. Please see the instructor materials page for details.

More Information

Java

JSF (JavaServer Faces)

Servlets & JSP
Ajax, GWT, & JavaScript

Spring, Hibernate, & JPA

Struts