Zoom Outline PDF View  or  Email Back to Schedule for New York


Java Server-Side Web Applications




SUMMARY:   This course introduces a Java programmer to the Java EE APIs and design essentials to develop server-side Web Applications. An overview of the Java EE architecture is followed by a detailed introduction to writing Servlets and JavaServer Pages.

AUDIENCE:   The material covered in this course is designed for students with previous Java core client-side programming experience who plan to develop server-side Web Applications using Java.

PREREQUISITES:   Students are expected to be familiar with Java programming fundamentals and the client-side API packages.

Students with light/no Java programming backgrounds should consider covering this material by attending either "Java Fundamentals for Non OOP Programmers" or "Java Programming for OOP Programmers", depending on their experience.

DURATION:   3 Days

APPROACH:   Instructor-led lecture and discussion with extensive demos and hands-on labs. Chapter appendices include optional/advanced material to be included as time permits. Multiple labs for each chapter permit students with varied backgrounds to progress through the material.

OBJECTIVES:   At the end of this course, students will be able to:

  • Understand and describe the Java Application Server architecture, containers, services provided and deployment units.
  • Understand the Servlet architecture and lifecycle methods.
  • Develop servlets to process HTML forms and return dynamically created HTML pages.
  • Develop JavaServer Pages to process data and create dynamic HTML pages.
  • Code server-side database applications using JNDI and DataSources.
  • Design and develop collaborative Servlet/JSP web applications using the RequestDispatcher facilities.
  • Understand and use EE facilities for maintaining conversational state including cookies and request, session and application contexts.

COURSE CONTENT:  
  1. Java EE and Server-Side Applications
    • Overview: MVC Design Pattern, Application Servers, Versions
    • EE Platform: Web/EJB Containers, Services
    • EE API Packages: JDBC, JNDI, Servlet, JSP, EJB
    • Development and Deployment
      Web Component WAR file, web.xml descriptor
      EJB Component JAR file, ejb-jar.xml descriptor
      Application EAR file, application.xml descriptor
    • Components and Server Directory WEBAPPS Structure
    • EE Roles: Product/Tool Provider, Component Developer, Assembler, Deployer, Administrator
  2. Developing Servlets
    • Overview:
      HTTP, Browser/Server Cycle,
      Contexts and URL invocation syntax, Query Strings
      Web Containers
      API Packages
    • Servlet Component Architecture
      Example Servlet and Deployment Descriptor
      Interfaces: Servlet, ServletConfig, ServletContext
      Implementation Classes: GenericServlet, HttpServlet
      UnavailableException
      Servlet Lifecycle: init, service, destroy
      Thread Safety Issues
    • Coding Servlets
      ServletRequest Class: Query Parameters, Input Streams, Headers
      ServletResponse Class: Status Codes, Content Types, Writer Streams, Headers
    • Servlet Forms Processing
      HTML Forms Review
      Servlet Form Parameter Processing
      HTTP Header Processing
      Generating Forms Dynamically
    • Using Files and Databases
      Accessing Server-Side Files, Path Translation
      Accessing Databases: JNDI, Server DataSource, Connection Pooling
    • Maintaining Conversational State - Cookies
      Name, Value, Expiration, Domain/Path Ownership Retrieving/Sending Cookies
      Alternatives: Hidden Form Fields, URL Rewriting
    • Maintaining Conversational State - HttpSession Objects
      Client Sessions, HttpSession Sharing
      Obtaining/Releasing Session Objects
      Setting Attribute Keys/Values
      Timeout Issues, Session Methods
    • Servlet Collaboration
      Overview: Design Patterns, Include vs Forward Concepts
      Using RequestDispatcher objects
      Sharing Client data via Request, Session and/or Application Context Pools
    • Appendix: Returning Non-HTML Resources
  3. Developing JavaServer Pages
    • JSP Overview, MVC Design, Filenames
    • JSP Translation vs Execution Phases, LifeCycle Methods
    • JSP Tag Syntax, Whitespace, Comments
    • Directives:
      page: import, session, errorPage Attributes
      include: Compile-time HTML/JSP merge
      taglib: Custom Tag Libraries
    • Scripting Elements: Declarations, Scriptlets, Expressions
    • Predefined Implicit Objects: request, response, out, session, application
    • XML Action Tags
      Overview: Custom Tag Libraries
      useBean: attributes, scope, lifetime
      get/setProperty Attributes
      Form processing getProperty
      include/forward RequestDispatcher Collaboration Tags
    • Appendix: JavaBean Design Pattern
  4. Appendix: MVC Shopping Application
AJC/08

© 2007 Verhoef Training, Inc.

Schedule Dates

Course offered as
Inhouse or Public

Date Location State








Copyright © 2007 - Verhoef Group of Companies - All Rights Reserved