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.  Java Servlet Technology

5.  JavaServer Pages Technology

6.  JavaServer Pages Documents

7.  JavaServer Pages Standard Tag Library

8.  Custom Tags in JSP Pages

9.  Scripting in JSP Pages

10.  JavaServer Faces Technology

11.  Using JavaServer Faces Technology in JSP Pages

12.  Developing with JavaServer Faces Technology

13.  Creating Custom UI Components

14.  Configuring JavaServer Faces Applications

15.  Internationalizing and Localizing Web Applications

Part III Web Services

16.  Building Web Services with JAX-WS

17.  Binding between XML Schema and Java Classes

18.  Streaming API for XML

19.  SOAP with Attachments API for Java

Part IV Enterprise Beans

20.  Enterprise Beans

21.  Getting Started with Enterprise Beans

22.  Session Bean Examples

23.  A Message-Driven Bean Example

Part V Persistence

24.  Introduction to the Java Persistence API

25.  Persistence in the Web Tier

26.  Persistence in the EJB Tier

27.  The Java Persistence Query Language

Part VI Services

28.  Introduction to Security in the Java EE Platform

29.  Securing Java EE Applications

30.  Securing Web Applications

31.  The Java Message Service API

32.  Java EE Examples Using the JMS API

33.  Transactions

34.  Resource Connections

35.  Connector Architecture

Part VII Case Studies

36.  The Coffee Break Application

37.  The Duke's Bank Application

Part VIII Appendixes

A.  Java Encoding Schemes

B.  About the Authors

Index

 

J

