- 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 and the JPA (Java Persistence API)
- Structure a clean data access layer.
- Gain a high level understanding of REST services and JAX-RS
- See the full descriptions for detailed content
Hands-On
50% hands-on, 50% lecture
Supported Platforms
Eclipse/Tomcat, JBoss/WildFly AS, IBM Rational Application Developer (RAD) / Websphere AS
Java Training Course Duration
5 Days
Java Training Course outline
Session 1: Java EE Introduction
- Java EE Overview and Technologies
- JEE Architecture Choices
- Java Web App Introduction
Session 2: Servlet Basics
- Servlet Basics and Capabilities
- Basics of Writing a Servlet
- HTML Forms Review
- HTTP Review: Request-response, headers, GET, POST
- Overview: How Servlets Work
- Servlet Lifecycle and API - Servlet, HttpServlet, @Webservlet
- Requests and Responses - HttpServletRequest and HttpServletResponse
- Accessing Parameters
- web.xml
Session 3: Additional Servlet Capabilities
- Working with HttpServletResponse (Errors, Headers, MIME types)
- Initialization
- Overview
- Using ServletConfig and ServletContext
- Init Parameters - Servlet and Web App
- Error Handling: Error Pages and Their Configuration
Session 4: 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
- Servlets as Controllers, 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
- JSP Expressions, and Accessing Data
- Predefined JSP EL implicit objects (pageContext, param, header, scope objects)
- pageContext in Detail
- jsp:include, jsp:forward, the page Directive
- JSP Error Pages
Session 5: Using Custom Tags
- Custom tags overview
- Tag Libraries Overview
- taglib Directive - Using a Tag Library
- JSTL
- Overview
- c:out, c:forEach
- c:url, c:param
- More about JSTL
-
- Other Useful Core Tags< - c:if, c:choose
- Formatting: formatNumber, formatDate, Resource Bundles
Session 6: HTTP Session Tracking
- HTTP and Client State
- Cookies - Overview, Servlet Access, Usage, Issues
- Sessions
- Servlet/JSP Session Support, HttpSession
- Using Sessions - Putting Data in, Retrieving Data From
- How Sessions Work
Session 7: Web Security
- JEE 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
Session 8: Additional Servlet Capabilities
- Custom Tags Using Tag Files - Overview, Writing and Using Tag Files, Tag Attributes
- Servlet Filter overview - Example and lifecycle
- WebSocket Overview
Session 9: JDBC Introduction and Architecture
- Relational Database and JDBC Overview
- JDBC Architecture, JDBC API Overview
- Connecting to a database
- Working with JDBC - Executing Statements and Processing Results
Session 10: Resource Integration
- DataSources and Connection/Statement Pooling
- Resource Injection, @Resource, and JNDI
- CDI and Dependency Injection
Session 11: Introduction to JPA
- JPA Architecture and Programming View
- Entity Classes and Annotations
- Mapping an Entity Class
- EntityManagerFactory and EntityManager
- Working with JPA (Find by primary key and inserts)
- Integrating JPA with the Web Tier
Session 12: JPA Advanced Topics
- Entity Lifecycle
- Relationships
- Issues with Relationships (Lazy Load and Web Apps)
Session 13: Introduction to REST
- Overview and Principles
- REST Characteristics
- Resources and Operations
- REST Principles
- Requests and Responses
- REST APIs
- URI Templates
- GET, POST, PUT, DELETE
- Safe and Idempotent Methods
Session 14: Introduction to JAX-RS
- APIs and Implementations
- JAX-RS Overview, Annotations
- JAX-RS Implementations
- Runtime Environment
- Application Server, Servlet-Only Container
- Architectural and Implementation Perspectives
- Configuring the Application
- Applications, Resources, and Providers
- JAX-RS Applications
- Resource Classes and @Path
- Provider Classes and @Provider
- Default Lifecycles
- The Application Class and rest-path
- Ajax-JavaScript Clients
- Overview
- Classic vs. Ajax Interactions
- Working with Ajax-JavaScript