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

 

D

databases
clients, Benefits of Enterprise Beans
connections
Business Methods
Returning without Committing
data recovery, Transactions
EIS tier, Distributed Multitiered Applications
message-driven beans and, What Makes Message-Driven Beans Different from Session Beans?
multiple
JTA Transactions
Updating Multiple Databases
See also transactions
data encryption, Client Authentication
data integrity
Characteristics of Application Security
Transactions
What Is a Transaction?
DataSource interface, DataSource Objects and Connection Pools
data sources, DataSource Objects and Connection Pools
debugging, Java EE applications, Debugging Java EE Applications
declarative security
Overview of Java EE Security
Overview of Web Application Security
Securing Enterprise Beans
example, The cart-secure Example: Securing an Enterprise Bean with Declarative Security
decorators
CDI, Using Decorators in CDI Applications
example, The decorators Example: Decorating a Bean
DeliveryMode interface, Specifying Message Persistence
delivery modes, Specifying Message Persistence
JMSDeliveryMode message header field, Message Headers
Dependency Injection for Java (JSR 330)
Dependency Injection for Java (JSR 330)
Introduction to Contexts and Dependency Injection for the Java EE Platform
deployer roles, Application Deployer and Administrator
deployment, Running the converter Example
deployment descriptors
Packaging Applications
Overview of Java EE Security
Using Deployment Descriptors for Declarative Security
enterprise bean
Packaging Enterprise Beans in WAR Modules
Using Deployment Descriptors for Declarative Security
Securing Enterprise Beans
Securing Enterprise Beans
Java EE, Packaging Applications
runtime
Packaging Applications
Web Modules: The hello1 Example
security-role-mapping element, Mapping Roles to Users and Groups
security-role-ref element, Declaring and Linking Role References
web application
Web Applications
Web Modules: The hello1 Example
Basic Requirements of a JavaServer Faces Application
Using Deployment Descriptors for Declarative Security
Destination interface, JMS Destinations
destinations, JMS Destinations
creating
Administered Objects for the simplemessage Example
To Create JMS Resources Using NetBeans IDE
injecting resources
The simplemessage Application Client
JMS Destinations
JMSDestination message header field, Message Headers
See also queues, temporary destinations, topics
temporary
Creating Temporary Destinations
Coding the Application Client: HumanResourceClient.java
Coding the Application Client: MultiAppServerClient.java
destroy method, Finalizing a Servlet
development roles, Development Roles
application assemblers, Application Assembler
application client developers, Application Client Developer
application component providers, Application Component Provider
application deployers and administrators, Application Deployer and Administrator
enterprise bean developers, Enterprise Bean Developer
Java EE product providers, Java EE Product Provider
tool providers, Tool Provider
web component developers, Web Component Developer
digest authentication, Digest Authentication
digital signatures, Working with Digital Certificates
disposer methods, CDI, Using a Disposer Method
document roots, Web Modules: The hello1 Example
doFilter method
Programming Filters
Programming Filters
Specifying Filter Mappings
doGet method, Writing Service Methods
domains, Starting and Stopping the GlassFish Server
doPost method, Writing Service Methods
downloading, GlassFish Server, Java EE 6 Software Development Kit
DUPS_OK_ACKNOWLEDGE mode, Controlling Message Acknowledgment
durable subscriptions, Creating Durable Subscriptions
examples
A Durable Subscription Example
An Application That Uses the JMS API with a Session Bean

E

