Java Training Overview
This 5 day training course teaches students how to develop Servlet, JSP and EJB for the WebLogic Server v10 platform. About 50% of the time is spent on hands on labs that use the Workshop for WebLogic development tool.
Java Training Audience
This course is designed for Java programmers and web application designers who have interest in learning how to build or maintain enterprise applications based on the Java EE 5 architecture using BEA’s Workshop for WebLogic tool.
Java Training Learning Objectives
Upon completion of this course, the participant will be able to:
- Develop web based applications using Servlet and JSP
- Develop business logic layer using EJB
- Be productive developers in the Workshop for WebLogic environment
- Deploy application code inside WebLogic Server v10
Java Training Course duration
Five Days
Java Training Course outline
1. Introduction to BEA Workshop for WebLogic
- Objectives
- BEA Workshop for WebLogic
- The Eclipse Platform
- Eclipse 3.2 Java IDE
- Views, Perspective and Editor Areas
- Basic Operations with Eclipse Views and Perspectives
- The Java Perspective
- The Debug Perspective
- Navigator View
- Build and Validation
- Templates and Code Completion
- Searching
- BEA Workshop for WebLogic
- BEA WebLogic Server
- Summary
2. Java Enterprise Edition (EE) Overview
- Objectives
- 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
3. Servlet Basics
- Objectives
- History CGI
- Server Extension APIs
- Java Servlet
- Servlet Container
- Servlet Responsibilities
- J2EE and Servlet
- The Servlet Class
- The HttpServlet Class
- An Example Hello World
- The Servlet Container
- The Servlet API
- Life Cycle Initialization
- Life Cycle Initialization
- Example Initialization
- Life Cycle Processing
- Life Cycle Processing
- Life Cycle Destroy
- User Input
- Example User Input
- Output to Client
- Servlet Error Handling
- Threading Issues
- Summary
4. JavaServer Page (JSP) Basics
- Objectives
- 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 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 Scriptlets an Example
- JSP Comments
- JSP Predefined Variables
- The request Object
- The response Object
- The out Object
- Out an Example
5. Servlet Interaction Interface
- Objectives
- Request
- Request Parameters
- Request Attributes
- Request Headers
- Request Path
- Other Request Information
- Response
- Cookies
- Setting Cookies
- Servlet Context
- Servlet Context Attributes
- Resource
- Session Tracking
- Tracking Techniques
- Cookies
- Cookies an Example
- HTML Hidden Fields
- Using HttpSession
- Session Invalidation
- An Example of Session Tracking Code...
- HttpSession - URL Rewriting
- Summary
6. Using Java Beans with JSP
- Objectives
- 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
7. Servlet Programming Advanced
- Objectives
- Key Issues for Web Application Development Productivity
- Web Application Programming Model MVC
- Model
- View
- Controller
- What is JDBC?
- JDBC Architecture
- JDBC: Basic Steps
- Loading a Driver
- DB2 UDB JDBC Drivers
- Oracle JDBC Drivers
- Create a Connection
- Connection
- Statement
- PreparedStatement
- ResultSet
- 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
- JavaBeans
- MVC Implementation
- Request Dispatching
- Request Dispatching - Forward vs. Include
- HTTP Redirection
- Dispatch vs. redirection
- Integrating Servlet and JSP
- Calling a JSP from a Servlet
- Request Dispatching - forward Request to JSP
- Supply Result information to the JSP
- A Simple Example
- Display JavaBean Properties in JSP
- Summary
8. 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)
- Run Time Version
- 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
9. Enterprise JavaBeans (EJBs) Overview
- Objectives
- 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
10. Stateless Session Beans
- Objectives
- Session Beans
- Stateless Session Bean
- Stateless Session Bean Pooling
- Stateless Session Bean Examples
- Stateful Session Bean
- Stateful Session Bean Examples
- Annotations
- Stateless Session Bean Components
- Example: Business Interface
- Example: Bean Class
- Alternative Example
- JNDI - Overview
- Example: The Client
- Business Interface Details
- Bean Class Details
- Session Bean Lifecycle
- Stateless Session Bean Lifecycle
- Summary
11. Stateful Session Beans
- Objectives
- Stateful Session Bean
- Stateful Session Beans
- Session Bean Lifecycle
- Stateful Session Bean Lifecycle
- Stateful Session Bean Components
- Stateful Session Bean Example
- Stateful Session Bean Client
- Summary
12. EJB References and Dependency Injection
- Objectives
- Dependency Injection
- Annotation Injection
- Example: Field Level Injection
- Example: Method Level Injection
- Deployment Descriptor Injection
- Example: Deployment Descriptor Injection
- EJBContext
- JNDI Lookup with EJBContext
- Overriding Reference Annotations
- Default Reference Name
- Resolving References
- mappedName Attribute
- Overloaded Reference Names
- EJB References
- EJB Reference Annotations
- Multiple EJB References
- EJB References in Deployment Descriptors
- Resource References
- Resource Reference Annotations
- Multiple Resource References
- Resource References in Deployment Descriptors
- Reference Lookup
- Summary
13. Entities and Java Persistence API
- Objectives
- Data Persistence
- Java Persistence API
- Entities
- Session Beans Vs Entities
- Entities
- Persisting and Retrieving Data
- Accessing Entities
- EntityManager & Persistence Unit
- Persistence Context
- Entities - Example
- persistence.xml Hibernate Provider
- persistence.xml Open JPA Provider
- persistence.xml - Toplink
- Entity Instance Lifecycle
- Creating EntityManager in Session EJB
- Creating EntityManager in a Plain Java Class
- Working With the EntityManager Interface
- Transaction Basics
- Entity Lifecycle
- When is an Entity Managed or Detached?
- Implementing the CRUD Pattern
- Accessing Entities Using Stateless Session Beans
- Inserting Data
- Retrieving Data
- Updating Data
- Deleting Data
- Merging Entities
- Life-Cycle Callbacks
- Example: Internal callback
- External Callback Class
- Listener Class - Example
- Synchronizing with Databases
- Entity Lookup
- JPAQL (JPA Query Language)
- Summary
14. EJB 3 Design Patterns
- Objectives
- Introduction
- Session Fa ade Pattern
- JPA and Session Fa ade Pattern
- Fa ade Example
- Message Fa ade Pattern
- Message Fa ade Using JMS
- Message Fa ade Using Timer Service
- Additional Notes About Message Fa ade
- The Command Pattern
- Implementing Command Pattern
- Example Command Pattern
- Data Transfer Object (DTO) Pattern
- JPA Entity as DTO
- Problem With JPA Entity as DTO
- Version Number pattern
- JPA and Version Number Pattern
- Primary Key Generation
- JPA and Primary Key Generation
- Fast Lane Pattern
- JPA and Fast Lane Pattern
- Summary
Appendix A. Message-Driven Beans
- Objectives
- The Trouble with RMI/IIOP
- Messaging to the Rescue
- Messaging Features
- Message-Oriented Middleware
- Messaging Domains
- Publish/Subscribe
- Point-to-Point
- Java Message Service
- JMS Programming: Overview
- JMS Programming: Overview
- The JMS Interfaces
- Integrating JMS and EJB
- Message-Driven Beans Are Different From Other EJBs
- Message-Driven Beans Cannot Talk to Their Clients
- Message-Driven Beans are Stateless
- Durable Subscription
- Message-Driven Bean Interfaces
- javax.jms.MessageListener
- javax.jms.Message
- Specialized Message Types
- Lifecycle
- Message Driven Bean - Example
- Message Driven Bean - Client Example (JSP)
- Transactions
- Security
- Load Balancing
- Clustering and Topics
- Clustering and Queues
- A Few Tips
- Poison Messages
- How the Programmer Can Avoid Poison Messages
- How the System Administrator Can Avoid Poison Messages
- Building a Response
- Potential Problems
- A Simple Alternative
- Type Checking and Messages
- Testing Message-Driven Beans
- Summary
- References
Appendix B. JSP Custom Tag Development
- Objectives
- 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
Appendix C. JMS Overview
- Objectives
- Messaging Intro
- Messaging Example
- Messaging Components
- Messaging Types
- JMS (Java Messaging Service)
- Message Driven Beans (MDB)
- MDB as Message Consumer
- JMS Resources
- JMS Messaging Configuration Questions
- JMS Messaging Configuration Answers
|