Java Programming EE 7

Class Learning Objectives:

  • Design and build robust and maintainable web applications
  • Create dynamic HTML content with Servlets and Java ServerPages, 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
  • See the full descriptions for detailed content

Class Length: 5 days

Hands-on: 50% hands-on, 50% lecture

Supported Platforms: Eclipse/Tomcat, GlassFish, JBoss AS, IBM Rational Application Developer (RAD) / Websphere AS, Weblogic AS

Course Details:

Session 1: Java EE Introduction

  • Java EE Overview
  • Java EE Technologies
  • Java EE Architecture
  • MVC
  • Servlets and JSP with JSP Standard Tag Library (JSTL)

Session 2: Web Application Basics

  • How the Web works, Thin Clients, TCP/IP
  • HTTP overview, Brief HTML review
  • Overview of J2EE
  • Web Applications – Structure and Contents
  • Servlet Basics and Capabilities
  • Basics of Writing a Servlet
    Labs:
    • Setup development environment and server; Create a simple web application
    • Create a Simple Servlet

Session 3: Servlet API

  • HTML Forms Review
  • HTTP Review: Request-response, headers, GET, POST
  • Overview: How Servlets Work
    • Servlet Lifecycle: init(), service(), destroy()
    • API: Servlet, ServletConfig, ServletRequest, ServletResponse, GenericServlet,
    • Requests and Responses – Using ServletRequest and ServletResponse
    • HTTP Servlets: HttpServlet, HttpServletRequest, HttpServletResponse
    • Accessing Parameters
    • More About web.xml
    Lab: Using Client Input, Retrieving parameters

Session 4: Additional Servlet Capabilities

  • Working with HttpServletResponse
    • Status/Errors
    • Response Headers
    • MIME Types
  • Initialization
    • Overview
    • Using ServletConfig and ServletContext
    • Init Parameters – Servlet and Web App
  • Error Handling: Error Pages and Their Configuration
    Lab: Using Model Classes, Generating Simple Output

 Session 5: JavaServer Pages

  • Basics and Overview
    • JSP architecture
    • JSP tags and JSP expressions
    • Fixed Template Data
    • Lifecycle of a JSP
  • Model View Controller (MVC)
    • Overview
    • Java EE Model 2 Architecture : Servlet Controllers, JSP Views, JavaBeans Glue
  • Servlets as Controllers
    • Using RequestDispatcher
    • Forwarding and Including
  • Data Sharing in a Web App
    • Object scopes or “buckets”
    • Using JavaBeans to Hold Data
    • Using the Scope Objects – get/set/remove Attributes
    • Request, application, session and page scope
  • JSP Expression Language (EL) and Data Access
    • JSP EL Overview
    • JavaBeans and the EL
    • Predefined JSP EL implicit objects (pageContext, param, header, scope objects)
    • <jsp:useBean>, <jsp:getProperty>, <jsp:setProperty>
  • jsp:include, jsp:forward, the page Directive
    Labs:
    • Create a Simple JSP Page
    • Put Data on a Scope and Forward to a JSP
    • Use the JSP Expression Language

Session 6: Using Custom Tags

  • Custom tags overview
  • Reducing JSP complexity
  • Tag Libraries
    • Overview and TLD (Tag Library Descriptor)
    • taglib Directive – Using a Tag Library
  • JSTL
    • Overview
    • c:out, c:forEach
    • c:url, c:param
    Labs:
    • Use c:forEach for Iteration
    • Working with Links and c:url

Session 7: HTTP Session Tracking

  • HTTP Session Overview
    • HTTP as a stateless protocol
    • Hidden form fields
  • Cookies
    • Overview and Servlet API
    • Using Cookies, Persistent and Session Cookies
    • Issues
  • Sessions
    • Servlet/JSP Session Support, HttpSession
    • Using Sessions – Putting Data in, Retrieving Data From
    • How Sessions Work
    Lab: Storing and Using Session Data

Session 8: More JSP Capabilities

  • Error Pages
    • Error Pages and Exception Handling
    • The implicit exception Object
    • JSP 2.0+ Error Handling and errorData Object
    • Directives (page, include, others)
  • JSPs as XML Documents
  • Scriptlets – Overview and Usage
    Labs:
    • Using Error Pages
    • {optional} Using Scriptlets

Session 9: More JSTL and EL

  • More About the JSTL
    • Core, Formatting, SQL, XML, Functions Libraries
    • Custom Tag Architecture and Tag Library Structure
    • c:if, c:choose, c:import
    • Formatting: formatNumber, formatDate, Resource Bundles
    • Using Common Tags
    • XML Action Example
  • More About the JSP EL
    • Syntax, Identifiers, Literals, Operators
    • Implicit Objects
    • The pageContext in Detail
    • Type Coercion
    • String concatenation
  • Using Common Tags
    • c:if, c:choose
    • c:set
    • fmt:formatDate, fmt:formatNumber
    Labs:
    • Using c:if, c:choose, c:when and c:otherwise to customize output
    • [Optional]: Using the Function Library
    • JSTL Format Tags

Session 10: Security

  • J2EE Security Overview
  • Role Based Security
  • Declarative Security
  • Web Authentication – Basic, Form-Based, Digest, HTTPS Client
  • Using Basic Authentication
  • Using Form-Based Authentication
  • Programmatic Security – HttpServletRequest, Retrieving Roles

  Lab: Securing a Web App, Setting Up and Using a Security Domain

Session 11: Additional Topics

  • Design Issues
    • Dividing Responsibilities Between Servlets/JSP
    • Network Overhead
    • Scalaibility – Clustering, Serving Static Content
    • Other Guidelines – Using the Technology Well
  • Custom Tags Using Tag Files
    • Overview and Writing Tag Files
    • Tag Attributes
    • The tag Directive
  • Servlet Filter overview
    • Filtering examples, lifecycle, & filter chains
    • Filter API, Modifying a request, Modifying a response
  • Java ServerFaces (JSF) Overview
    • Advanced MVC – JSF overview
    • JSF Components
    • Process Flow
    • Advantages and Disadvantages JDBC

Session 12: 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

Session 13: Data Access with JDBC

  • 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
    Lab: Lab series creating DAO using JBDC

Session 14: Advanced Topics

  • Java Persistence API Overview
  • Advanced JDBC Features
    • Batch Updates, Srollable Result Sets, Rowsets, User Defined Types, BLOBS,  CLOBS
  • Database Integration and Additional Technologies

Session 15: Java EE Database Integration

  • Environment Naming Context (ENC) and Resource Injection
  • JNDI Overview and the ENC
  • Connecting servlets to a database via DataSource
  • Connection Pooling

Session 16: Additional Topics

  • 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
  • XML and Web Services Overview
    • XML and Web Services
    • JAX-WS Web Services Overview
  • Design Considerations: Web Design, System Architecture, Scalability, Clustering
    Labs:
    • Accessing a database from a servlet
    • Other Optional Labs (Depends on Platform Support)

To Hire a proven AMS Java EE 7 Developer Subject Matter Expert  who also teaches this class, Call 800-798-3901 Today

Leave a Reply