Chapter 1
Preface
I. The Java Enterprise APIs
1. Introduction
Enterprise Computing Defined
Enterprise Computing Demystified
Standard Java Enterprise APIs
De Facto Standard Enterprise Development Tools
An Enterprise Computing Scenario
Other Enterprise APIs
2. Application Assembly and Deployment
J2EE Application Assembly Model
Component Modules
Application Assemblies
Deploying J2EE Applications
3. Java Servlets
Getting a Servlet Environment
Servlet Basics
Web Applications
Servlet Requests
Servlet Responses
Custom Servlet Initialization
Security
Servlet Filters
Thread Safety
Cookies
Session Tracking
Databases and Non-HTML Content
4. JavaServer Pages
JSP Basics
JSP Actions
The JSP Expression Language
JSP Standard Tag Library
Custom Tags
Wrapping Up
5. JavaServer Faces
The Sample Application
Structure of a JSF Application
Managed Beans
The JSF Expression Language
JSF Actions and Views
Building Tables
Validation
Moving on with JSF
6. Enterprise JavaBeans
What Version Is Covered Here?
EJB Component Model Overview
EJB Tutorial
Deploying EJBs
Using Enterprise JavaBeans
Session Bean Specifics
Entity Beans
Message-Driven Beans
Transaction Management
EJB 3.0
7. Java and XML
Using XML Documents
Java API for XML Processing
SAX
DOM
XSLT
8. JDBC
JDBC Architecture
Connecting to the Database
Statements
Results
Handling Errors
Prepared Statements
BLOBs and CLOBs
Metadata
Transactions
Stored Procedures
Escape Sequences
RowSets
9. JNDI
JNDI Architecture
A Simple Example
Introducing the Context
Looking Up Objects in a Context
The NamingShell Application
Listing the Children of a Context
Creating and Destroying Contexts
Binding Objects
Accessing Directory Services
Modifying Directory Entries
Creating Directory Entries
Searching a Directory
Event Notification
10. J2EE Security
Basic Security Concepts
A Look at Java and J2EE Security Standards
Declarative Security Versus Programmatic Security
Web Component Security
EJB Component Security
Other J2EE Security Topics
Limitations of J2EE Security
11. Java Message Service
JMS in the J2EE Environment
Elements of Messaging with JMS
The Anatomy of Messages
Point-to-Point Messaging
Publish-Subscribe Messaging
Unified Messaging
Transactional Messaging
12. Web Services with JAX-RPC and SAAJ
What's Covered Here?
Brief Introduction to Web Services
Java Web Services
Writing Web Service Clients
Writing Web Services
Deploying Web Services
13. Remote Method Invocation
What's Covered Here?
Introduction to RMI
Defining Remote Objects
Creating the Stubs and Skeletons
Accessing Remote Objects as a Client
Dynamic Classloading
Remote Object Activation
RMI and Native Method Calls
RMI Over IIOP
14. Java IDL (CORBA)
A Note on Evolving Standards
The CORBA Architecture
Creating CORBA Objects
Putting It in the Public Eye
Finding and Using Remote Objects
What If I Don't Have the Interface?
15. JavaMail
Email and JavaMail
Creating and Sending Messages
Retrieving Messages
Multipart Messages
16. Transactions
Transaction Overview
Programmatic Transactions Versus Declarative Transactions
Optimistic Concurrency
EJB Transaction Management
Some Common Programming Scenarios
Transaction Best Practices
II. Open Source Enterprise Tools
17. Ant
What Version Is Covered Here?
Ant Overview
Ant Fundamentals
Core Tasks
Enterprise Tasks
Creating Portable Build Processes
18. JUnit and Cactus
What's Covered Here?
Unit Testing Concepts
JUnit Overview
Using JUnit with Ant
Testing Enterprise Components with Cactus
19. Struts
The Scope of Struts
The Sample Application
The Development Process with Struts
The Struts Controller
The Action Class
Views in Struts
Struts Tags
Struts Plug-ins
DynaActionForms and the Struts Validator
20. Hibernate
The Sample Application
Principles of Hibernate
Configuration and Mapping
The Hibernate API
HQL (Hibernate Query Language)
Hibernate Services
Conclusion
21. Annotations with XDoclet and J2SE Metadata
What's Covered Here?
What Are Code Annotations?
Annotation Tools
XDoclet Tutorial
J2SE Annotations Tutorial
III. Appendixes
A. J2EE Deployment Descriptor Reference
B. JavaServer Faces Tag Libraries
C. Enterprise JavaBeans Query Language Syntax
D. SQL Reference
E. JMS Message Selector Syntax
F. RMI Tools
G. IDL Reference
H. Java IDL Tools
Index