Java Server-Side Web Applications

Course:  JSS202
Duration:  3 Days
Level:  II
Course 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.

« Hide The Details
Topics Covered In This Course

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

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

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

Appendix: MVC Shopping Application

What You Can Expect

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.
Who Should Take This Course

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.

Recommended 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.

Training Style

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.

« Hide The Details
Related Courses
Code Course Title Duration Level
WLADM1
WebLogic 11 Server Administration
5 Days
I
Details
WLADM2
WebLogic 11 Advanced Server Administration
5 Days
II
Details

Every student attending a Verhoef Training class will receive a certificate good for $100 toward their next public class taken within a year.

You can also buy "Verhoef Vouchers" to get a discounted rate for a single student in any of our public or web-based classes. Contact your account manager or our sales office for details.

Schedule For This Course
There are currently no public sessions scheduled for this course. We can schedule a private class for your organization just a couple of weeks from now. Or we can let you know the next time we do schedule a public session.
Notify me the next time this course is confirmed!
Can't find the course you want?
Call us at 800.533.3893, or
email us at info@verhoef.com