Building JEE (Java EE) Applications using Servlets/JSPs, JDBC and More Training

How To Take This Class

Live Instructor-Led Online Class

Cost: $2,500.00

  • Open enrollment class for individuals
  • Live class with an instructor
  • Free class retakes forever!
  • Six months of instructor email support
  • Hands-on exercises and student labs
  • Classes never cancelled due to low enrollment
  • Money-back guarantee

    Sorry, no courses are scheduled at this time. Please Contact Us to schedule this course.

Onsite or Offsite Group Training

Cost: Based on number of students

  • For groups as small as 3 people
  • Class Held at our location or yours
  • Hands-on exercises and student labs
  • Customization at no extra charge
  • Six months of instructor email support
  • All-inclusive pricing
  • Money-back guarantee
Request Group Pricing Proposal

Course Duration

5 Days

Course Description

Building Java EE / JEE5 Applications using Servlets/JSPs, JDBC and More is a five-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 Objectives

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
  • Understand and work with JEE 5 persistence options, including JPA
  • Work with new annotations included in JEE 5
  • Expose web components as web services
  • Recognize basic web security vulnerabilities and implement effective defenses

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.

Course Prerequisites

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

Course Syllabus

  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. Lesson 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. Server-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
    • Threading and Data 2
  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. Application and Session Events
    • Event Listener Model
    • Life Cycle Events in a Web-Application
    • Declare the Listener
    • Type of Events
    • Context Listeners; Session Listeners
    • Session Listeners for Session-Objects
  11. Overview of Filters
    • What is a Filter
    • Single Filter
    • Filter Objects
    • doFilter Method
    • init Method
    • Filter Life Cycle
    • Cascading Filters
  12. Filtering Requests and Responses
    • Request Wrapper
    • Process the Request
    • Examples of Request Filters
    • Filter the Response
    • Response Wrapper
  13. 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
  14. 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
  15. 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
  16. 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
  17. JSF Application Development
    • JSF User Interface
    • Managed Beans
    • Managed Properties
    • Navigation Rules
    • Navigation Cases
    • Outcomes
    • JSF Tag Libraries
  18. JDBC and Its Position in JEE
    • JDBC Versions
    • The JDBC API
    • JDBC in JEE
    • Programming with DataSources
    • JNDI names
    • DataSource Programming Best Practices
  19. 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
  20. The DAO Pattern
    • Data Access Object (DAO)
    • DAO Structure
    • DAO Example: ProductDAO
    • The DAOFactory
    • Complete UML Diagram
    • Using the ProductDAO
  21. Java Persistence API
    • Entities and Metadata
    • Entity Manager
    • Finding Entities
    • Deploying and Runtime Issues
    • Implementation Options
  22. Working With Enterprise JavaBeans 3
    • Defining Enterprise JavaBeans
    • JavaBeans vs EJBs
    • EJB Architecture Overview
    • EJB Container & Types of EJBs
    • Session Beans
    • Message-Driven Bean
  23. Entity Beans and Persistence
    • Entity Beans and POJOs
    • Entity Bean Lifecycle
    • Entity Manager and Entities
    • CRUD Operations with Entities
    • ORM Options
  24. Transactions
    • Transaction Definitions
    • The ACID Transaction Properties
    • Transaction Lifecycle
    • Overview of a Transactional System
    • JEE Transaction Support
  25. Other JEE APIs
    • Java Message Service (JMS)
    • When is Messaging Used?
    • Two Messaging Models
    • More On Publish/Subscribe
    • Logical View of Publish/Subscribe
    • More On Point-to-Point (P2P)
    • Logical View of Point-To-Point
    • Message Servers
    • JavaMail; JavaMail Architecture
    • XML
    • An XML Document
    • JEE and XML
  26. Web Services in JEE – WSEE
    • What are Web Services?
    • Web Services Architecturally
    • XML and Web Service APIs
    • Binding Using JAXB
    • Web Service Interoperability – JAX-WS
    • Web Services for JEE - WSEE
    • Servlets as Web Services
    • EJBs as Web Services
    • Routing SOAP requests to an EJB
  27. Best Defense: JEE Security
    • Typical JEE App Server Security Services
    • Java 2 Platform Security Model
    • Java 2 Security in JEE
    • JAAS Authentication: Who are you?
    • JEE Security Overview
    • Authorization: Are you allowed access?
    • High-Level Trace of JEE Authorization
    • Deployment Descriptors Play a Large Role
    • Declaring Secure Resources
    • Declaring the security roles
    • Typical JEE App Server Security Services
    • Security on the Web; Secure Web Traffic
    • SSL In Action
    • Responsibilities For Security
    • CMS: Declaring HTTPS
    • Authentication Challenge Mechanisms
  28. Web Application Security Overview
    • Attacks are Constant and Changing
    • Open Web Application Security Project
    • Assets are the Targets
    • The Context for Defensive Coding
    • Attackers Not Hackers
    • Cross-Site Scripting (XSS): Description
    • Defending Against XSS Attacks
    • SQL Injection: Description; Example & Drill Down
    • Defending Against SQL Injection Attacks
  29. Handling Untrusted Input
    • Unvalidated Input: Description
    • Protecting a Web Resource
    • Defending a Web Application
    • Defending a Web Application/Resource
    • Responding to Error State
    • Best Practices for Untrusted Data
    • Additional Types of Attacks