J2EE Connector architecture, J2EE Connector Architecture
CCI, Common Client Interface
connection management contract, Outbound Contracts
life-cycle management contract, Life-Cycle Management
messaging contract, Messaging Contracts
resource adapters
See resource adapters
security management contract, Outbound Contracts
transaction management contract, Outbound Contracts
work management contract, Work Management Contract
JAAS
Java Authentication and Authorization Service
Java SE Security Implementation Mechanisms
Using Login Modules
login modules, Using Login Modules
JACC, Securing the Application Server
JAF, JavaBeans Activation Framework
JAR files
See also EJB JAR files
javaee.jar, Compiling and Packaging the converter Example Using Ant
query language, Identification Variables
JAR signatures, Java SE Security Implementation Mechanisms
Java API for XML Binding, See JAXB
Java API for XML Processing, See JAXP
Java API for XML Registries, See JAXR
Java API for XML Web Services, See JAX-WS
Java Architecture for XML Binding, See JAXB
Java Authentication and Authorization Service, Java SE Security Implementation Mechanisms
See JAAS
Java BluePrints, Tutorial Example Directory Structure
Java Cryptography Extension (JCE), Java SE Security Implementation Mechanisms
Java DB database, Tools
starting, Starting and Stopping the Java DB Database Server
stopping, Starting and Stopping the Java DB Database Server
Java EE 5 platform, APIs, Java EE 5 APIs
Java EE applications, Distributed Multitiered Applications
See also Duke’s Bank
debugging, Debugging Java EE Applications
deploying, Deploying the converter Java EE Application
iterative development, Modifying the Java EE Application
JMS examples
A Java EE Application That Uses the JMS API with a Session Bean
A Java EE Application That Uses the JMS API with an Entity
An Application Example That Consumes Messages from a Remote Server
An Application Example That Deploys a Message-Driven Bean on Two Servers
running on more than one system
An Application Example That Consumes Messages from a Remote Server
An Application Example That Deploys a Message-Driven Bean on Two Servers
tiers, Distributed Multitiered Applications
Java EE clients, Java EE Clients
application clients, Application Clients
See also application clients
web clients, Getting Started with Web Applications
See also web clients
web clients versus application clients, Java EE Server Communications
Java EE components, Java EE Components
sending email, The confirmer Example Application
types, Java EE Components
Java EE modules
Packaging Applications
Packaging Applications
application client modules, Packaging Applications
EJB modules
Packaging Applications
The Contents of an Enterprise Bean
resource adapter modules
Packaging Applications
About Resource Adapters
web modules
See web modules
Java EE platform, Distributed Multitiered Applications
JMS and, How Does the JMS API Work with the Java EE Platform?
Java EE security model, Container Services
Java EE servers, Container Types
Java EE transaction model, Container Services
Java Generic Security Services, Java SE Security Implementation Mechanisms
Java GSS-API, Java SE Security Implementation Mechanisms
Java Message Service (JMS) API
message-driven beans.
See message-driven beans
Java Naming and Directory Interface, See JNDI
Java Persistence API query language, See query language
Java Secure Sockets Extension, Java SE Security Implementation Mechanisms
Java Servlet technology, Java Servlet Technology
See also servlets
Java Transaction API, See JTA
Java type mapping, XmlAdapter Field Example
JavaBeans Activation Framework, See JAF
JavaBeans components
The JavaBeans Component Architecture
JavaBeans Components
creating in JSP pages, Creating and Using a JavaBeans Component
design conventions, JavaBeans Component Design Conventions
Duke’s Bank, Design Strategies
in WAR files, Web Modules
methods, JavaBeans Component Design Conventions
properties
JavaBeans Component Design Conventions
JavaBeans Component Design Conventions
retrieving in JSP pages, Retrieving JavaBeans Component Properties
setting in JSP pages, Setting JavaBeans Component Properties
using in JSP pages, Creating and Using a JavaBeans Component
JavaMail API, JavaMail API
JavaMail resources, See mail sessions
JavaServer Faces, JavaServer Faces
JavaServer Faces application development roles
application architects
custom converters, Creating a Custom Converter
error message registration, Creating a Custom Validator
navigation rules, Referencing a Method That Performs Navigation
registering custom UI components, Steps for Creating a Custom Component
responsibilities, Configuring JavaServer Faces Applications
application developers
Component Rendering Model
UIInput and UIOutput Properties
responsibilities, Developing with JavaServer Faces Technology
page authors, Creating a Custom Validator
ActionListener registration, Registering an Action Listener on a Component
component rendering model, Component Rendering Model
custom converters, Creating a Custom Converter
custom objects, Using Custom Objects
responsibilities, Using JavaServer Faces Technology in JSP Pages
JavaServer Faces core tag library, Setting Up a Page
action attribute, Using Command Components for Performing Actions and Navigation
actionListener tag
Using the Core Tags
Registering an Action Listener on a Component
When to Use a Custom Component
attribute tag
Using the Core Tags
Using the Core Tags
convertDateTime tag
Using the Core Tags
Using DateTimeConverter
convertDateTime tag attributes, Using DateTimeConverter
converter tag
Using the Core Tags
Converting a Component’s Value
Using Custom Objects
converterId attribute, Converting a Component’s Value
convertNumber tag
Using the Core Tags
Converting a Component’s Value
Using NumberConverter
convertNumber tag attributes, Using NumberConverter
facet tag
Using the Core Tags
Using the Core Tags
Using the Core Tags
Laying Out Components with the UIPanel Component
jsf_core TLD
Setting Up a Page
Using the Core Tags
loadBundle tag
Using the Core Tags
Using the Core Tags
param tag
Using the Core Tags
Using the Core Tags
Displaying a Formatted Message with the outputFormat Tag
Binding a Component Value to an Implicit Object
parseLocale attribute, Using DateTimeConverter
selectItem tag
Component Rendering Model
Using the Core Tags
Displaying a Menu Using the selectOneMenu Tag
Rendering Components for Selecting Multiple Values
selectitem tag
Using the Core Tags
The UISelectItem, UISelectItems, and UISelectItemGroup Components
selectItems tag
Component Rendering Model
Using the Core Tags
Displaying a Menu Using the selectOneMenu Tag
Rendering Components for Selecting Multiple Values
selectitems tag
Using the Core Tags
The UISelectItem, UISelectItems, and UISelectItemGroup Components
subview tag
Setting Up a Page
Using the Core Tags
Using the Core Tags
type attribute, Registering a Value-Change Listener on a Component
validateDoubleRange tag
Using the Core Tags
Using the Standard Validators
validateLength tag
Using the Core Tags
Using the Standard Validators
validateLongRange tag
Using the Core Tags
Using the Standard Validators
Using the LongRangeValidator
validator tag
Validation Model
Using the Core Tags
custom objects, Using Custom Objects
custom validator tags, Creating a Custom Tag
custom validators, Creating a Custom Validator
validator tags
See validator tags
valueChangeListener tag
Using the Core Tags
Registering a Value-Change Listener on a Component
verbatim tag
Using the Core Tags
Using the Core Tags
view tag
Setting Up a Page
Using the Core Tags
Using the Core Tags
Using the Core Tags
JavaServer Faces expression language
method-binding expressions
See method binding
method-binding expressions, Navigation Model
JavaServer Faces standard HTML render kit library, Registering a Custom Renderer with a Render Kit
JavaServer Faces standard HTML Render Kit library, html_basic TLD, Defining the Custom Component Tag in a Tag Library Descriptor
JavaServer Faces standard HTML render kit tag library
Component Rendering Model
Setting Up a Page
html_basic TLD, Setting Up a Page
UI component tags
See UI component tags
JavaServer Faces standard UI components
User Interface Component Classes
Creating Custom UI Components
UIColumn component, Adding Graphics and Images with the graphicImage Tag
UICommand component
Using Command Components for Performing Actions and Navigation
Using Command Components for Performing Actions and Navigation
Registering an Action Listener on a Component
UIComponent component, Creating a Custom Converter
UIData component
Adding Graphics and Images with the graphicImage Tag
UIData Properties
UIForm component, Adding a Form Component
UIGraphic component, Adding Graphics and Images with the graphicImage Tag
UIInput component
Using Text Components
Using Text Components
Rendering a Text Field with the inputText Tag
UIData Properties
UIOutput component
Using the Core Tags
The value and binding Attributes
Using Text Components
Using Text Components
UIPanel component, Laying Out Components with the UIPanel Component
UISelectBoolean component, UISelectBoolean Properties
UISelectItem component
UISelectMany Properties
UISelectItem Properties
UISelectItems component
The UISelectItem, UISelectItems, and UISelectItemGroup Components
UISelectMany Properties
UISelectItems Properties
UISelectMany component
Using the Core Tags
The UISelectItem, UISelectItems, and UISelectItemGroup Components
The UISelectItem, UISelectItems, and UISelectItemGroup Components
UISelectMany Properties
UISelectOne component
Using the Core Tags
The UISelectItem, UISelectItems, and UISelectItemGroup Components
The UISelectItem, UISelectItems, and UISelectItemGroup Components
UISelectOne properties, UISelectOne Properties
UIViewRoot component, Understanding the Image Map Example
JavaServer Faces tag libraries
JavaServer Faces core tag library, Using the Core Tags
See JavaServer Faces core tag library
JavaServer Faces standard HTML render kit tag library
See JavaServer Faces standard HTML render kit tag library
taglib directives
Setting Up a Page
Using Custom Objects
JavaServer Faces technology
Unified Expression Language
JavaServer Faces Technology
advantages of, JavaServer Faces Technology Benefits
component rendering model
See component rendering model
configuring applications
See configuring JavaServer Faces applications
conversion model
See conversion model
event and listener model
See event and listener model
FacesContext class
The Life Cycle of a JavaServer Faces Page
Using a Custom Component
Creating a Message with a Message Factory
apply request values phase, Apply Request Values Phase
custom converters, Creating a Custom Converter
image maps, Understanding the Image Map Example
performing encoding, Performing Encoding
process validations phase, Process Validations Phase
update model values phase, Update Model Values Phase
Validator interface
Implementing the Validator Interface
Writing a Method to Perform Validation
FacesServlet class, Identifying the Servlet for Life Cycle Processing
jsf-api.jar file, Including the Required JAR Files
jsf-impl.jar file, Including the Required JAR Files
lifecycle
See lifecycle of a JavaServer Faces page
UI component behavioral interfaces
UI component behavioral interfaces, User Interface Component Classes
UI component classes
See UI component classes
UI component tags
See UI component tags
UI components
See JavaServer Faces standard UI components
validation model
See validation model
JavaServer Pages (JSP) technology, JavaServer Pages Technology
See also JSP pages
JavaServer Pages Standard Tag Library
See JSTL
JavaServer Pages technology, JavaServer Pages Technology
See also JSP pages
javax.activation.DataHandler class
Creating an AttachmentPart Object and Adding Content
Creating an AttachmentPart Object and Adding Content
javax.servlet.http package, What Is a Servlet?
javax.servlet.jsp.tagext package
Programming Simple Tag Handlers
Tag Handlers
Tag Handlers
javax.servlet package, What Is a Servlet?
javax.xml.bind.annotations package, Java-to-Schema
javax.xml.namespace.QName class, Adding Content to the Body
javax.xml.soap package, SOAP with Attachments API for Java
javax.xml.transform.Source interface, Adding Content to the SOAPPart Object
JAX-WS, Java API for XML Web Services (JAX-WS)
defined, Building Web Services with JAX-WS
service endpoint interfaces, Creating a Simple Web Service and Client with JAX-WS
specification, Further Information about JAX-WS
JAXB
Java Architecture for XML Binding (JAXB)
Binding between XML Schema and Java Classes
binding process, The JAXB Binding Process
customization, Customizing Generated Classes and Java Program Elements
Java-to-schema, Java-to-Schema
overview, Customization Overview
schema-to-Java, Schema-to-Java
examples
base files, JAXB Examples
Create Marshal, Create Marshal Example
Customize Inline, Customize Inline Example
customizing bindings, Customizing JAXB Bindings
Datatype Converter, Datatype Converter Example
External Customize, External Customize Example
Java-to-schema, Java-to-Schema Examples
Modify Marshal, Modify Marshal Example
overview, JAXB Examples
schema-derived JAXB classes, Schema-Derived JAXB Classes
Unmarshal Validate, Unmarshal Validate Example
XmlAccessorOrder, XmlAccessorOrder Example
XmlAdapter Field, XmlAdapter Field Example
XmlAttribute Field, XmlAttribute Field Example
XmlRootElement, XmlRootElement Example
XmlSchemaType Class, XmlSchemaType Class Example
XmlType, XmlType Example
processing model, JAXB Architecture
schema compiler, Architectural Overview
schema generator
Architectural Overview
JAXB Schema Generator Option
version 2.0 features, Binding between XML Schema and Java Classes
XJC compiler, JAXB Compiler Options
JAXB data reading and writing, with XmlAdapter interface, XmlAdapter Field Example
JAXB data type special processing, using the @XmlJavaTypeAdapter annotation, XmlAdapter Field Example
JAXBElement objects, JAXBElement Object
JAXM specification, SOAP with Attachments API for Java
JAXP, Java API for XML Processing
JAXR, Java API for XML Registries
JCE, Java SE Security Implementation Mechanisms
JDBC API
Java Database Connectivity API
DataSource Objects and Connection Pools
JMS
achieving reliability and performance, Creating Robust JMS Applications
architecture, JMS API Architecture
basic concepts, Basic JMS API Concepts
client applications, Writing Simple JMS Client Applications
definition, What Is the JMS API?
introduction, Overview of the JMS API
Java EE examples
A Message-Driven Bean Example
Java EE Examples Using the JMS API
A Java EE Application That Uses the JMS API with a Session Bean
A Java EE Application That Uses the JMS API with an Entity
An Application Example That Consumes Messages from a Remote Server
An Application Example That Deploys a Message-Driven Bean on Two Servers
Java EE platform
How Does the JMS API Work with the Java EE Platform?
Using the JMS API in a Java EE Application
messaging domains, Messaging Domains
programming model, The JMS API Programming Model
JMS API, Java Message Service API
JMS API., See Java Message Service (JMS) API
JMSCorrelationID message header field, Message Headers
JMSDeliveryMode message header field, Message Headers
JMSDestination message header field, Message Headers
JMSException class, JMS Exception Handling
JMSExpiration message header field, Message Headers
JMSMessageID message header field, Message Headers
JMSPriority message header field, Message Headers
JMSRedelivered message header field, Message Headers
JMSReplyTo message header field, Message Headers
JMSTimestamp message header field, Message Headers
JMSType message header field, Message Headers
JNDI
Java Naming and Directory Interface
Resources and JNDI Naming
data source naming subcontexts, Java Naming and Directory Interface
enterprise bean naming subcontexts, Java Naming and Directory Interface
environment naming contexts, Java Naming and Directory Interface
jms naming subcontext, JMS Connection Factories
namespace for JMS administered objects, JMS Administered Objects
naming and directory services, Java Naming and Directory Interface
naming contexts, Java Naming and Directory Interface
naming environments, Java Naming and Directory Interface
naming subcontexts, Java Naming and Directory Interface
jsp:attribute element
jsp:attribute Element
jsp:attribute Element
jsp:body element, jsp:body Element
jsp:declaration element, Creating Static and Dynamic Content
JSP declarations, JSP Declarations
jsp:directive.include element, Including Directives in a JSP Document
jsp:directive.page element, Including Directives in a JSP Document
jsp:doBody element, Evaluating Fragments Passed to Tag Files
JSP documents, JavaServer Pages Documents
alternative syntax for EL operators, Creating Static and Dynamic Content
creating dynamic content, Creating Static and Dynamic Content
creating static content, Creating Static and Dynamic Content
preserving white space, Creating Static and Dynamic Content
declaring namespaces, Declaring Tag Libraries
declaring tag libraries, Declaring Tag Libraries
generating a DTD, Generating a Document Type Declaration
generating tags, Creating Static and Dynamic Content
generating XML declarations, Generating XML Declarations
identifying to the web container, Identifying the JSP Document to the Container
including directives, Including Directives in a JSP Document
including JSP pages in standard syntax, Including Directives in a JSP Document
scoping namespaces, Declaring Tag Libraries
scripting elements, Creating Static and Dynamic Content
validating, Using the jsp:output Element
jsp:element element, Creating Static and Dynamic Content
jsp:expression element, Creating Static and Dynamic Content
JSP expression language
functions
using, Using Functions
JSP expressions, JSP Expressions
jsp:fallback element, Including an Applet
jsp:forward element, Transferring Control to Another Web Component
JSP fragments, Fragment Attributes
jsp:getProperty element, Retrieving JavaBeans Component Properties
jsp:include element, Reusing Content in JSP Pages
jsp:invoke element, Evaluating Fragments Passed to Tag Files
jsp:output element, Using the jsp:output Element
JSP pages, What Is a JSP Page?
compilation errors, Translation and Compilation
compilation into servlets, The Life Cycle of a JSP Page
compiling, Compiling the converter Web Client
controlling translation and execution, Translation and Compilation
converting to JSP documents, Creating a JSP Document
creating and using objects, Using Application-Specific Objects
creating dynamic content, Creating Dynamic Content
creating static content, Creating Static Content
deactivating EL expression, Deactivating EL Expression Evaluation
declarations
See JSP declarations
default mode for EL expression evaluation, Deactivating EL Expression Evaluation
defining preludes and codas, Defining Implicit Includes
disabling scripting, Disabling Scripting
Duke’s Bank, Web Client
error pages
forwarding to, Handling JSP Page Errors
precedence over web application error page, Handling JSP Page Errors
specifying, Handling JSP Page Errors
examples, Creating the converter Web Client
Duke’s Bookstore
The Example JSP Pages
The Example JSP Pages
The Example JSP Pages
Hello application, Web Application Life Cycle
execution, Execution
expressions
See JSP expressions
finalizing, Initializing and Finalizing a JSP Page
forwarding to other web components, Transferring Control to Another Web Component
implicit objects, Using Implicit Objects
importing classes and packages, Using Scripting
importing tag libraries, Declaring Tag Libraries
including applets or JavaBeans components, Including an Applet
including JSP documents, Including Directives in a JSP Document
initial response encoding, Response Encoding
initializing, Initializing and Finalizing a JSP Page
JavaBeans components
creating, Creating and Using a JavaBeans Component
from constants, Setting JavaBeans Component Properties
from request parameters, Setting JavaBeans Component Properties
from runtime expressions, Setting JavaBeans Component Properties
retrieving properties, Retrieving JavaBeans Component Properties
setting properties
Setting JavaBeans Component Properties
Setting JavaBeans Component Properties
Setting JavaBeans Component Properties
Setting JavaBeans Component Properties
using, Creating and Using a JavaBeans Component
life cycle, The Life Cycle of a JSP Page
page directives
Execution
Handling JSP Page Errors
page encoding, Page Encoding
preludes and codas, Reusing Content in JSP Pages
reusing other web resources, Reusing Content in JSP Pages
scripting elements
See JSP scripting elements
scriptlets
See JSP scriptlets
setting buffer size, Buffering
setting page encoding, Response and Page Encoding
setting page encoding for group of, Declaring Page Encodings
setting properties for groups of, Setting Properties for Groups of JSP Pages
setting response encoding, Response and Page Encoding
setting the request encoding, Request Encoding
shared objects, Using Shared Objects
specifying scripting language, Using Scripting
standard syntax, What Is a JSP Page?
transitioning to JSP documents, JavaServer Pages Documents
translation, The Life Cycle of a JSP Page
enforcing constraints for custom tag attributes, Attribute Validation
translation errors, Translation and Compilation
translation of page components, Translation and Compilation
URLs for running, Running the converter Web Client
using custom tags, Using Custom Tags
XML syntax, What Is a JSP Page?
jsp:param element
jsp:param Element
Including an Applet
jsp:plugin element, Including an Applet
JSP property groups, Setting Properties for Groups of JSP Pages
jsp:root element, Using the jsp:root Element
JSP scripting elements, Scripting in JSP Pages
creating and using objects in, Scripting in JSP Pages
example, The Example JSP Pages
jsp:scriptlet element, Creating Static and Dynamic Content
JSP scriptlets, JSP Scriptlets
jsp:setProperty element, Setting JavaBeans Component Properties
JSP template, Duke’s Bank, Design Strategies
jsp:text element, Creating Static and Dynamic Content
JspContext interface
Programming Simple Tag Handlers
Tag Handlers
jspDestroy method, Initializing and Finalizing a JSP Page
jspInit method, Initializing and Finalizing a JSP Page
JSSE, Java SE Security Implementation Mechanisms
JSTL
JavaServer Pages Standard Tag Library
JavaServer Pages Standard Tag Library
core tags, Core Tag Library
catch tag, Miscellaneous Tags
choose tag, Conditional Tags
conditional, Conditional Tags
flow control, Flow Control Tags in the Core Tag Library
forEach tag, Iterator Tags
if tag, Conditional Tags
import tag, URL Tags
otherwise tag, Conditional Tags
out tag, Miscellaneous Tags
param tag, URL Tags
redirect tag, URL Tags
remove tag, Variable Support Tags
set tag, Variable Support Tags
url tag, URL Tags
variable support, Variable Support Tags
when tag, Conditional Tags
functions, JSTL Functions
length function, JSTL Functions
internationalization tags, Internationalization Tag Library
bundle tag, The setBundle and bundle Tags
formatDate tag, Formatting Tags
formatNumber tag, Formatting Tags
localization context, Internationalization Tag Library
message tag, The message Tag
outputting localized strings, The message Tag
param tag, The message Tag
parseDate tag, Formatting Tags
parseNumber tag, Formatting Tags
parsing and formatting, Formatting Tags
requestEncoding tag, Setting the Locale
setBundle tag, The setBundle and bundle Tags
setLocale tag, Setting the Locale
SQL tags, SQL Tag Library
query tag, SQL Tag Library
setDataSource tag, SQL Tag Library
update tag, SQL Tag Library
XML tags, XML Tag Library
core, Core Tags
flow control, XML Flow Control Tags
forEach tag, XML Flow Control Tags
out tag, Core Tags
param tag, Transformation Tags
parse tag, Core Tags
set tag, Core Tags
transform tag, Transformation Tags
transformation, Transformation Tags
JTA, Java Transaction API
See also transactions, JTA
JTS API, JTA Transactions