Fast Track to Java EE

Fast Track to Java EE


Course code: 
Time Unit: 

Java Enterprise Edition is a powerful platform for building web applications. The Java EE platform offers all the advantages of developing in Java plus a comprehensive suite of server-side technologies. This course tells you what you need to know to design and build your own web applications. You'll learn the details of the key Java EE technologies and how to leverage the strengths of each, with special focus on Servlets and JSP. At the same time, you'll be learning about the big picture of Java EE and how to design web applications that are robust, efficient, and maintainable. If you want to deliver an application on the web, you'll find this course essential.

The course begins with a discussion of web application architecture. A major part of the course is spent on Servlets and JavaServer Pages (JSP) with special focus on using the JSTL. It then covers JDBC, Java’s database access technology. The course concludes with an introduction to EJB and other important Java EE technologies. 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.

Skills Gained:
- 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



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
--- 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 10: 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
--- DriverManager, JDBC Drivers
--- Naming databases with JDBC URLs
- Connecting to a database - Connection interface, Establishing a connection
- DataBaseMetaData
- Handling Database Exceptions

Session 12: Data Access with JDBC
- DAO – Data Access Objects, O-R Mapping, Value Objects
- Object-Relational Mapping Ideas
- Processing Database Data
--- Executing statements, precompiled statements and stored procedures
--- Processing ResultSets,
--- Dealing with Null data
--- PreparedStatement, CallableStatement
--- Controlling Transactions
- JDBC Driver Types

[Optional] Session 13: JDBC 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 14: Java EE Database Integration
- Resource Injection, @Resource, JNDI and ENC
- Connecting servlets to a database via DataSource
- Connection Pooling Concepts

Session 15: Additional Topics
--- EJB Overview and high-level architecture
--- Roles within EJB
--- Remote Client view of a session bean / JNDI Lookup
--- 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



A working knowledge of Java.



Programmers interested in utilizing the capabilities offered by Java Enterprise Edition to create web applications.