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