Document Information

Preface

Part I Introduction

1.  Overview

2.  Using the Tutorial Examples

Part II The Web Tier

3.  Getting Started with Web Applications

4.  JavaServer Faces Technology

5.  Introduction to Facelets

6.  Expression Language

7.  Using JavaServer Faces Technology in Web Pages

8.  Using Converters, Listeners, and Validators

9.  Developing with JavaServer Faces Technology

10.  JavaServer Faces Technology: Advanced Concepts

11.  Using Ajax with JavaServer Faces Technology

12.  Composite Components: Advanced Topics and Example

13.  Creating Custom UI Components and Other Custom Objects

14.  Configuring JavaServer Faces Applications

15.  Java Servlet Technology

16.  Uploading Files with Java Servlet Technology

17.  Internationalizing and Localizing Web Applications

Part III Web Services

18.  Introduction to Web Services

19.  Building Web Services with JAX-WS

20.  Building RESTful Web Services with JAX-RS

21.  JAX-RS: Advanced Topics and Example

Part IV Enterprise Beans

22.  Enterprise Beans

23.  Getting Started with Enterprise Beans

24.  Running the Enterprise Bean Examples

25.  A Message-Driven Bean Example

26.  Using the Embedded Enterprise Bean Container

27.  Using Asynchronous Method Invocation in Session Beans

Part V Contexts and Dependency Injection for the Java EE Platform

28.  Introduction to Contexts and Dependency Injection for the Java EE Platform

29.  Running the Basic Contexts and Dependency Injection Examples

30.  Contexts and Dependency Injection for the Java EE Platform: Advanced Topics

31.  Running the Advanced Contexts and Dependency Injection Examples

Part VI Persistence

32.  Introduction to the Java Persistence API

33.  Running the Persistence Examples

34.  The Java Persistence Query Language

35.  Using the Criteria API to Create Queries

36.  Creating and Using String-Based Criteria Queries

37.  Controlling Concurrent Access to Entity Data with Locking

38.  Using a Second-Level Cache with Java Persistence API Applications

Part VII Security

39.  Introduction to Security in the Java EE Platform

40.  Getting Started Securing Web Applications

41.  Getting Started Securing Enterprise Applications

42.  Java EE Security: Advanced Topics

Part VIII Java EE Supporting Technologies

43.  Introduction to Java EE Supporting Technologies

44.  Transactions

45.  Resources and Resource Adapters

46.  The Resource Adapter Example

47.  Java Message Service Concepts

48.  Java Message Service Examples

49.  Bean Validation: Advanced Topics

50.  Using Java EE Interceptors

Part IX Case Studies

51.  Duke's Bookstore Case Study Example

52.  Duke's Tutoring Case Study Example

53.  Duke's Forest Case Study Example

 

Index

Numbers and Symbols

