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

 

R

realms
What Are Realms, Users, Groups, and Roles?
What Is a Realm?
admin-realm, What Is a Realm?
certificate
What Is a Realm?
Adding Users to the Certificate Realm
configuring, Securing the GlassFish Server
file, What Is a Realm?
recover method, Controlling Message Acknowledgment
redelivery of messages
Controlling Message Acknowledgment
Controlling Message Acknowledgment
JMSRedelivered message header field, Message Headers
referencing managed bean methods, Referencing a Managed Bean Method
for handling action events
Referencing a Method That Handles an Action Event
Writing a Method to Handle an Action Event
for handling value-change events, Referencing a Method That Handles a Value-Change Event
for performing navigation
Referencing a Method That Performs Navigation
Writing a Method to Handle Navigation
for performing validation
Referencing a Method That Performs Validation
Writing a Method to Perform Validation
registering custom converters, Registering a Custom Converter
converter element, Registering a Custom Converter
registering custom renderers, Registering a Custom Renderer with a Render Kit
renderer element, Registering a Custom Renderer with a Render Kit
render-kit element
Registering a Custom Renderer with a Render Kit
Registering a Custom Renderer with a Render Kit
registering custom UI components
Steps for Creating a Custom Component
Registering a Custom Component
component element, Registering a Custom Component
registering custom validators, Registering a Custom Validator
validator element, Registering a Custom Validator
registering messages, Registering Application Messages
resource-bundle element, Registering Application Messages
relationship fields, query language, Query Language Terminology
relationships
direction, Direction in Entity Relationships
unidirectional, Unidirectional Relationships
reliability, JMS
advanced mechanisms, Using Advanced Reliability Mechanisms
basic mechanisms, Using Basic Reliability Mechanisms
durable subscriptions, Creating Durable Subscriptions
local transactions, Using JMS API Local Transactions
message acknowledgment, Controlling Message Acknowledgment
message expiration, Allowing Messages to Expire
message persistence, Specifying Message Persistence
message priority levels, Setting Message Priority Levels
temporary destinations, Creating Temporary Destinations
remote interfaces, Remote Clients
Remote Method Invocation (RMI), and messaging, What Is Messaging?
RequestDispatcher interface, Invoking Other Web Resources
request headers, JAX-RS, Annotations for Field and Bean Properties of Resource Classes
request method designators
JAX-RS
Creating a RESTful Root Resource Class
The Request Method Designator Annotations
Request objects, JAX-RS, Runtime Content Negotiation
request parameters, extracting, Extracting Request Parameters
request/reply mechanism
JMSCorrelationID message header field, Message Headers
JMSReplyTo message header field, Message Headers
temporary destinations and, Creating Temporary Destinations
requests, Getting Information from Requests
customizing, Programming Customized Requests and Responses
getting information from, Getting Information from Requests
See also HTTP requests
retrieving a locale, Establishing the Locale
Required transaction attribute, Managing Distributed Transactions
resource adapters
Java EE Connector Architecture
The Java EE Connector Architecture and Resource Adapters
Resource Adapters and Contracts
example, The Resource Adapter Example
metadata annotations, Metadata Annotations
security, Configuring Resource Adapter Security
resource bundles, Java Platform Localization Classes
Bean Validation, The ValidationMessages Resource Bundle
resource classes, JAX-RS, Creating a RESTful Root Resource Class
resource injection, Resource Injection
resource methods, JAX-RS, Creating a RESTful Root Resource Class
resources
Resources in Java EE Applications
Resources and Resource Adapters
See also data sources
JMS, Managing JMS Resources in Session Beans
ResponseBuilder class, Using Entity Providers to Map HTTP Response and Request Entity Bodies
responses, Constructing Responses
buffering output, Constructing Responses
customizing, Programming Customized Requests and Responses
See also HTTP responses
setting headers, Writing Service Methods
RESTful web services
Java API for RESTful Web Services
Building RESTful Web Services with JAX-RS
defined, What Are RESTful Web Services?
roles, What Is a Role?
application, Mapping Roles to Users and Groups
declaring, Declaring Security Roles
mapping to groups, Mapping Roles to Users and Groups
mapping to users, Mapping Roles to Users and Groups
referencing, Specifying Authorized Users by Declaring Security Roles
security
Setting Up Security Roles
Declaring Security Roles
Securing an Enterprise Bean Using Declarative Security
Specifying Authorized Users by Declaring Security Roles
rollback method
Methods Not Allowed in Container-Managed Transactions
JTA Transactions
Methods Not Allowed in Bean-Managed Transactions
rollback method (JMS), Using JMS API Local Transactions
rollbacks, See transactions, rollbacks
root resource classes, Creating a RESTful Root Resource Class
run-as identity, Propagating a Security Identity (Run-As)

