Topics | |
|
|
What you will learn | |
After completing this course, the student should be able to:
|
|
Audience | |
Java programmers who build server-side web applications interested in leveraging Eclipse to streamline their development cycle. |
|
Prerequisites | |
You should understand essential concepts of Object-Oriented Programming and be able to write simple Java programs with assistance. Course WA1278 - Introduction to Java Using Eclipse satisfies this requirement: |
|
Duration | |
5 days |
|
Outline for Java EE 5 Programming with Servlets and JSPs Training
Chapter 1. Java Enterprise Edition (EE) Overview
- Introduction to Java Platform
- Java Community Process (JCP)
- Introduction to Java EE
- Why Move to Java EE
- Java EE - New and Enhanced Features
- Java EE Software Packaging
- Java EE Technologies
- Summary
Chapter 2. Java EE Tools in Eclipse WTP
- Eclipse Platform
- Eclipse Workspace
- Perspectives, Views & Editors
- Basic Operations with Eclipse Views and Perspectives
- The Java Perspective
- The Debug Perspective
- Navigator View
- Package Explorer
- Outline View
- Problems View
- Eclipse Preferences
- Build and Validation
- Code Completion, Templates and Snippets
- Searching
- Configure Compiler Class Path
- JRE Switching
- Eclipse WTP
- Java EE Perspectives
- Project Explorer View
- Servers View
- JPA Tools
Chapter 3. Servlet Basics
- History – CGI
- Server Extension APIs
- Java Servlet
- Java EE and Servlet
- New In Servlet 2.5
- Servlet Container
- Servlet Responsibilities
- The Servlet Class
- The HttpServlet Class
- An Example – Hello World
- The Servlet Container
- The Servlet API
- Life Cycle – Initialization
- Example Initialization
- Life Cycle – Processing
- Life Cycle – Destroy
- User Input
- Example – User Input
- Output to Client
- Servlet Error Handling
- Threading Issues
Chapter 4. Servlet Interaction Interface
- Request
- Request Parameters
- Request Attributes
- Request Headers
- Request Path
- Other Request Information
- Response
- Cookies
- Components of a Cookie
- Issuing Cookies
- Retrieving Cookies
- Deleting a Cookie
- Servlet Context
- Servlet Context Attributes
- Resource
- Session Tracking
- Tracking Techniques
- HTML Hidden Fields
- Using HttpSession
- Session Invalidation
- An Example of Session Tracking Code...
- An Example of Session Tracking Code…
- HttpSession - URL Rewriting
- Summary
Chapter 5. JavaServer Page (JSP) Basics
- JavaServer Pages
- JavaServer Pages 2.1
- A Simple Example - Hello.jsp
- JSP Benefits
- Evolution of Dynamic Content Technologies
- How JSP Works
- JSP Invocation
- JSP Scripting Elements
- The XML Syntax
- JSP Directive
- page Directive Attributes
- page Directive – an Example
- page Attribute – errorPage
- page Attribute – isErrorPage
- Using XML Syntax
- Directives – include
- Include – an Example
- Include at compile time vs. at request time
- Request time inclusion
- JSP Declarations
- Declarations – an Example
- JSP Expressions
- JSP Expressions – an Example
- JSP Scriptlets
- JSP Scriptlets – an Example
- JSP Comments
- JSP Predefined Variables
- The request Object
- The response Object
- The out Object
- Out – an Example
Chapter 6. Using Java Beans with JSP
- What is a JavaBean?
- Structure of a JavaBean
- Life Cycle
- Properties
- Very Simple Bean
- Using Java Beans in JSP
- The <jsp:useBean> tag
- Java Bean scope
- <jsp:useBean> in Action
- The <jsp:getProperty> tag
- The <jsp:setProperty> tag
- Mapping all the request parameters
- Another Example
- Mixing Scriptlets and Bean tags
- Summary
Chapter 7. Model/View/Controller Pattern
- Key Issues for Web Application Development Productivity
- Web Application Programming Model – MVC
- Model
- View
- Controller
- JavaBeans
- MVC Implementation
- Request Dispatching
- Request Dispatching - Forward vs. Include
- Request Dispatching - forward Request to JSP
- HTTP Redirection
- Dispatch vs. redirection
- Redirecting to a JSP
- Supply Result Information to the JSP
- A Simple Example
- Display JavaBean Properties in JSP
Chapter 8. Working with Databases
- What is JDBC?
- JDBC Architecture
- JDBC: Basic Steps
- Loading a Driver
- DB2 UDB JDBC Drivers
- Oracle JDBC Drivers
- Create a Connection
- Connection
- Statement
- PreparedStatement
- Advantages of Prepare Statement
- ResultSet
- ResultSet…
- Example JDBC Servlet With Transactions
- Close the Connection
- Need for Connection Pooling
- Connection Pooling in JDBC 2.0
- Connection Pooling
- Basic Steps in Using JDBC Connection Pooling
- Access a DataSource
- Get a Connection
- Release Connections
- Connection Pool Example
- Resource References
Chapter 9. JSP Expression Language and Standard Tag Library
- JSP Expression Language (EL)
- Basic Usage
- Unified Expression Language
- Built-in Objects
- Working With Arrays and Maps
- Operators
- Full Example
- JSP Standard Tag Library (JSTL)
- Basic Tags
- Condition Tags
- Iterator Tags
- Internationalization (I18N)
- Setting Preferred Locale
- Specifying Resource Bundle
- Display Translated Text
- Display Number
- Display Date
- JDBC Tags
- Specify Data Source
- Performing a Query
- Display Result
- Pagination Example
- Function Tags
- Function Syntax
- fn Functions
Chapter 10. Servlet Filters
- What is a filter?
- Why use a filter?
- Uses for Filtering
- Features of filters
- The Filter interface
- How a filter works
- In what order?
- A Simple Logging Filter
- Configuring the filter
- Mapping the filter
- The Web Deployment Descriptor
- Common filter tasks
- Request and Response Wrappers
Chapter 11. Servlet Event Listener
- What are Listeners
- Types of Listeners
- Writing a Servlet Context Listener
- Writing a Servlet Context Attribute Listener
- Writing a Session Activation Listener
- Writing a Session Attribute Listener
- Registering Listeners
- Lifecycle of Listeners
Chapter 12. JSP Custom Tag Development
- What is Custom Tag?
- Why Develop Custom Tags?
- The Nature of a Custom Tag
- Tag Body
- Fragment Attribute
- Dynamic Attributes
- Tag Library Descriptor (TLD)
- Tag Implementation Options
- The Simple Tag API
- Example Tag Class
- Life Cycle of a Simple Tag
- The JspContext Object
- Dealing With the Body
- Implementing an Iteration Tag
- Accessing a Parent Tag
- Working With Fragment Attributes
- The TLD File
- Defining a Tag
- Packaging a Tag Library
- Using a Tag Library
- The Tag File Approach
- Example Tag File
- The Tag Directive
- Defining Attributes
- Working With Variables
- Working With Fragment Attributes
- Packaging Tag Files
- Creating the TLD File
- Using a Tag File From a JSP
Chapter 13. JEE Security
- JEE Authentication Mechanisms
- Basic Authentication
- Form-based Authentication
- Client Certificate Authentication
- JEE Authorization
- Declarative Security on Web Resources
- Programmatic Security on Web Resources
- Security Role Reference
- Defining Security Roles Using Annotations
- Delegation
- Declarative Security on EJB Resources
- Protecting Beans Using Annotations
- Protecting Beans Using the Deployment Descriptor
- Programmatic Security on EJB Application
- Delegation
- Summary
Chapter 14. Java EE 5 Annotation Programming
- What Are Annotations?
- Example Annotation
- Java Metadata Specification
- Where Can Annotations Be Used?
- Resource Annotations
- @Resource, @Resources
- @EJB
- @Persistence Annotations
- @PostConstruct, @PreDestroy
- @WebServiceRef
- Summary
Chapter 15. Introduction to JavaServer Faces
- What is JavaServer Faces (JSF)?
- Why Use JSF?
- Nature of a JSF Application
- The Sun Reference Implementation (RI)
- JSF and MVC
- Faces Servlet
- Managed Bean
- The View
- A Simple JSF Application
- The Input Form: form.jsp
- The Result: thanks.jsp
- The Controller: AddressBean
- Page Flow or Navigation Rule
- How Does the Application Work?
- Under the Covers: The Rendered Form HTML
- Under the Covers: The Layout Tree
Chapter 16. Managed Bean
- What is a Managed Bean?
- Why Do You Need Managed Beans?
- Managed Bean As a Controller
- Registering a Managed Bean
- Lifecycle of a Managed Bean
- Initializing a Managed Bean
- What Scope to Use?
- Value Binding
- Property Data Conversion
- Advanced Property Types
- Component Binding
- Other Binding Types
- Basic Input Processing
- Advanced Input Processing
- JSF Expression Language
- Language Basics
- Use of Expression in JSF
- Basic Expression
- Property Access Expression
- Map Access Expression
- Complex Access Expression
- Predefined Objects
- Operators
Chapter 17. Enterprise JavaBeans (EJBs) Overview
- Need for EJBs
- Distributed Computing
- Distributed Transaction
- Distributed Security
- What are EJBs?
- Main Characteristics of EJBs
- EJB Remote Method Call
- EJB Architecture Components
- EJB Client
- EJB JAR File
- EJB Container
- EJB Server
- Enterprise JavaBeans
- Session Beans
- Entity Beans
- Java Persistence API - Entities
- Message-Driven Beans (MDBs)
- EJB Specification
- Summary
Chapter 18. Introduction to Struts
- What is Struts?
- Why Struts?
- Struts Components
- The Controller Layer
- Chain of Command
- The Controller Layer
- The View Layer
- The Form Bean
- A Simple Action
- Struts Configuration
- Define HelloAction
- Invoking HelloAction
- Finding Information About Struts
Lab Exercises
Lab 1. Using Eclipse for Java Development
Lab 2. Create a Unit Test Server
Lab 3. Create a Web Application Project
Lab 4. Write a Basic Servlet
Lab 5. Use Servlet Initialization Parameters
Lab 6. Basic JSP Development
Lab 7. JavaBean and JSP
Lab 8. Error Handling
Lab 9. Create a Database Driven Web Application
Lab 10. Use JSTL and JSP EL to Display Data
Lab 11. Intercepting a Filter Pattern
Lab 12. Creating a Custom Tag
Lab 13. Working With Fragment Attributes
Lab 14. Custom Tag Using a Tag File
Lab 15. Developing a JSF Application
Lab 16. Develop a Managed Bean
Lab 17. Creating A Stateless Session Bean