How To Take This Class

Course Overview

Core Servlet and JSP Fundamentals for JEE Developers is a three-day hands-on JEE / Java EE training course geared for experienced Java developers new to JEE, who need to get up and running with essential dynamic web development skills. Created in collaboration with several leading JEE / Java EE s authors and industry experts, this comprehensive course teaches students how to design and program servlets and JSPs, including all the important concepts and hands on labs that will have you building working server-side applications in no time flat. This course provides core JEE knowledge and skills that can be used as the foundation for developing production-quality web applications to a basic level.

Course Prerequisites

Attendees should have an extensive working knowledge in developing basic Java applications.

Course Audience

This is an intermediate level Java EE (JEE) developer course, designed for experienced Java developers, new to JEE, that need to further extend their skills in web development and Struts.

What You'll Learn

Upon successful completion of this course, students will be able to:
  • Design and build web applications from both business and technical requirements
  • Build web interfaces with JSPs and Servlets, using the latest technologies in JEE 5.
  • Write maintainable web applications that separate HTML and Java
  • Understand the design and development of web applications using Servlets and JSPs
  • Work JEE’s version of dependency injection
  • Make Servlets cooperate and share data
  • Store and process session information
  • Deal with concurrency issues
  • Understand and create JavaServer Pages (JSPs)
  • Link Servlets and JSPs
  • Use the built in JSP objects
  • Embed JavaBeans in a JSP
  • Use JavaBeans in a JSP
  • Use servlets and JSP together
  • Access databases with JDBC

Course Duration

3 Days

Course Outline

  1. Technical Overview of JEE
    • What is JEE?
    • Common Themes In JEE Framework
    • JEE Containers and Components
    • Servlets
    • Java Server Pages (JSP)
    • EJBs and Web Services
    • JEE Containers
    • JEE Application Modules
    • The JEE 1.5 Specification
    • JEE Platform Roles
    • Annotations
    • Dependency Injection
  2. JEE Application Architectures (web based)
    • JEE and the Web
    • Adding JSPs to Separate Presentation
    • Eliminating Java code from view
    • The Model 2 Architecture
    • Using EJBs
    • JEE Infrastructure Supporting Web Applications Lesson Review
  3. Understanding Web Applications
    • JEE Application Modules
    • The Truth about Archives
    • Enterprise Application Archive (EAR)
    • Enterprise JavaBean Archive (JAR)
    • JEE Application Client (JAR)
    • Resource Adapter Archive (RAR)
    • Web Application Archive (WAR)
    • Directory Structure
  4. Configuring Web Applications
    • Mapping an HTTP Request to a Resource
    • The web.xml File
    • Structure
    • Declaring Servlets and JSPs
    • Servlet Mapping
    • Servlet Init Parameters
    • Web Application init Parameters
    • Welcome Page
    • Error Page
  5. Introduction to Servlets
    • Servlet Overview
    • Life Cycle of Servlets
    • Servlet Lifecycle is Handled by Web Container
    • HttpServlet
    • Writing the init Method
    • HttpServlet doXXX Methods
    • Writing a Simple HTTP Servlet
    • HttpServletRequest Methods
    • ServletResponse
    • HttpServletResponse
    • Servlet I/O Classes
    • Return a Status Code
    • Building the Output Document
    • Sending Binary Content
  6. Processing Input Data
    • Form Processing with Servlets
    • HTML Form
    • LoginServlet doPost
  7. Sever-Side Control
    • Request Dispatcher
    • Forward the processing
    • Passing Processing on and Getting it Back
    • Servlet Runs Within Web Container Environment
    • Several Options for Receiving Data
    • Init Parameters and Attributes
    • ServletConfig; ServletContext
    • Servlet Variables are Scoped
    • HTTP Request Information
    • Several Options for Sharing Data
    • configuration and Context
    • Servlet Variables
    • HttpServlet Request
    • Threading and Data
  8. Client Side Control
    • Output Buffering
    • Setting Status Codes; Setting Headers
    • sendRedirect
    • Disabling Client Caching
    • Supporting Persistent Connections
    • Setting Content Length
    • Dynamic Content Pushing
  9. Maintaining Client State – Sessions
    • Session Management
    • Tracking Problem – Stateless HTTP
    • Data Problem – Session Data
    • Solving the Tracking Problem
    • Cookies
    • Cookie Behavior; Retrieving Cookies
    • servlet to set Cookies
    • Servlet to Show Cookies
    • URL Rewriting
    • Solving the Data Problem
    • Web Container Manages Session Instances
    • Sessions with Cookies
    • Cookie-Based Sessions
    • Basic Session Implementation
    • Cookie Detection is not Standardized
    • Getting Rid of Http Sessions
    • Session with URL Rewriting
  10. Overview of Filters
    • What is a Filter
    • Single Filter
    • Filter Objects
    • doFilter Method
    • init Method
    • Filter Life Cycle
    • Cascading Filters
  11. Introduction to JavaServer Pages
    • Separating Presentation from Model
    • Java Server Page (JSP): An Extension of Servlet
    • Lifecycle of a JSP
    • Example JSP
    • JSP Syntax Consists of Three Types
    • JSP Scripting: Declarations; Expressions; Scriptlets & Directives
    • The session Attribute
    • The errorPage/isErrorPage Attribute
    • JSP Actions
    • JSP Actions: Include/Forward
    • Typical JSP Access Model
    • JSP Action: useBean
    • Implicit Objects
    • JSPs or Servlets?
    • The web.xml in JEE 5
    • JSP Format Rules
    • JSP Error Pages
  12. JSP Implicit Objects
    • Implicit Objects
    • Page Object; Config Object
    • Request Object; Response Object
    • Out Object
    • Output Buffer
    • Session Object
    • Application Object
    • PageContext Object
    • Attributes
    • Session Attributes
    • Exception Handling
  13. The Expression Language
    • Enable/Disable EL
    • Variables
    • Literals and Operators in the JSP EL
    • Implicit Objects in JSP EL
    • Reserved Words
    • EL Functions
    • Developing the Function
    • Declaring the Function in the TLD
    • Using the Function
    • Pre-Built EL Functions
  14. JSTL Introduction and Core Library
    • Introduction to JSTL
    • Expression Language (EL) in JSTL
    • Review of JSP Bean Tags
    • Tag Collaboration
    • JSTL Core
    • Using c:set to pass HTML
  15. JSF Application Development
    • JSF User Interface
    • Managed Beans
    • Managed Properties
    • Navigation Rules
    • Navigation Cases
    • Outcomes
    • JSF Tag Libraries
  16. JDBC and Its Position in JEE
    • JDBC Versions
    • The JDBC API
    • JDBC in JEE
    • Programming with DataSources
    • JNDI names
    • DataSource Programming Best Practices
  17. JDBC Data Access API
    • Structured Query Language (SQL)
    • Statements & Statement
    • PreparedStatements
    • PreparedStatement
    • ResultSet
    • Executing Inserts, Updates, and Deletes
    • Mapping SQL Types to Java Types
    • CallableStatement