S

SAAJ, SOAP with Attachments API for Java
SASL, Java SE Security Mechanisms
schema, deployment descriptors, Using Deployment Descriptors for Declarative Security
schemagen, JAXB, Using Java Objects to Model Your Data
schemagen tool, GlassFish Server Tools
scopes
servlets, Using Scope Objects
using in CDI, Using Scopes
using in JavaServer Faces technology, Using Managed Bean Scopes
secure connections, Establishing a Secure Connection Using SSL
Secure Sockets Layer (SSL), Establishing a Secure Connection Using SSL
security
annotations
Using Annotations to Specify Security Information
Specifying Security for Basic Authentication Using Annotations
Securing Enterprise Beans
application
Characteristics of Application Security
Application-Layer Security
application clients, Securing Application Clients
callback handlers
Securing Application Clients
Using Login Modules
component-managed sign-on, Component-Managed Sign-On
constraints, Specifying Security Constraints
container-managed sign-on, Container-Managed Sign-On
containers
Overview of Java EE Security
Securing Containers
container trust, Trust between Containers
context for enterprise beans, Accessing an Enterprise Bean Caller’s Security Context
declarative
Overview of Java EE Security
Using Deployment Descriptors for Declarative Security
Overview of Web Application Security
Securing Enterprise Beans
deploying enterprise beans, Deploying Secure Enterprise Beans
EIS applications, Securing Enterprise Information Systems Applications
end-to-end, Message-Layer Security
enterprise applications, Getting Started Securing Enterprise Applications
enterprise beans, Securing Enterprise Beans
examples
The hello1_formauth Example: Form-Based Authentication with a JavaServer Faces Application
The cart-secure Example: Securing an Enterprise Bean with Declarative Security
The converter-secure Example: Securing an Enterprise Bean with Programmatic Security
groups, What Is a Group?
introduction, Introduction to Security in the Java EE Platform
JAAS login modules, Using Login Modules
Java SE, Java SE Security Mechanisms
login forms, Securing Application Clients
login modules, Using Login Modules
mechanism features, Features of a Security Mechanism
mechanisms
Security Mechanisms
Java EE Security Mechanisms
message, Overview of Web Application Security
message-layer, Message-Layer Security
method permissions
Securing an Enterprise Bean Using Declarative Security
Specifying Authorized Users by Declaring Security Roles
overview, Overview of Java EE Security
policy domain, Some Other Terminology
programmatic
Overview of Java EE Security
Using Programmatic Security
Overview of Web Application Security
Using Programmatic Security with Web Applications
Securing Enterprise Beans
programmatic login, Using Programmatic Login
propagating identity, Propagating a Security Identity (Run-As)
realms, What Is a Realm?
resource adapters, Configuring Resource Adapter Security
role names
Declaring Security Roles
Specifying Authorized Users by Declaring Security Roles
roles
What Is a Role?
Setting Up Security Roles
Declaring Security Roles
Securing an Enterprise Bean Using Declarative Security
run-as identity, Propagating a Security Identity (Run-As)
simple walkthrough, A Simple Application Security Walkthrough
transport-layer
Transport-Layer Security
Establishing a Secure Connection Using SSL
users, What Is a User?
web applications, Getting Started Securing Web Applications
web components, Getting Started Securing Web Applications
security constraints, Specifying Security Constraints
multiple, Specifying Security Constraints for Resources
security domain, Some Other Terminology
security identity
propagating, Propagating a Security Identity (Run-As)
specific identity, Propagating a Security Identity (Run-As)
security-role-mapping element, Mapping Roles to Users and Groups
security-role-ref element, Declaring and Linking Role References
security role references, Declaring and Linking Role References
security roles
Setting Up Security Roles
Securing an Enterprise Bean Using Declarative Security
send method, JMS Message Producers
server authentication, Client Authentication
server certificates, Working with Digital Certificates
server log, Using the Server Log
servers, Java EE
deploying on more than one
An Application Example That Consumes Messages from a Remote Server
An Application Example That Deploys a Message-Driven Bean on Two Servers
running JMS clients on more than one, Running JMS Clients on Multiple Systems
service methods, servlets, Writing Service Methods
ServletContext interface, Accessing the Web Context
ServletInputStream class, Getting Information from Requests
Servlet interface, What Is a Servlet?
ServletOutputStream class, Constructing Responses
ServletRequest interface, Getting Information from Requests
ServletResponse interface, Constructing Responses
servlets
Web Components
What Is a Servlet?
binary data
Getting Information from Requests
Constructing Responses
character data
Getting Information from Requests
Constructing Responses
compiling, Running the converter Example
creating, Creating and Initializing a Servlet
examples
Configuring Web Applications: The hello2 Example
The mood Example Application
Creating the converter Web Client
finalizing, Finalizing a Servlet
initializing, Creating and Initializing a Servlet
lifecycle, Servlet Lifecycle
lifecycle events, Handling Servlet Lifecycle Events
packaging, Running the converter Example
scope objects, Using Scope Objects
service methods
Writing Service Methods
Notifying Methods to Shut Down
Creating Polite Long-Running Methods
specifying initialization parameters, Creating and Initializing a Servlet
tracking service requests, Tracking Service Requests
uploading files with, Uploading Files with Java Servlet Technology
session beans
Enterprise JavaBeans Technology
What Is a Session Bean?
activation, The Lifecycle of a Stateful Session Bean
See also asynchronous method invocation
bean-managed concurrency
Managing Concurrent Access in a Singleton Session Bean
Managing Concurrent Access in a Singleton Session Bean
business interfaces, Accessing Enterprise Beans
clients, What Is a Session Bean?
concurrent access, Managing Concurrent Access in a Singleton Session Bean
container-managed concurrency
Managing Concurrent Access in a Singleton Session Bean
Managing Concurrent Access in a Singleton Session Bean
databases, Synchronizing a Session Bean’s Instance Variables
eager initialization, Initializing Singleton Session Beans
examples
Coding the Enterprise Bean Class
The cart Example
A Singleton Session Bean Example: counter
A Web Service Example: helloservice
An Application That Uses the JMS API with a Session Bean
handling errors, Handling Errors in a Singleton Session Bean
no-interface views, Accessing Enterprise Beans
passivation, The Lifecycle of a Stateful Session Bean
requirements, Session Bean Class
singleton
Singleton Session Beans
A Singleton Session Bean Example: counter
stateful
Stateful Session Beans
When to Use Session Beans
stateless
Stateless Session Beans
When to Use Session Beans
transactions
Container-Managed Transactions
Synchronizing a Session Bean’s Instance Variables
Bean-Managed Transactions
web services
Web Service Clients
Stateless Session Bean Implementation Class
Session interface, JMS Sessions
sessions, Maintaining Client State
associating attributes, Associating Objects with a Session
associating with user, Session Tracking
invalidating, Session Management
notifying objects associated with, Associating Objects with a Session
sessions, JMS, JMS Sessions
managing in enterprise bean applications, Managing JMS Resources in Session Beans
SessionSynchronization interface, Synchronizing a Session Bean’s Instance Variables
setRollbackOnly method
Rolling Back a Container-Managed Transaction
Synchronizing a Session Bean’s Instance Variables
Methods Not Allowed in Bean-Managed Transactions
Managing Distributed Transactions
sign-on
component-managed
Securing Enterprise Information Systems Applications
Component-Managed Sign-On
container-managed
Securing Enterprise Information Systems Applications
Container-Managed Sign-On
Simple Authentication and Security Layer (SASL), Java SE Security Mechanisms
SingleThreadModel interface, Controlling Concurrent Access to Shared Resources
SOAP
Types of Web Services
Building Web Services with JAX-WS
Building Web Services with JAX-WS
Further Information about JAX-WS
SOAP messages
SOAP Transport Protocol
SOAP with Attachments API for Java
securing, Message-Layer Security
SOAP with Attachments API for Java (SAAJ), SOAP with Attachments API for Java
specialization, CDI, Using Specialization
SQL
Java Database Connectivity API
Queries That Navigate to Related Entities
Identifiers
Path Expressions
SQL92, NULL Values
SSL
Transport-Layer Security
Establishing a Secure Connection Using SSL
Specifying a Secure Connection
Client Authentication
connectors, GlassFish Server, Verifying and Configuring SSL Support
handshake, Establishing a Secure Connection Using SSL
verifying support, Verifying and Configuring SSL Support
standard converters, Conversion Model
converter tags, Converting a Component’s Value
NumberConverter class, Using the Standard Converters
using, Using the Standard Converters
standard validators, Validation Model
using, Using the Standard Validators
state fields, query language, Query Language Terminology
stereotypes, CDI, Using Stereotypes in CDI Applications
StreamMessage interface, Message Bodies
string-based criteria queries, Creating and Using String-Based Criteria Queries
subresources, JAX-RS, Subresources and Runtime Resource Resolution
subscription names, for durable subscribers, Creating Durable Subscriptions
substitution parameters, defining, See messages, param tag
synchronous message consumption, Message Consumption
JMS client example, A Simple Example of Synchronous Message Receives