Part I Development Tasks and Tools
1. Setting Up a Development Environment
Part II Developing Applications and Application Components
6. Using the Java Persistence API
7. Developing Web Applications
8. Using Enterprise JavaBeans Technology
9. Using Container-Managed Persistence
12. Developing Lifecycle Listeners
13. Developing OSGi-enabled Java EE Applications
Part III Using Services and APIs
14. Using the JDBC API for Database Access
15. Using the Transaction Service
16. Using the Java Naming and Directory Interface
Sample Applications
Automatic Database Schema Capture
Automatic Schema Generation for CMP
Generation Options
The cache Tag
The flush Tag
The Mapping Deployment Descriptor File
Securing Applications
Container Security
Application Level Security
Pluggable Audit Module Support
Declarative Security
Using the default-web.xml File
Component Level Security
GlassFish Server Specific Security Features
Security Goals
JACC Support
GlassFish Server Specific Security Features
Authentication With ConnectionFactory
Configuring Message Security for Web Services
Container Security
Programmatic Security
Programmatic Login
Roles, Principals, and Principal to Role Mapping
The server.policy File
Component Level Security
Message Security Providers
Enabling and Disabling the Security Manager
Security Maps
Installing and Preparing the Server for Development
The Class Loader Hierarchy
Server Life Cycle Events
Installing and Preparing the Server for Development
Value Added Features
Adding Authentication Mechanisms to the Servlet Container
The server.policy File
Considerations for Lifecycle Modules
Changing Permissions for an Application
Default Permissions
Granting Programmatic Login Permission
Using SSI
The LifecycleListener Interface
Adding Authentication Mechanisms to the Servlet Container
Using Servlets
Caching Servlet Results
Servlet Character Encoding
Instantiating and Removing Servlets
About the Servlet Engine
Instantiating and Removing Servlets
Instantiating and Removing Servlets
Request Handling
Using Servlets
Class Loader Delegation
Using the default-web.xml File
Distributed Sessions and Persistence
Using Session Beans
About the Session Bean Containers
EJB Singletons
Optimizing Session Bean Performance
Session Bean Restrictions and Optimizations
Restricting Transactions
Using @OrderBy with a Shared Session Cache
Session Managers
The coherence-web Persistence Type
Stateful Session Bean Failover
Distributed Sessions and Persistence
Allowing Non-Component Callers
Associating Connections with Threads
Custom Connection Validation
Message Security Providers
Roles, Principals, and Principal to Role Mapping
Using an Initialization Statement
Custom Connection Validation
Using JDBC Transaction Isolation Levels
Enabling and Disabling Java Web Start
Using Non-Transactional Connections
Disabling Pooling
Statement Tracing
Statement Caching
Using JDBC Transaction Isolation Levels
Custom Connection Validation
Servlet Character Encoding
Servlet Character Encoding
Servlet Character Encoding
Using JDBC Transaction Isolation Levels
Server Life Cycle Events
Message Security Providers
Signing JAR Files Used in Java Web Start
Signing JAR Files Used in Java Web Start
User Authentication for Single Sign-on
EJB Singletons
The JProbe Profiler
Introducing JavaMail
Delivering SOAP Messages Using the JMS API
To Send SOAP Messages Using the JMS API
Supported Realms
Application Client Annotation
Developing Connectors
GlassFish Server Support for CMP
About JDOQL Queries
Creating a Custom Realm
Using the Java Persistence API
Using JavaServer Pages
Using the JDBC API for Database Access
Using JavaServer Pages
Configuring Message Security for Web Services
Programmatic Security
The server.policy File
Using Servlets
Delegation
Configuring Message Security for Web Services
Specifying a Splash Screen
Using SSI
Generating a Stack Trace for Debugging
Stateful Container
Stateful Session Bean Failover
Stateful Session Bean Failover
Stateless Container
The Mapping Deployment Descriptor File
Connector Configuration
Using JDBC Transaction Isolation Levels
No Support for lock-when-loaded on Sybase