@AccessTimeout annotation, Managing Concurrent Access in a Singleton Session Bean
@Alternative annotation, Using Alternatives in CDI Applications
@ApplicationScoped annotation
Introduction to Scopes
Using Managed Bean Scopes
Using Scopes
@AroundInvoke annotation, Overview of Interceptors
@AroundTimeout annotation, Overview of Interceptors
@Asynchronous annotation, Creating an Asynchronous Business Method
@ConcurrencyManagement annotation, Managing Concurrent Access in a Singleton Session Bean
@Consumes annotation
Developing RESTful Web Services with JAX-RS
The @Consumes Annotation
@Context annotation, Annotations for Field and Bean Properties of Resource Classes
@ConversationScoped annotation, Using Scopes
@CookieParam annotation, Annotations for Field and Bean Properties of Resource Classes
@CustomScoped annotation, Using Managed Bean Scopes
@DeclareRoles annotation
Specifying Authorized Users by Declaring Security Roles
Specifying Authorized Users by Declaring Security Roles
Annotating the Bean
@Decorator annotation, Using Decorators in CDI Applications
@Delegate annotation, Using Decorators in CDI Applications
@DELETE annotation
Developing RESTful Web Services with JAX-RS
The Request Method Designator Annotations
@DenyAll annotation, Specifying Authorized Users by Declaring Security Roles
@Dependent annotation, Using Scopes
@DependsOn annotation, Initializing Singleton Session Beans
@DiscriminatorColumn annotation, The Single Table per Class Hierarchy Strategy
@DiscriminatorValue annotation, The Single Table per Class Hierarchy Strategy
@Disposes annotation, Using a Disposer Method
@Embeddable annotation, Embeddable Classes in Entities
@EmbeddedId annotation, Primary Keys in Entities
@Entity annotation, Requirements for Entity Classes
@FormParam annotation
Annotations for Field and Bean Properties of Resource Classes
Extracting Form Data
@GET annotation
Developing RESTful Web Services with JAX-RS
The Request Method Designator Annotations
@GroupSequence annotation, Customizing Group Validation Order
@HEAD annotation, Developing RESTful Web Services with JAX-RS
@HeaderParam annotation, Annotations for Field and Bean Properties of Resource Classes
@HttpConstraint annotation
Specifying Security Constraints
Specifying Security for Basic Authentication Using Annotations
@HttpMethodConstraint annotation
Specifying Security Constraints
Specifying Security for Basic Authentication Using Annotations
@Id annotation, Primary Keys in Entities
@IdClass annotation, Primary Keys in Entities
@Inject annotation, Injecting Beans
@Local annotation
Deciding on Remote or Local Access
The Business Interface
@Lock annotation, Managing Concurrent Access in a Singleton Session Bean
@ManagedBean annotation
Developing the Managed Bean
Developing a Managed Bean
Using Annotations to Configure Managed Beans
@ManyToMany annotation
Multiplicity in Entity Relationships
Bidirectional Relationships
@ManyToOne annotation, Multiplicity in Entity Relationships
@MatrixParam annotation, Annotations for Field and Bean Properties of Resource Classes
@MessageDriven annotation, Coding the Message-Driven Bean: MessageBean.java
@MultipartConfig annotation, The @MultipartConfig Annotation
@Named annotation, Giving Beans EL Names
@NamedQuery annotation, Creating Queries Using the Java Persistence Query Language
@NoneScoped annotation, Using Managed Bean Scopes
@Observes annotation, Using Observer Methods to Handle Events
@OneToMany annotation
Multiplicity in Entity Relationships
Bidirectional Relationships
Cascade Operations and Relationships
@OneToOne annotation
Multiplicity in Entity Relationships
Bidirectional Relationships
Cascade Operations and Relationships
@Path annotation
Developing RESTful Web Services with JAX-RS
The @Path Annotation and URI Path Templates
@PathParam annotation
Developing RESTful Web Services with JAX-RS
Extracting Request Parameters
Annotations for Field and Bean Properties of Resource Classes
Extracting Path Parameters
@PermitAll annotation, Specifying Authorized Users by Declaring Security Roles
@PersistenceContext annotation, Container-Managed Entity Managers
@PersistenceUnit annotation, Application-Managed Entity Managers
@PostActivate annotation
Session Bean Class
Lifecycle Callback Methods
@POST annotation
Developing RESTful Web Services with JAX-RS
The Request Method Designator Annotations
@PostConstruct annotation
The Lifecycles of Enterprise Beans
Session Bean Class
Lifecycle Callback Methods
Overview of Interceptors
session beans using JMS, Coding the Publisher Session Bean
@PreDestroy annotation
The Lifecycles of Enterprise Beans
Session Bean Class
Lifecycle Callback Methods
Overview of Interceptors
session beans using JMS, Coding the Publisher Session Bean
@PrePassivate annotation
Session Bean Class
Lifecycle Callback Methods
@Produces annotation
Developing RESTful Web Services with JAX-RS
The @Produces Annotation
Injecting Objects by Using Producer Methods
Using Producer Methods, Producer Fields, and Disposer Methods in CDI Applications
@Provider annotation, Developing RESTful Web Services with JAX-RS
@PUT annotation
Developing RESTful Web Services with JAX-RS
The Request Method Designator Annotations
@Qualifier annotation, Using Qualifiers
@QueryParam annotation
Developing RESTful Web Services with JAX-RS
Extracting Request Parameters
Annotations for Field and Bean Properties of Resource Classes
Extracting Query Parameters
@Remote annotation
Deciding on Remote or Local Access
The Business Interface
@Remove annotation
The Lifecycle of a Stateful Session Bean
Session Bean Class
The @Remove Method
@RequestScoped annotation
Introduction to Scopes
Using Managed Bean Scopes
Using Scopes
@Resource annotation, Resource Injection
JMS resources
The simplemessage Application Client
JMS Connection Factories
JMS Destinations
@ResourceDependency annotation, Using the @ResourceDependency Annotation in a Bean Class
@RolesAllowed annotation
Specifying Authorized Users by Declaring Security Roles
Annotating the Bean
@RunAs annotation, Propagating a Security Identity (Run-As)
@Schedule and @Schedules annotations, Automatic Timers
@ServletSecurity annotation
Specifying Security Constraints
Specifying Security for Basic Authentication Using Annotations
@SessionScoped annotation
Introduction to Scopes
Using Managed Bean Scopes
Using Scopes
@Singleton annotation, Creating a Singleton Session Bean
@Startup annotation, Initializing Singleton Session Beans
@Stateful annotation, Session Bean Class
@Timeout annotation, Programmatic Timers
@Timeout method
The @Timeout Method
Canceling and Saving Timers
@Transient annotation, Persistent Properties
@ViewScoped annotation, Using Managed Bean Scopes
@WebFilter annotation, Programming Filters
@WebInitParam annotation
Creating and Initializing a Servlet
Programming Filters
@WebListener annotation, Defining the Listener Class
@WebMethod annotation, Business Methods
@WebService annotation, Creating a Simple Web Service and Clients with JAX-WS
@WebServiceRef annotation, Declaring a Reference to a Web Service
@WebServlet annotation
Mapping URLs to Web Components
Creating and Initializing a Servlet

