First Technology Transfer

Standard and Advanced Technical Training, Consultancy and Mentoring

CourseCourse JAV105 Web Application Development with Servlets, JSP and JSF

Duration: 5 Days

Intended Audience

The course is aimed at Programmers starting to develop applications using the Java enterprise architecture. Students are expected to have a reasonable understanding of Java programming, and some familiarity with the concepts underlying web application development.

Synopsis

The course provides an introduction to working with the (up to) JEE 7 versions of Servlets, JSP and JSF. It explains the design, development and deployment of web applications using these core Java technologies. It is foundational course that serves as an introduction to more advanced JavaEE techniques.

The course provides practical experience of

  • Building Servlets
  • Building JavaServer Pages
  • Using the Web Container
  • Web Object Scope
  • Using Custom Tags
  • Using JavaBeans
  • Using MVC Architecture
  • JSP EL
  • JSTL
  • Securing Web Applications
  • Incorporating Database Access
  • Deploying Web Applications
  • Building Asynchronous Web Applications
  • Web Application Design Patterns

Course Outline

  • Introduction To Java Web Technology
    • Web Applications, CGI and the Role of Java
    • 3-tier Architecture
    • Overview of the Model-View-Controller (MVC) Architecture
    • The rationale underlying Servlets and JSP
  • Web Technology Precursors
    • Java Web Containers
    • Web Servers
    • HTML and HTTP
    • HTTP Methods: Request and Response
    • Web Technology Basics
    • Web Application Structures
  • Introducing Java Servlets
    • Understand the Benefits of Java Servlet Technology
    • Servlet Concerns
    • Static and Dynamic Content
    • The Constituents of a Servlet
    • Creating Simple Servlets
  • Developing Java Servlets
    • Writing HTTP Servlets
    • Deploy HTTP Servlets
    • Run HTTP Servlets
  • The Servlet Environment
    • HttpServlet and Related API's
    • Servlet Form Processing
    • State/Session Management
    • Cookies
  • Web Container Facilities
    • Understand the Purpose and Structure of Deployment Descriptors
    • Control Context Root and Servlet Mapping
    • Create and use Context and Init Parameters
    • Use Annotations to Configure Servlets
  • Controller Facilities
    • Servlet Lifecycle
    • Describe Advanced Elements of Servlet API's
    • Filters and Listeners
  • Introduction To JavaServer Pages
    • Describe why Servlets are not the whole solution
    • Describe JSP Technology
    • Core JSP Essentials
  • JSP Essentials
    • Understand the Origins, Benefits and Drawbacks of JSP's
    • Understand the Conversion of JSP's to Servlets
    • JSP Lifecycle
    • Understand JSP Scripting Elements, Declarations and Directives
    • Use JSP Implicit Variables
    • Understand and Use jsp: Tags
  • Using Custom Tags
    • Understand the use of Tags in JSP Development
    • Recognize Correct Tag Syntax
    • Configure a JSP for JSTL
    • Write JSP Using Standard Tags
    • List Capabilities of JSTL Tags
  • View Facilities
    • Understanding Data Scope
    • Using JSP EL
    • EL Implicit Objects
    • Using JSTL
    • Using JavaBean Components
  • Implement MVC Design
    • A Simple MVC Design Scenario
    • Create a Servlet Controller
    • Create Views with JSP
    • Incorporate a JavaBean Model
  • Building An MVC Application
    • Code a Servlet Controller
    • Code Views with JSP
    • Forward Control From Servlet to JSP
    • Understand Fundamentals of EL
    • Implement a simple MVC System
  • Extending An MVC Systems
    • Building Database Access
    • Understanding Alternative Data Modelling Approaches
    • Options for Data Management
    • Web Application Layering and Concerns
  • JSF - Java Server Faces2
    • JSF Overview
    • GUI Components
    • Navigation in JSF applications
    • Backing Beans
    • Conversion and Validation
    • JSF Events
    • Writing Custom Components
    • Page composition using Facelets
  • Model Options
    • Understand the Roles of JDBC and JPA
    • Understand the Elements that Compose the Model
    • Understand Fundamentals of Connecting to a Database using JDBC or JPA
  • Web Application Development
    • Web Application Directory Structure
    • Descriptor Elements
    • WAR Content and Construction
  • Asynchronous Web Applications
    • Understand Asynchronous Environment Interactions
    • Understand AJAX-Style Client Side Programming
    • Asynchronous Java EE 7 Servlets
  • Web Application Security
    • Container Security
    • Four Authentication Models
    • Web Application Encryption
    • Understand the Role of JAAS in Authentication
  • Web Application Design Patterns
    • Common Approaches
    • Web Framework Alternatives
    • Web Application Frameworks Investigation