Subscribe to Newsletter

Print

JSP (JavaServer Pages) & Servlets Training Course


(This course is offered only on-demand to a private batch and can be customized as per the business requirements)

Overview

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

Objectives

At the end of JSP Training course, participants will be able to:

  • Design and build robust and maintainable web applications
  • Create dynamic HTML content with Servlets and JavaServer Pages, using the JSP Standard Tag Library (JSTL)
  • Make Servlets and JSP work together cleanly
  • Use JSTL and other Custom Tag Libraries to separate Java and HTML code
  • Access databases with JDBC
  • Use Enterprise JavaBeans effectively from Servlets and JSP

Audience - Architects, Designers, Consultants & Developers.

Duration - 5 Days

Prerequisites - All participants should 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.

Syllabus

1. Java EE Introduction
  • Java EE Overview
  • Java EE Technologies
  • Java EE Architecture
  • MVC
2. 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
3. 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
4. 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