Fast Track to Java™ EE with Servlets, JSP™ and JDBC™
Summary
Fast Track to Java EE with Servlets, JSP & JDBC
Java Enterprise Edition (JEE) is a powerful platform for building web and database-driven applications. This course provides the information you need to design and build your own data-driven web applications. You'll learn the details of the core JEE Web and database technologies and how to leverage the strengths of each. You'll also be introduced to other important web-based technologies such as creating REST services with JEE.
Throughout the course, students will create code for a online store. Students will learn not only specific topics and APIs but also how to fit the pieces together into a complete application.
All labs are done with the Eclipse IDE, and the lab instructions include detailed directions for setting up and using it. The standard applicaiton server used is Tomcat, but it is available for all major app servers, including WildFly/JBoss AS and IBM WebSphere AS
Course Objectives
On completion of this course, the student should be able to
- 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
Length
5 Days
Format
50% hands-on, 50% lecture
Course Outline
Session 1: Java EE Introduction
- Java EE Overview and Technologies
- JEE Architecture Choices
- Review: Web Applications, HTML, HTTP
- 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
- 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
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)
- jsp:include, jsp:forward, the page Directive
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
Session 6: HTTP Session Tracking
- HTTP and Client State
- Hidden form fields
- 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: 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
Session 8: More JSTL and EL
- More About the JSTL
- Core, Formatting, SQL, XML, Functions Libraries
- Other Useful Core Tags
- Formatting: formatNumber, formatDate, Resource Bundles
- More About the JSP EL - Syntax, Implicit Objects, pageContext in Detail
- Using Common Tags - c:if, c:choose
- Using fmt:formatDate, fmt:formatNumber
Session 9: 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 11: Additional Web Capabilities
- Custom Tags Using Tag Files - Overview, Writing and Using Tag Files, Tag Attributes
- Servlet Filter overview - Example and lifecycle
- Writing a Servlet Filter
- Java ServerFaces (JSF) Overview
- Advanced MVC – JSF overview
- JSF Components
- Process Flow
- Advantages and Disadvantages
Session 11: 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 12: Database Integration
- Data Access Layers
- DataSources
- Resource Injection, @Resource, JNDI and ENC
- Connection Pooling Concepts
Session 13: JPA Overview
- 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 14: 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 15: 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
Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 3
Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 4
Notice: Undefined variable: REMOTE_USER in /var/www/datadeliverance/inc/trademarks.inc on line 7
Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 7
Notice: Undefined index: printer in /var/www/datadeliverance/inc/trademarks.inc on line 11
Go to course catalogue
Oracle and Java are registered trademarks of Oracle and/or its affiliates.
PL/SQL and SQL*Plus are trademarks or registered trademarks of Oracle
Corporation. Microsoft is either a registered trademark or trademark of Microsoft
Corporation in the United States and/or other countries. MVS is a registered
trademark of the International Business Machines Corp. in the U.S. or other
countries or both. Motif, OSF/1, UNIX, and the "X Device" are registered
trademarks and IT DialTone and The Open Group are trademarks of The Open Group
in the U.S. and other countries. All other trademarks are the property of
their respective owners.