Beginning JSP & Servlets

Duration: 5 days

Overview

This JSP and Servlets training course teaches beginning and early intermediate Java developers how to build database-driven Web applications using JavaServer Pages and Java Servlets.

 Prerequisites

This Servlets/JSP training course can be tailored to any level of Java experience. In general, we recommend that all attendees be fluent in HTML and have a prior knowledge of object-oriented or object-based programming, as well as some knowledge of SQL and relational databases.

 

Course Details

  • Java EE Introduction

·         Java EE Overview

·         Java EE Technologies

·         Java EE Architecture

·         MVC

  • Servlets and JSP with the JSP Standard Tag Library (JSTL)
    • Web Application Basics
      • How the Web works, Thin Clients, TCP/IP
      • HTTP overview, Brief HTML review
      • Overview of Java EE, servlets & Web applications.
      • Servlet Basics
  • Servlet API
      • HTML Forms
      • HTTP: Request-response, headers, GET, POST
      • Overview: How Servlets Work
        • Servlet Lifecycle: init(), service(), destroy()
        • Requests and responses
      • Core Servlet API: GenericServlet, ServletRequest, and ServletResponse
      • HTTP Servlets: HttpServletRequest, HttpServletResponse and HttpServlet
      • Accessing Parameters
    • Additional Servlet Capabilities
      • HTTP headers and MIME types
      • RequestDispatcher: Including and forwarding
      • Sharing data with the request object attributes
      • Sharing data with ServletContext attributes
      • Error Handling

§  JavaServer Pages

      • Basics and Overview
        • JSP architecture
        • JSP tags and JSP expressions
        • Fixed Template Data
        • Lifecycle of a JSP
      • Model View Controller (MVC)
        • Model 1/Model 2 Architecture
      • Data Sharing among servlets & JSP
        • Object scopes or "buckets"
        • Request, application, session and page scope
        • Predefined JSP implicit objects (request, session, application, page)
        • <jsp:useBean>
        • <jsp:getProperty>, <jsp:setProperty>
        • <jsp:include>, <jsp:forward>
    • Using Custom Tags
      • Custom tags overview
      • Reducing JSP complexity
      • Tag Libraries
        • Tag Library Descriptor (TLD)
        • Loading a tag library in a web app
      • The JSTL
      • JSP Expression Language (EL)
      • Using custom tags
        • The c:url, c:param, c:forEach, c:out tags

§  More JSP Capabilities and Session Management

      • HTTP as a stateless protocol
      • Hidden form fields
      • Cookies: Overview, API, Using cookies
      • Session overview: Cookies and session tracking
      • HttpSession
        • Putting data into a session object
        • Retrieving data from a session object
      • Using session data in servlets and JSPs
      • Additional JSP Capabilities
        • Exception handling and error pages
        • Directives (page, include, others)
      • Import declarations
      • Multithreading considerations and data safety
        • SingleThreadModel interface
  • Additional JSP Capabilities
      • JSP Directives
      • JSP Error Pages
      • JSP and Java
    • Declarations, Scriptlet overview, Scriptlet syntax
  • More JSTL
      • Overview of JSTL libraries
      • The JSTL Expression Language
        • Expressions, Type Coercion, Operators, String concatenation, Implicit Objects
      • The Core JSTL Library
        • General Purpose: c:out, c:set, c:catch
        • Conditional: c:if, c:choose,
      • Overview of other capabilities
    • Additional Topics
      • Servlet Filter overview
        • Filtering examples, lifecycle, & filter chains
        • Filter API, Modifying a request, Modifying a response
      • Struts Overview
        • Advanced MVC – Struts overview
        • Command and State patterns
        • Struts View and Controller elements
  • JDBC
    • Introduction
      • Relational Database and JDBC Overview
        • Overview, Table Relationships, Web Based Data Access, JDBC Characteristics
      • JDBC Architecture, JDBC API Overview
        • DriverManager, JDBC Drivers
        • Naming databases with JDBC URLs
      • Connecting to a database
        • Connection interface, Establishing a connection
      • DataBaseMetaData
      • Handling Database Exceptions
    • Data Access
      • DAO – Data Access Objects, O-R Mapping, Value Objects
      • Processing Database Data
        • Executing statements, precompiled statements and stored procedures
        • Processing ResultSets,
        • Dealing with Null data
        • Updating, inserting, retrieving data
        • Controlling Transactions
      • JDBC Driver Types
      • DataSource
        • Java EE and DataSource, Using JNDI
      • Connection Pooling
        • Overview, Usage, Advantages
    • Advanced Topics
      • Other Database Access Technologies
        • SQLJ, O-R Mapping Tools, JDO (Java Data Objects), EJB Entity Beans
      • Advanced JDBC Features
        • Batch Updates, Scrollable Result Sets, Rowsets, User Defined Types, BLOBS, CLOBS
  • Component Integration and EJB
    • Database Integration
      • Web Architecture choices
      • Connecting servlets to a database via DataSource
    • EJB
      • Overview of EJB
      • High-level EJB architecture
      • Roles within EJB
      • Client view of a session bean
      • JNDI (Java Naming and Directory Interface)
      • Remote and Home Interfaces
      • Writing an EJB client
    • Other Technologies
      • XML and Web Services
      • JMS – Java Message Service
    • Labs
      • Accessing a database from a servlet
      • Accessing an EJB from a servlet