eager attribute, managed beans, Eager Application-Scoped Beans
EAR files, Packaging Applications
EIS tier, Enterprise Information System Tier
security, Securing Enterprise Information Systems Applications
EJB container, Container Types
container-managed transactions, Container-Managed Transactions
See also embedded enterprise bean container
message-driven beans, Using Message-Driven Beans to Receive Messages Asynchronously
onMessage method, invoking, The onMessage Method
services
Enterprise Beans
Benefits of Enterprise Beans
Securing Enterprise Beans
EJBContext interface
Rolling Back a Container-Managed Transaction
Methods Not Allowed in Container-Managed Transactions
Methods Not Allowed in Bean-Managed Transactions
EJB JAR files, The Contents of an Enterprise Bean
ejb-jar.xml file
Packaging Enterprise Beans in WAR Modules
Using Deployment Descriptors for Declarative Security
Securing Enterprise Beans
EL
Creating the Web Page
Expression Language
CDI managed beans, Giving Beans EL Names
composite expressions, Where Value Expressions Can Be Used
deferred evaluation expressions
Overview of the EL
Immediate and Deferred Evaluation Syntax
expression examples, Examples of EL Expressions
immediate evaluation expressions
Overview of the EL
Immediate and Deferred Evaluation Syntax
literal expressions
Where Value Expressions Can Be Used
Literal Expressions
literals, Referring to Object Properties Using Value Expressions
lvalue expressions
Overview of the EL
Value Expressions
managed beans, Using the EL to Reference Managed Beans
method-binding expressions, Navigation Model
method expressions
Overview of the EL
Method Expressions
operators, Operators
overview, Overview of the EL
parameterized method calls, Parameterized Method Calls
reserved words, Reserved Words
rvalue expressions
Overview of the EL
Value Expressions
tag attribute type, Defining a Tag Attribute Type
type conversion during expression evaluation, Where Value Expressions Can Be Used
value expressions
Overview of the EL
Value Expressions
embeddable classes, See persistence: embeddable classes
embedded enterprise bean container
creating, Creating the Enterprise Bean Container
developing applications, Developing Embeddable Enterprise Bean Applications
See also EJB container, enterprise beans
examples, The standalone Example Application
initializing enterprise bean modules, Explicitly Specifying Enterprise Bean Modules to be Initialized
overview, Overview of the Embedded Enterprise Bean Container
running applications, Running Embedded Applications
session bean references, Looking Up Session Bean References
shutting down, Shutting Down the Enterprise Bean Container
end-to-end security, Message-Layer Security
enterprise applications, Overview
securing, Getting Started Securing Enterprise Applications
enterprise beans
Business Components
Enterprise JavaBeans Technology
accessing, Accessing Enterprise Beans
See also business methods
classes, The Contents of an Enterprise Bean
compiling, Running the converter Example
contents, The Contents of an Enterprise Bean
converting to JAX-RS root resource classes, Integrating JAX-RS with EJB Technology and CDI
defined, What Is an Enterprise Bean?
dependency injection, Using Enterprise Beans in Clients
deployment, The Contents of an Enterprise Bean
distribution, Deciding on Remote or Local Access
See also embedded enterprise bean container
exceptions, Handling Exceptions
finding, Looking Up Session Bean References
getCallerPrincipal method, Accessing an Enterprise Bean Caller’s Security Context
implementor of business logic, Business Components
integrating with JAX-RS, Integrating JAX-RS with EJB Technology and CDI
interceptors, Using Java EE Interceptors
interfaces
Accessing Enterprise Beans
The Contents of an Enterprise Bean
isCallerInRole method, Accessing an Enterprise Bean Caller’s Security Context
See also Java EE components
JAX-RS resources, The rsvp Example Application
JNDI lookup, Using Enterprise Beans in Clients
lifecycles, The Lifecycles of Enterprise Beans
local access, Local Clients
local interfaces, Local Clients
See also message-driven beans
packaging
Packaging Enterprise Beans in EJB JAR Modules
Running the converter Example
performance, Deciding on Remote or Local Access
programmatic security, Accessing an Enterprise Bean Caller’s Security Context
remote access, Remote Clients
remote interfaces, Remote Clients
securing, Securing Enterprise Beans
See also session beans
singletons, Components of the rsvp Example Application
testing, The standalone Example Application
timer service, Using the Timer Service
types, Types of Enterprise Beans
web services
Types of Enterprise Beans
Web Service Clients
A Web Service Example: helloservice
Enterprise Information Systems, See EIS tier
entities
abstract, Abstract Entities
abstract schema names, Select Statements
application-managed entity managers, Application-Managed Entity Managers
cascading operations
Cascade Operations and Relationships
Orphan Removal in Relationships
collections, Collection Member Declarations
container-managed entity managers, Container-Managed Entity Managers
controlling caching, Controlling Whether Entities May Be Cached
creating, Creating Entities
discriminator columns, The Single Table per Class Hierarchy Strategy
entity manager, The EntityManager Interface
finding
Finding Entities Using the EntityManager
Finding Entities
inheritance
Entity Inheritance
Entity Inheritance in the roster Application
inheritance mapping, Entity Inheritance Mapping Strategies
lifecycle, Managing an Entity Instance’s Lifecycle
managing
Managing Entities
Managing the order Application’s Entities
mapping to multiple tables, Entity Mapped to More Than One Database Table
non-entity superclasses, Non-Entity Superclasses
overview, Entities
persistent fields, Persistent Fields and Properties in Entity Classes
persistent properties, Persistent Fields and Properties in Entity Classes
persisting, Persisting Entity Instances
primary keys, Primary Keys in Entities
querying, Querying Entities
relationships, Setting Entity Relationships
removing
Removing Entity Instances
Removing Entities
requirements, Requirements for Entity Classes
superclasses, Mapped Superclasses
synchronizing, Synchronizing Entity Data to the Database
validating, Validating Persistent Fields and Properties
entity data
lock modes, Lock Modes
optimistic locking
Overview of Entity Locking and Concurrency
Using Optimistic Locking
pessimistic locking
Overview of Entity Locking and Concurrency
Using Pessimistic Locking
entity providers, JAX-RS, Using Entity Providers to Map HTTP Response and Request Entity Bodies
entity relationships
bidirectional, Bidirectional Relationships
many-to-many
Multiplicity in Entity Relationships
The Many-To-Many Relationship in roster
many-to-one, Multiplicity in Entity Relationships
multiplicity, Multiplicity in Entity Relationships
one-to-many, Multiplicity in Entity Relationships
one-to-one, Multiplicity in Entity Relationships
query language, Queries and Relationship Direction
unidirectional, Unidirectional Relationships
equals method, Primary Keys in Entities
event and listener model
User Interface Component Model
Event and Listener Model
See also action events
binding listeners to managed bean properties, Binding Converters, Listeners, and Validators to Managed Bean Properties
Event class, Event and Listener Model
event handlers
Restore View Phase
Restore View Phase
Steps for Creating a Custom Component
event listeners
Apply Request Values Phase
Process Validations Phase
Update Model Values Phase
handling events of custom UI components, Handling Events for Custom Components
implementing event listeners, Implementing an Event Listener
Listener class, Event and Listener Model
listener class, Writing Managed Bean Methods
queueEvent method, Performing Decoding
ValueChangeEvent class, Referencing a Method That Handles a Value-Change Event
See also value-change events
events
CDI, Using Events in CDI Applications
example, The billpayment Example: Using Events and Interceptors
examples, Using the Tutorial Examples
Ajax, The ajaxguessnumber Example Application
asynchronous method invocation, session beans, The async Example Application
basic authentication, The hello2_basicauth Example: Basic Authentication with a Servlet
Bean Validation, The address-book Application
bookmarkable URLs, The bookmarks Example Application
building, Building the Examples
CDI
Running the Basic Contexts and Dependency Injection Examples
Running the Advanced Contexts and Dependency Injection Examples
classpath, To Build, Package, and Deploy the converter Example Using Ant
composite components, The compositecomponentlogin Example Application
connectors, The Resource Adapter Example
Criteria API, Criteria Queries in the roster Application
directory structure, Tutorial Example Directory Structure
Duke’s Bookstore case study, Duke’s Bookstore Case Study Example
Duke’s Forest case study, Duke’s Forest Case Study Example
Duke’s Tutoring case study, Duke’s Tutoring Case Study Example
embedded enterprise bean container, The standalone Example Application
file upload using servlets, The fileupload Example Application
interceptors, The interceptor Example Application
Java EE Connector architecture, The Resource Adapter Example
JAX-RS
Example Applications for JAX-RS
The customer Example Application
JAX-WS, Creating a Simple Web Service and Clients with JAX-WS
JMS asynchronous message consumption, A Simple Example of Asynchronous Message Consumption
JMS durable subscriptions, A Durable Subscription Example
JMS local transactions, A Local Transaction Example
JMS message acknowledgment, A Message Acknowledgment Example
JMS message-driven beans, A Message-Driven Bean Example
JMS on multiple systems
Running JMS Clients on Multiple Systems
An Application Example That Consumes Messages from a Remote Server
An Application Example That Deploys a Message-Driven Bean on Two Servers
JMS queue browsing, A Simple Example of Browsing Messages in a Queue
JMS synchronous message consumption, A Simple Example of Synchronous Message Receives
JMS with entities, An Application That Uses the JMS API with an Entity
JMS with session beans, An Application That Uses the JMS API with a Session Bean
message-driven beans, A Message-Driven Bean Example
persistence, Running the Persistence Examples
primary keys, Primary Keys in Entities
query language
Using Queries
Example Queries
required software, Required Software
resource adapters, The Resource Adapter Example
security
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
servlet, The mood Example Application
servlets
Configuring Web Applications: The hello2 Example
Creating the converter Web Client
session beans
Coding the Enterprise Bean Class
The cart Example
singleton session beans, A Singleton Session Bean Example: counter
timer service, The timersession Example
web clients, Creating the converter Web Client
web services, A Web Service Example: helloservice
exceptions
business methods, Business Methods
enterprise beans, Handling Exceptions
JMS, JMS Exception Handling
mapping to error screens, Mapping Errors to Error Screens
rolling back transactions
Handling Exceptions
Rolling Back a Container-Managed Transaction
transactions
Mandatory Attribute
Never Attribute
expiration of JMS messages, Allowing Messages to Expire
JMSExpiration message header field, Message Headers
Expression Language
See EL
expressions
lvalue expressions, Using the EL to Reference Managed Beans
tag attribute type, Defining a Tag Attribute Type