JavaServer Faces Training: Introduction