Course duration
- 5 days
Course Benefits
- 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
Course Outline
- Java EE Introduction
- Java EE Overview and Technologies
- JEE Architecture Choices
- Java Web App Introduction
- 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
- 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
- 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
- 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
- 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
- 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
- Additional Servlet Capabilities
- Custom Tags Using Tag Files - Overview, Writing and Using Tag Files, Tag Attributes
- Servlet Filter overview - Example and lifecycle
- WebSocket Overview
- JDBC Introduction and Architectur
- Relational Database and JDBC Overview
- JDBC Architecture, JDBC API Overview
- Connecting to a database
- Working with JDBC - Executing Statements and Processing Results
- Resource Integration
- DataSources and Connection/Statement Pooling
- Resource Injection, @Resource, and JNDI
- CDI and Dependency Injection
- 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
- JPA Advanced Topics
- Entity Lifecycle
- Relationships
- Issues with Relationships (Lazy Load and Web Apps)
- 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
- 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
Class Materials
Each student will receive a comprehensive set of materials, including course notes and all the class examples.
Since its founding in 1995, InterSource has been providing high quality and highly customized training solutions to clients worldwide. With over 500 course titles constantly updated and numerous course customization and creation possibilities, we have the capability to meet your I.T. training needs.
Instructor-led courses are offered via a live Web connection, at client sites throughout Europe, and at our Geneva Training Center.
Instructor-led courses are offered via a live Web connection, at client sites throughout Europe, and at our Geneva Training Center.