Learning Java Web Development

Introduction

This document provides some where-to-start pointers for learning to develop web applications using Java

Java Language

Applications, Tools and Utilities

A list of links that will hopefully be of use. These are all generally free to use, with varying levels of restrictions:

Framework

Database (O/R Mapping)

Databases

Apache Web Server

Tomcat Java Web Container

Enterprise Application Servers

Both JBoss and JOnAS use Tomcat under the hood as the core Java Web Container.

Eclipse Integrated Development Environment

Download the 'Eclipse IDE for Java EE Developers' version.

Subversion Version Control

Git Version Control

Git is a distributed version control system. Subversion is probably the most popular open-source version control systems used in a corporate environment. However, Git has some distinct advantages. It can also be used together with Subversion using git-svn, giving you some of the benefits of Git in a Subversion environment.

Unit Testing

Ant 'make' tool

Maven build tool

Manages a Java project, including it's build process. It is probably best to learn Ant first, then later learn to use Maven.

Methodologies

Extreme Programming:

Code Refactoring

Design Patterns

Documentation

Java Platform, Standard Edition 6 (JDK )6 Documentation

Note: Version 6 is the product version. Version 1.6 is the developer version, i.e. the version reported by:

    java -version

See Java SE 6, Platform Name and Version Numbers for more information.

Java Enterprise Edition APIs & Docs

Related Specifications

Specifications that are be useful for Java Web development.

These may not be the latest versions, but are reasonably well supported at the time of writing.

The Java Language Specification

HTML 4.01

XHTML 1 (a subtle build on HTML 4.01

CSS Version x.x

See also: * http://www.quirksmode.org/dom/w3c_css.html

Java Servlet Specification 2.4

Java Standard Tag Library (JSTL 1.0)

Java Server Pages (JSP) Specification 2.0

-- Frank Dean - 13 Jan 2008