A

abstract schemas
Query Language Terminology
Query Language Terminology
access control, Characteristics of Application Security
acknowledge method, Controlling Message Acknowledgment
acknowledging messages, See message acknowledgment
action events
Rendering a Hyperlink with the h:commandLink Tag
Event and Listener Model
Navigation Model
Implementing an Event Listener
ActionEvent class
Implementing an Event Listener
Implementing Action Listeners
actionListener attribute
Using Command Component Tags for Performing Actions and Navigation
Referencing a Managed Bean Method
Referencing a Method That Handles an Action Event
Understanding the Facelets Page
ActionListener implementation
Implementing an Event Listener
Implementing Action Listeners
ActionListener interface, Registering an Action Listener on a Component
actionListener tag
Using Core Tags
Registering an Action Listener on a Component
f:actionListener tag, When to Use a Custom Component
processAction(ActionEvent) method, Implementing Action Listeners
referencing methods that handle action events
Referencing a Method That Handles an Action Event
Writing a Method to Handle an Action Event
writing a managed bean method to handle action events, Writing a Method to Handle an Action Event
action method, Navigation Model
administered objects
JMS API Architecture
JMS Administered Objects
See also connection factories, destinations
creating and removing, JMS Administered Objects for the Synchronous Receive Example
Administration Console, GlassFish Server Tools
starting, Starting the Administration Console
afterBegin method, Synchronizing a Session Bean’s Instance Variables
afterCompletion method, Synchronizing a Session Bean’s Instance Variables
Ajax
error handling, Handling Errors
event attribute of f:ajax tag, Using the event Attribute
example, The ajaxguessnumber Example Application
execute attribute of f:ajax tag, Using the execute Attribute
grouping components, Grouping of Components
immediate attribute of f:ajax tag, Using the immediate Attribute
listener attribute of f:ajax tag, Using the listener Attribute
loading JavaScript resource library, Loading JavaScript as a Resource
monitoring events, Monitoring Events on the Client
onerror attribute of f:ajax tag, Handling Errors
onevent attribute of f:ajax tag, Monitoring Events on the Client
overview, Overview of Ajax
receiving responses, Receiving an Ajax Response
render attribute of f:ajax tag, Receiving an Ajax Response
request lifecycle, Ajax Request Lifecycle
sending requests, Sending an Ajax Request
using JavaScript API directly, Using JavaScript API in a Facelets Application
using with Facelets, Using Ajax with Facelets
using with JavaServer Faces technology, Using Ajax with JavaServer Faces Technology
alternatives
CDI, Using Alternatives in CDI Applications
example, The encoder Example: Using Alternatives
annotations, Overview
interceptor metadata, Overview of Interceptors
JAX-RS
Creating a RESTful Root Resource Class
Annotations for Field and Bean Properties of Resource Classes
security
Using Annotations to Specify Security Information
Specifying Security for Basic Authentication Using Annotations
Securing Enterprise Beans
Specifying Authorized Users by Declaring Security Roles
Ant tool, Apache Ant
appclient tool, GlassFish Server Tools
applet container, Container Types
applets
Applets
Web Components
application client container, Container Types
application clients, Application Clients
securing, Securing Application Clients
application clients, JMS
building
To Build and Package the Clients for the Synchronous Receive Example Using NetBeans IDE
To Build and Package the Clients for the Synchronous Receive Example Using Ant
To Build and Package the AsynchConsumer Client Using NetBeans IDE
examples
The simplemessage Application Client
Writing Simple JMS Applications
packaging, To Build and Package the AsynchConsumer Client Using Ant
running
To Deploy and Run the Clients for the Synchronous Receive Example Using NetBeans IDE
To Deploy and Run the Clients for the Synchronous Receive Example Using Ant and the appclient Command
To Deploy and Run the Clients for the Asynchronous Receive Example Using NetBeans IDE
To Deploy and Run the Clients for the Asynchronous Receive Example Using Ant and the appclient Command
running on multiple systems, Running JMS Clients on Multiple Systems
applications
JavaServer Faces, What Is a JavaServer Faces Application?
security, Application-Layer Security
undeploying, Undeploying Web Modules
asadmin tool, GlassFish Server Tools
asynchronous message consumption, Message Consumption
JMS client example, A Simple Example of Asynchronous Message Consumption
See also message-driven beans
asynchronous method invocation
calling asynchronous business methods, Calling Asynchronous Methods from Enterprise Bean Clients
cancelling, Cancelling an Asynchronous Method Invocation
checking status, Checking the Status of an Asynchronous Method Invocation
creating asynchronous business methods, Creating an Asynchronous Business Method
example, The async Example Application
java.util.concurrent.Future<V> interface, Asynchronous Method Invocation
retrieving results, Retrieving the Final Result from an Asynchronous Method Invocation
session beans, Using Asynchronous Method Invocation in Session Beans
attributes referencing managed bean methods, Referencing a Managed Bean Method
action attribute
Referencing a Managed Bean Method
Referencing a Method That Performs Navigation
actionListener attribute
Referencing a Managed Bean Method
Referencing a Method That Handles an Action Event
validator attribute
Referencing a Managed Bean Method
Referencing a Method That Performs Validation
valueChangeListener attribute
Referencing a Managed Bean Method
Referencing a Method That Handles a Value-Change Event
auditing, Characteristics of Application Security
audit modules, pluggable, Securing the GlassFish Server
auth-constraint element, Specifying an Authorization Constraint
authenticate method, Authenticating Users Programmatically
authenticating users
Specifying Authentication Mechanisms
Specifying an Authentication Mechanism in the Deployment Descriptor
authentication
Characteristics of Application Security
Establishing a Secure Connection Using SSL
basic, HTTP Basic Authentication
basic with EJB, Specifying an Authentication Mechanism and Secure Connection
certificate-based mutual, Mutual Authentication
client
Client Authentication
Enabling Mutual Authentication over SSL
digest, Digest Authentication
form-based
Form-Based Authentication
The hello1_formauth Example: Form-Based Authentication with a JavaServer Faces Application
mutual
Mutual Authentication
Enabling Mutual Authentication over SSL
user name/password-based mutual, Mutual Authentication
authorization, Characteristics of Application Security
authorization constraints
Specifying Security Constraints
Specifying an Authorization Constraint
authorization providers, pluggable, Securing the GlassFish Server
AUTO_ACKNOWLEDGE mode, Controlling Message Acknowledgment
auto commit, Java Transaction API