Index

A

abstract base Action class, Struts Action Classes
Accept, HTTP request header field, The HTTP Request
Accept-Charset, HTTP request header field, The HTTP Request
Accept-Encoding, HTTP request header field, The HTTP Request
Accept-Language, HTTP request header field, The HTTP Request
action attribute, form tag (HTML tag library), The action attribute
Action class, The Struts ActionServlet, The Action Class, The ActionForward class
abstract base, Struts Action Classes
business logic, and, Business Logic and the Action Class
execute( ) method, Struts Action Classes, The Action Class
how to best implement, Struts Action Classes
modifications to the, Modifications to the Struts Action Class
multithreaded, Creating Multithreaded Action Classes
part of the controller or model, The Struts ActionServlet
perform( ) method, The Action Class
security in, Security in the Action Classes
action element, The action-mappings element
action forms, dynamic, The form-beans element
action forwards, Determining the Next View
action mappings, Mapping the Actions
action package, The Struts Component Packages
action-mappings element, The action-mappings element
ActionErrors class, Using ActionErrors, Creating ActionErrors in the Action Class
putting ActionErrors into the request using the LoginAction class, Creating ActionErrors in the Action Class
ActionForm class
across multiple pages, Using ActionForms Across Multiple Pages
ActionForms explained, What Are ActionForms?, Using ActionForms Across Multiple Pages
and DTOs, difference between, Using the Struts ActionForm
business tier, being passed to, What Are ActionForms?
checkboxes, and, The checkbox Tag
creating an ActionForm, Creating an ActionForm
declaring in Struts configuration file, Declaring ActionForms in the Struts Configuration File
declaring properties as strings, Declaring ActionForm Properties as Strings
how the framework processes an ActionForm, Using the Struts ActionForm
overview, What Are ActionForms?
problems with, Using the DynaActionForm Class
reset( ) method, Using the Struts ActionForm, The reset( ) method
scope, and, ActionForms and Scope
using an ActionForm in an Action, Using an ActionForm in an Action
validation, and, The Need for a Validation Framework
Validator, using with, Using an ActionForm with the Validator, Using an ActionForm with the Validator
ActionForward class, Determining the Next View, The global-forwards element, The ActionForward class
ActionMapping class, The action-mappings element
findForward( ) method, The ActionForward class
path attribute, Mapping the Actions
ActionMessage class, The ActionMessage Class
actions package, Using the Prebuilt Struts Actions, The org.apache.struts.actions.SwitchAction class
defined, The Struts Component Packages
DispatchAction class, The org.apache.struts.actions.DispatchAction class
ForwardAction class, The org.apache.struts.actions.ForwardAction class
IncludeAction class, The org.apache.struts.actions.IncludeAction class
LookupDispatchAction class, The org.apache.struts.actions.LookupDispatchAction class
SwitchAction class, The org.apache.struts.actions.SwitchAction class
ActionServlet class, Struts Controller Components, Struts Action Classes, The Struts ActionServlet
(see also controller)
doGet( ) method, The ActionServlet Class
doPost( ) method, The ActionServlet Class
extending, Extending the ActionServlet class, Extending the ActionServlet Class
initialization of (diagram), Struts initialization process
mapping, Mapping the Struts ActionServlet
process( ) method, The ActionServlet Class
RequestProcessor class, and, ActionServlet and RequestProcessor
add tag, custom tag (Tiles tag library), The add Tag
Ant
building Struts applications with, Building Your Struts Applications with Ant, Cleaning Up
cleaning up, Cleaning Up
compiling Java source files, Compiling Java Source Files
defined, What Is Ant?
documentation, Using Ant to Build the WAR File
installing and configuring, Installing and Configuring Ant
using to build the WAR file, Using Ant to Build the WAR File
Apache Software Foundation (ASF), Introduction
APIs, What Are Java Servlets?
Commons Logging package, Using the Commons Logging API
Java 1.4 logging API, Java 1.4 Logging API
OJB (ObJectRelationalBridge)
ODMG, The Storefront Persistence Framework
PersistenceBroker, The Storefront Persistence Framework
Struts framework, Struts HTML Tags
appenders, log4j, Configuring log4j Appenders
AppException class, Exception Handling Provided by Struts
application exceptions, System Versus Application Exceptions
application tier (middle tier), The Middle Tier
application-scope shared resource, Mapping requests to servlets
ApplicationConfig class, The ApplicationConfig Class
ApplicationContainer class, The UserContainer and ApplicationContainer Classes
applications, An Architecture Overview
(see also Struts, applications)
characteristics of applications supporting internationalization, What Is Internationalization?
deciding how to package Struts applications, Deciding How to Package Your Application, Packaging EJB Resources with Struts
legacy, The Middle Tier
lifecycle listener classes, The Web Application Deployment Descriptor
modules, Configuring Multiple Application Modules
multiple, Using Multiple Application Modules
scope, Application Scope
testing, Addressing Performance, Using Too Many Graphics
two-tier or multitiered distributed, Struts Model Components
web (see web applications)
architectural tiers, An Architecture Overview
(see also client tier; middle tier; web tier; EIS tier)
relationship between, Inside the Web Tier , Which Is Best for Struts?
roles, Inside the Web Tier , Which Is Best for Struts?
ASF (Apache Software Foundation), Introduction
Astra LoadTest, Testing the Storefront Application
authentication
encapsulating, Struts Model Components
example, A Banking Account Example, A Banking Account Example, The Business Delegate and DAO Patterns in Action
automated build environment, creating, Creating an Automated Build Environment

B

banking application (example), A Banking Account Example, Using Message Resource Bundles
configuration file, Determining the Next View
IAuthentication interface, A Banking Account Example, A Banking Account Example
InvalidLoginException, Struts Action Classes
LoginAction class, Struts Action Classes, Mapping the Actions
authentication, Struts Model Components
LoginForm class, Using the Struts ActionForm
resource bundles, Using Message Resource Bundles
SecurityService class, A Banking Account Example, Struts Model Components
UserView class, A Banking Account Example, Struts Model Components
Barracuda, Barracuda
base Action class, Extending the Base Action Class
base tag, custom tag (HTML tag library), The base Tag
BaseBusinessObject class, Creating the Storefront Business Objects
Bates, Arron, Nested Tags, Nested Tags Site
Bean tag library, Using Custom Tag Libraries, Bean Tags, The write Tag
custom tags
define tag, The define Tag
header tag, The header Tag
include tag, The include Tag
message tag, The message Tag
parameter tag, The parameter Tag
resource tag, The resource Tag
write tag, The write Tag
resource bundles, and, The Bean tag library’s MessageTag class
BeanUtils
class, The Commons BeanUtils Package
package, The Commons BeanUtils Package
Bluestone, What Are Java Servlets?
body-content section of the template file, What Is a Template?
Borland Enterprise Server, What Are Java Servlets?
build.properties file, Building Struts from the Source Distribution
build.xml file, Getting Started
building Struts
applications with Ant, Building Your Struts Applications with Ant
automated build environment, Creating an Automated Build Environment
directory structure for the storefront application, Getting Started
from the binary distribution, Installing the Binary Distribution, Installing the Binary Distribution
from the source distribution, Building Struts from the Source Distribution, Building Struts from the Source Distribution
prerequisite software packages, Building Struts from the Source Distribution
business delegate
caching an instance in the session, What about the remote references?
for the storefront session bean, Using a Business Delegate, Swapping the implementation
swapping the current storefront service implementation with, Swapping the implementation
using a EJBHomeFactory in, Using an EJBHomeFactory in a business delegate
Business Delegate pattern, Object-to-Relational Mapping Frameworks, The Business Delegate and DAO Patterns in Action, Conclusion
business interface, storefront application (example), The Business Delegate and DAO Patterns in Action, The Business Interface, The Business Interface
RemoteException in, Exception handling
business logic
Action class, and, Business Logic and the Action Class
validation, Using the Struts ActionForm
business objects, What Is a Business Object?, The Importance of Business Objects
creating the storefront application business objects, Creating the Storefront Business Objects, Creating the Storefront Business Objects
defined, What Is a Business Object?
entity BOs, Requirements for Business Objects
event BOs, Requirements for Business Objects
importance of, The Importance of Business Objects
mapping business objects
database tables, to, The Storefront Persistence Framework
database, to, Mapping the Business Objects to the Database
order BOs, What Is a Business Object?
persisting, Persisting Business Objects
process BOs, Requirements for Business Objects
separating from presentation, Struts Model Components
business tier, passing the ActionForm to, What Are ActionForms?
business validation in Struts applications, Creating the Storefront Business Objects
button tag, custom tag (HTML tag library), The button and cancel Tags

C

call stack, The Method Invocation Stack
cancel tag, custom tag (HTML tag library), The button and cancel Tags
Castor, Object-to-Relational Mapping Frameworks
center layout, Using a Layout Tile
CERN, A Brief History of the Web
CGI (Common Gateway Interface), limitations of applications, A Brief History of the Web
chained exceptions, Using Chained Exceptions, Dealing with Multiple Exceptions
character sets, setting, Setting the Character Set
character-encoding scheme, Setting the Character Set
checkbox tag, custom tag (HTML tag library), The checkbox Tag
checkboxes and ActionForm beans, The checkbox Tag
checked and unchecked exceptions, Checked and Unchecked Exceptions
checkout form (example), Using an ActionForm with the Validator
checkout.jsp file, The org.apache.struts.actions.LookupDispatchAction class
child elements
action element, of, The action-mappings element
multiplicity symbols of child elements within a DTD, Web Application Deployment Descriptor DTD
order of, Web Application Deployment Descriptor DTD
class diagrams, The design model
class loader, The Web Application Directory Structure
classes
Action, The Action Class, The ActionForward class
abstract base, Struts Action Classes
business logic, and, Business Logic and the Action Class
execute( ) method, Struts Action Classes, The Action Class
how to best implement, Struts Action Classes
modifications to, Modifications to the Struts Action Class
multithreaded, Creating Multithreaded Action Classes
part of the controller or model, The Struts ActionServlet
perform( ) method, The Action Class
security in, Security in the Action Classes
ActionErrors, Using ActionErrors, Creating ActionErrors in the Action Class
putting ActionErrors into the request using the LoginAction class, Creating ActionErrors in the Action Class
ActionForm
ActionForms explained, What Are ActionForms?, Using ActionForms Across Multiple Pages
and DTOs, difference between, Using the Struts ActionForm
business tier, being passed to, What Are ActionForms?
checkboxes, and, The checkbox Tag
creating an ActionForm, Creating an ActionForm
declaring in Struts configuration file, Declaring ActionForms in the Struts Configuration File
declaring properties as strings, Declaring ActionForm Properties as Strings
how the framework processes an ActionForm, Using the Struts ActionForm
multiple pages, using ActionForms across, Using ActionForms Across Multiple Pages
overview, What Are ActionForms?
problems with, Using the DynaActionForm Class
reset( ) method, Using the Struts ActionForm, The reset( ) method
scope, and, ActionForms and Scope
using an ActionForm in an Action, Using an ActionForm in an Action
validation, and, The Need for a Validation Framework
Validator, using with, Using an ActionForm with the Validator, Using an ActionForm with the Validator
ActionForward, Determining the Next View, The global-forwards element, The ActionForward class
ActionMapping, The action-mappings element
findForward( ) method, The ActionForward class
path attribute, Mapping the Actions
ActionMessage, The ActionMessage Class
ActionServlet, Struts Controller Components, Struts Action Classes, The Struts ActionServlet
(see also controller)
doGet( ) method, The ActionServlet Class
doPost( ) method, The ActionServlet Class
extending, Extending the ActionServlet class, Extending the ActionServlet Class
initialization of (diagram), Struts initialization process
mapping, Mapping the Struts ActionServlet
process( ) method, The ActionServlet Class
RequestProcessor class, and, ActionServlet and RequestProcessor
AppException, Exception Handling Provided by Struts
ApplicationConfig, The ApplicationConfig Class
base Action, Extending the Base Action Class
BeanUtils, The Commons BeanUtils Package
ConfigRuleSet, The org.apache.struts.config Package
ControllerConfig, The controller element
DataSource, The data-sources element
DispatchAction, Struts Action Classes
defined, The org.apache.struts.actions.DispatchAction class
example of shopping-cart functionality, The org.apache.struts.actions.DispatchAction class, The org.apache.struts.actions.DispatchAction class
DynaActionForm, Using the Struts ActionForm, The form-beans element, Using the DynaActionForm Class, Performing Validation with the DynaActionForm
configuring, Configuring Dynamic ActionForms
form tag, and, The form Tag
performing validation with, Performing Validation with the DynaActionForm
DynaValidatorActionForm, The validation.xml file, Using an ActionForm with the Validator
DynaValidatorForm, Using an ActionForm with the Validator
EJBHomeFactory, Managing EJB Home and Remote References, What about the remote references?
getInstance( ) method, Implementing an EJBHomeFactory
implementation (example), Implementing an EJBHomeFactory
Exception, Checked and Unchecked Exceptions
ExceptionHandler, Declarative Versus Programmatic Exception Handling
Filter, Creating the filter class
ForwardAction, The org.apache.struts.actions.ForwardAction class
ForwardConfig, The global-forwards element
GenericDataSource, The data-sources element
deprecation of, Deprecation of the GenericDataSource
GenericValidator, The validation-rules.xml file
helper, The Struts ActionServlet
HttpServlet, The Struts ActionServlet
HttpSession, Session Scope
application events and listener interfaces, Using Event Listeners
IncludeAction, The org.apache.struts.actions.IncludeAction class
InvocationHandler, Using Dynamic Proxies
Java exception, Configuring Error Handling in web.xml
JNDIConnectorPlugin, Using the PlugIn Mechanism
Locale
getLocale( ) method, Determining the user’s locale
internationalization, and, The Locale Class, Determining the user’s locale
Log, Using the Commons Logging API
LogFactory, Using the Commons Logging API
Loggers, What Are Loggers?
LoginAction
storefront application (example), The Action Class
using the ServletContext to log messages (example), Using the Servlet Container for Logging
LookupDispatchAction, The org.apache.struts.actions.LookupDispatchAction class, The org.apache.struts.actions.LookupDispatchAction class
MessageFormat and internationalization, The MessageFormat Class, The MessageFormat Class
MessageResources, Using Message Resource Bundles, Using Message Resource Bundles
internationalization, and, Java Resource Bundles
MessageTag, Using Message Resource Bundles
PropertyMessageResources, Java Resource Bundles
PropertyResourceBundle, Creating a Struts resource bundle
PropertyUtils, The Commons BeanUtils Package
RequestProcessor, The Struts ActionServlet, Extending the ActionServlet class, The RequestProcessor Class, Extending the RequestProcessor class
(see also controller)
ActionServlet class, and, ActionServlet and RequestProcessor
extending, Extending the RequestProcessor class, Extending the RequestProcessor class, Extending the RequestProcessor Class, Using the processPreprocess( ) method
process( ) method, The RequestProcessor Class, The RequestProcessor Class
processActionPerform( ) method, The Action Class
processException( ) method, Declarative Versus Programmatic Exception Handling
processLocale( ) method, Extending the RequestProcessor class
processPreprocess( ) method, Using the processPreprocess( ) method
validate( ) method, The validate( ) method
RequestUtils, The RequestUtils Class
selectApplication( ) method, The ActionServlet Class
ResourceBundle, Using Message Resource Bundles
internationalization, and, Java Resource Bundles
ResponseUtils, The ResponseUtils Class
RuntimeException, Checked and Unchecked Exceptions
ServletContext, Application Scope, Mapping requests to servlets, Using Event Listeners, Creating the event listener class
application events and listener interfaces, Using Event Listeners
LoginAction using the ServletContext to log messages (example), Using the Servlet Container for Logging
methods used for logging messages, Using the Servlet Container for Logging
ServletContextListener, Creating the event listener class
SessionBean, Stateless Session Bean Implementation, Stateless Session Bean Implementation
StrutsValidator, The validation-rules.xml file
SwitchAction, The org.apache.struts.actions.SwitchAction class
Throwable, Java Exceptions
UserView, The Action Class
utility, The Utilities Classes, The Commons Collection Package
ValidatorActionForm, The validation.xml file, Using an ActionForm with the Validator
ValidatorForm, Using an ActionForm with the Validator
ValidatorPlugIn, Plugging In the Validator, Using the Validator Outside of Struts, Using the Validator Outside of Struts
classes subdirectory (WEB-INF), The Web Application Directory Structure
classes, custom
ApplicationContainer, The UserContainer and ApplicationContainer Classes
banking application (example)
IAuthentication interface, A Banking Account Example, A Banking Account Example
LoginAction, Struts Action Classes, Mapping the Actions, Struts Model Components
LoginForm, Using the Struts ActionForm
SecurityService, Struts Model Components
UserView, Struts Model Components
CustomizedRequestProcessor, Extending the RequestProcessor class
DBConnectionPoolListener, Creating the event listener class
LoggingFilter, Creating the filter class, Declaring the filter in the deployment descriptor
LoggingListener, Creating the event listener class
storefront application (example)
BaseBusinessObject, Creating the Storefront Business Objects
IAuthentication, The Business Delegate and DAO Patterns in Action
IStorefrontService, The Business Delegate and DAO Patterns in Action, The Business Delegate and DAO Patterns in Action
LoginAction class, The Business Delegate and DAO Patterns in Action
LoginForm, Creating an ActionForm
OrderBO, Creating the Storefront Business Objects, Creating the Storefront Business Objects
ProcessCheckoutAction, The org.apache.struts.actions.LookupDispatchAction class
ShoppingCartActions class, The org.apache.struts.actions.DispatchAction class
StorefrontBaseAction, The Business Delegate and DAO Patterns in Action, Extending the Base Action Class, Using Programmatic Exception Handling, Using Programmatic Exception Handling
StorefrontEJBDelegate, Using a Business Delegate
StorefrontServiceFactory, The Business Delegate and DAO Patterns in Action, Using Dynamic Proxies
StorefrontServiceImpl, The Business Delegate and DAO Patterns in Action, The Business Delegate and DAO Patterns in Action
UserContainer, The Action Class
example, The UserContainer and ApplicationContainer Classes, The UserContainer and ApplicationContainer Classes
extending model components, The UserContainer and ApplicationContainer Classes, The UserContainer and ApplicationContainer Classes
classic layout, Using a Layout Tile
classpath and resource bundles, The resource bundle and the classpath
client tier, The Client Tier
CocoBase, The MVC Model, Object-to-Relational Mapping Frameworks
Cocoon, Cocoon
collection utilities, Collection Utilities
collocation, Struts Model Components
columns layout, Using a Layout Tile
Common Gateway Interface (see CGI)
Commons Collection package, The Commons Collection Package
Commons Logging package, Jakarta Commons Logging, Struts Framework and the Commons Logging Package
installing, Installing the Commons Logging Package
logging in JSP pages, Using Commons Logging in JSP Pages, Using Commons Logging in JSP Pages
Struts framework, and, Struts Framework and the Commons Logging Package
supported logging implementations, Jakarta Commons Logging
using the API, Using the Commons Logging API
commons-logging.properties file, Installing the Commons Logging Package
compiling Java source files in Ant, Compiling Java Source Files
component packages, The Struts Component Packages
components
types with web applications, Elements of a Web Application
view, Struts View Components, Using Message Resource Bundles, Struts View Components, What Does JSF Have to Do with Struts?
Components library, Overview of Tiles
compound messages, The MessageFormat Class
conceptual model, The conceptual model
confidential information and query strings, Using a Redirect
config initialization parameters
defined, Declaring the Initialization Parameters
multiple, Specifying Multiple Application Modules
config package, The org.apache.struts.config Package, Specifying a DOCTYPE Element
defined, The Struts Component Packages
config/sub1 initialization parameter, Declaring the Initialization Parameters
ConfigRuleSet class, The org.apache.struts.config Package
configuration classes, extending, Extending the Struts Configuration Classes
configuration files, Configuring Struts Applications, The Struts Configuration File
adding additional, Using Multiple Application Modules
adding plug-ins to, Adding the plug-in to the configuration file
complete example, A Complete struts-config.xml File, A Complete struts-config.xml File
configuring a data source, The data-sources element
declaring ActionForms, Declaring ActionForms in the Struts Configuration File
declaring tiles definitions in, Declaring Definitions in a Configuration File
example that uses declarative exception handling, Declarative Versus Programmatic Exception Handling
form beans section, Using the Struts ActionForm
log4j, Initializing using the log4j.properties file, Initializing using an XML file
multiple, Multiple Application Support, Configuring Multiple Application Modules
reloading, Reloading the Configuration Files
containers, What Are Java Servlets?
(see also servlet containers)
defined, An Architecture Overview
web applications deployed in, Mapping requests to servlets
Content-Encoding, HTTP request header field, The HTTP Request
Content-Type, HTTP request header field, The HTTP Request
context path, Mapping requests to servlets
controller
components, Struts Controller Components, Determining the Next View, Struts Controller Components, Security in the Action Classes
(see also MVC)
extension points, Controller Extension Points, Extending the Base Action Class
responsibilities, The Controller Mechanism
servlet (see ActionServlet class)
controller element, The controller element
ControllerConfig class, The controller element
convertHack initialization parameter, Declaring the Initialization Parameters
core tags, JSTL, JSTL Core Tags
country code, The Locale Class
createService( ) method, StorefrontServiceFactory class, Using Dynamic Proxies
custom actions (see custom tags)
custom initialization, Extending the ActionServlet class
custom tags, Configuring the Tag Libraries, JSP Custom Tag Libraries
(see also tag libraries)
Bean tag library
define tag, The define Tag
header tag, The header Tag
include tag, The include Tag
message tag, The message Tag
parameter tag, The parameter Tag
resource tag, The resource Tag
write tag, The write Tag
exceptions, Exceptions in Custom Tags
extending, Extending Struts Custom Tags
HTML tag library, Struts HTML Tags, HTML Navigation Attributes
base tag, The base Tag
button tag, The button and cancel Tags
cancel tag, The button and cancel Tags
checkbox tag, The checkbox Tag
errors tag, The messages and errors Tags
form tag, The form Tag, Using Multiple form Tags
html tag, The html Tag
messages tag, The messages and errors Tags
JavaBeans, in, Using JavaBeans with Struts Tags
JavascriptValidator, Configuring the validation-rules.xml file for JavaScript, Configuring the validation-rules.xml file for JavaScript
JSTL, JSTL Core Tags
Logic tag library, Logic Tags, Messages and Errors
forward tag, Redirecting and Forwarding
iterate tag, Collection Utilities
messagesNotPresent tag, Messages and Errors
messagesPresent tag, Messages and Errors
redirect tag, Redirecting and Forwarding
substring-matching tags, Substring Matching
value-comparison tags, Value Comparison
overview, Custom Tags Overview, Advantages of using custom tags
Tiles tag library
add tag, The add Tag
definition tag, The definition Tag
get tag, The get Tag
getAsString tag, The getAsString Tag
importAttribute tag, The importAttribute Tag
initComponentDefinitions tag, The initComponentDefinitions Tag
insert tag, The insert Tag
put tag, The put Tag
putList tag, The putList Tag
useAttribute tag, The useAttribute Tag
using too many, Using Too Many Custom Tags
Validator framework, and, Configuring the validation-rules.xml file for JavaScript
view components, as, JSP custom tags
CustomizedRequestProcessor class, Extending the RequestProcessor class
customizing (see extending)

D

DAO (Data Access Object) pattern, Object-to-Relational Mapping Frameworks, The Business Delegate and DAO Patterns in Action, Conclusion
data model, storefront application (example), The Storefront Data Model, The Storefront Data Model
data persistence, Persisting Business Objects
data source
alternative implementations, The data-sources element
configuring within a Struts configuration file, The data-sources element
data transfer objects (see DTOs)
data-source element, The data-sources element
data-sources element, The data-sources element
Database Connection Pool (DBCP), The data-sources element
database tables, mapping business objects to, The Storefront Persistence Framework
DataSource connection factory, Stateless Session Bean Implementation
DataSource interface, The data-sources element
DBConnectionPoolListener class, Creating the event listener class
DBCP (Database Connection Pool), The data-sources element
debug initialization parameter, Declaring the Initialization Parameters
declarative exception handling, Struts Action Classes, Declarative Versus Programmatic Exception Handling, Declarative Versus Programmatic Exception Handling
Decorator pattern, SiteMesh
default application, The ActionServlet Class
default exception-handler class, Declarative Versus Programmatic Exception Handling
extending (example), Declarative Versus Programmatic Exception Handling
multiple exceptions, Declarative Versus Programmatic Exception Handling
default initialization, Extending the ActionServlet class
default locale, The default locale
define tag, custom tag (Bean tag library), The define Tag
definition tag, custom tag (Tiles tag library), The definition Tag
deploying web applications, What Is Deployment?
deployment descriptor, The Web Application Directory Structure
complete example of storefront application, Configuring Error Handling in web.xml
declaring the event listener in, Declaring the event listener in the deployment descriptor
declaring the filter in, Declaring the filter in the deployment descriptor
defined, The Web Application Deployment Descriptor
format, Web Application Deployment Descriptor DTD
deployment information, servlet containers, The Web Application Deployment Descriptor
design by contract, What About the throws Clause?
design model, The design model
design-stage artifacts, The design model
detail initialization parameter, Declaring the Initialization Parameters
development issues
building an interface between Struts actions and an application tier, Struts and Enterprise JavaBeans
redundant code in a web application, Using Tiles
Struts actions interacting directly with entity beans, The Session Façade
Digester component, The Digester Component
directories
guidelines for Struts applications, The Web Application Directory Structure
structure for the storefront web application, The Web Application Directory Structure
subdirectories and, The Web Application Directory Structure
DispatchAction class, Struts Action Classes
defined, The org.apache.struts.actions.DispatchAction class
example of shopping-cart functionality, The org.apache.struts.actions.DispatchAction class, The org.apache.struts.actions.DispatchAction class
distributed application, DTOs in, Struts Model Components
distributions (binary versus source)
binary, building Struts from, Installing the Binary Distribution, Installing the Binary Distribution
source, building Struts from, Building Struts from the Source Distribution, Building Struts from the Source Distribution
DOCTYPE element, Specifying a DOCTYPE Element
Document Type Definition (see DTD)
doGet( ) method, ActionServlet class, The ActionServlet Class
doPost( ) method, ActionServlet class, The ActionServlet Class
downloading and installing Struts, Downloading and Installing Struts, Tips on Installing Struts in JRun
DTD (Document Type Definition), Web Application Deployment Descriptor DTD
child elements, multiplicity symbols of, Web Application Deployment Descriptor DTD
DOCTYPE element, Specifying a DOCTYPE Element
Struts configuration DTD, The Struts Configuration DTD
DTO (Data Transfer Object) pattern, The Data Transfer Object pattern
EJB-based models, and, The Business Interface
DTOs (data transfer objects), Struts Model Components
and ActionForms, difference between, Using the Struts ActionForm
banking application (example), Struts Model Components
in a distributed application, Struts Model Components
UserView class, storefront application (example), The Action Class
Dumoulin, Cedric, Overview of Tiles, Tiles Site
DynaActionForm class, Using the Struts ActionForm, The form-beans element, Using the DynaActionForm Class, Performing Validation with the DynaActionForm
configuring, Configuring Dynamic ActionForms
form tag, and, The form Tag
performing validation with, Performing Validation with the DynaActionForm
dynamic action forms, The form-beans element
dynamic content
rendering, Struts View Components
versus static content, Understanding Templates
dynamic proxies, Using Dynamic Proxies, Conclusion
implementation of the storefront service, Using Dynamic Proxies, Using Dynamic Proxies
DynaValidatorActionForm class, The validation.xml file, Using an ActionForm with the Validator
DynaValidatorForm class, Using an ActionForm with the Validator

E

e-Test Suite, Performance- and Stress-Testing Tools
EAR files, Web Application Archive Files
EAServer, What Are Java Servlets?
Easy Struts Project, Easy Struts Project
EIS (Enterprise Information System), An Architecture Overview
tier, The Enterprise Information System Tier
EJB (Enterprise JavaBeans), What Are Java Servlets?
and Struts, Struts and Enterprise JavaBeans, Conclusion
applications and session beans, Requirements for Business Objects
entity beans, A Quick EJB Overview
interacting directly with Struts actions, The Session Façade
interfacing Struts to, Interfacing Struts to EJB, Conclusion
interfacing to a model built using, Struts and Enterprise JavaBeans
message-driven beans, A Quick EJB Overview
overview, A Quick EJB Overview
performance impact, The MVC Model
resources, packaging with Struts, Packaging EJB Resources with Struts
session beans, A Quick EJB Overview
stateless implementation, Stateless Session Bean Implementation, Stateless Session Bean Implementation
session façade, The Session Façade
defining the remote interface for, The Business Interface
ejb-jar.xml file, JBoss Deployment
deployment descriptor for the storefront session bean, JBoss Deployment
ejbCreate( ) callback method, Stateless Session Bean Implementation
EJBHomeFactory class, Managing EJB Home and Remote References, What about the remote references?
getInstance( ) method, Implementing an EJBHomeFactory
implementation (example), Implementing an EJBHomeFactory
using in a business delegate, Using an EJBHomeFactory in a business delegate
EJBObject interface, The Business Interface
ejbRemove( ) method, Stateless Session Bean Implementation
EL (new expression language), A New Expression Language
encapsulating the authentication behind the security service, Struts Model Components
enctype attribute, form tag (HTML tag library), The enctype attribute
Enterprise Information System (see EIS)
Enterprise JavaBeans (see EJB)
entity beans, A Quick EJB Overview
interacting directly with Struts actions, The Session Façade
entity business objects, Requirements for Business Objects
Entity-Relationship (E-R) diagrams, The conceptual model
error
handling in web.xml file, Configuring Error Handling in web.xml, Configuring Error Handling in web.xml
messages, Using ActionErrors
pages, The Web Application Deployment Descriptor
error-page element, Configuring Error Handling in web.xml
errors tag, custom tag (HTML tag library), The messages and errors Tags
event business objects, Requirements for Business Objects
event handlers, JavaScript, JavaScript Event Handlers
event listeners, Using Event Listeners, Packaging the event listener
creating, Creating an Event Listener
declaring in the deployment descriptor, Declaring the event listener in the deployment descriptor
example of an event listener class that initializes a logging service, Creating the event listener class
packaging, Packaging the event listener
exception chaining, Using Chained Exceptions, Dealing with Multiple Exceptions
Exception class, Checked and Unchecked Exceptions
exception condition, Java Exceptions
exception element, The action-mappings element, Declarative Versus Programmatic Exception Handling, Declarative Versus Programmatic Exception Handling
exception handling, Exception Handling, Conclusion
custom tags, and, Exceptions in Custom Tags
declarative, Declarative Versus Programmatic Exception Handling, Declarative Versus Programmatic Exception Handling
default exception-handler class, Declarative Versus Programmatic Exception Handling
exception class that supports a message key and arguments (example), Declarative Versus Programmatic Exception Handling
in Struts, Struts Action Classes
internationalization, and, Internationalized Exception Handling, Exception Handling and Internationalization
Java, Java Exception Handling , Performance Impact of Exception Handling
exceptions defined, Java Exceptions
performance impact of, Performance Impact of Exception Handling
programmatic, Using Programmatic Exception Handling, Using Programmatic Exception Handling
remote exceptions, Handling Remote Exceptions
StorefrontEJBDelegate class, Exception handling
Struts framework, provided by, Exception Handling Provided by Struts, Using Programmatic Exception Handling
exception-type element, substituting for the error-code, Configuring Error Handling in web.xml
ExceptionHandler class, Declarative Versus Programmatic Exception Handling
exceptions
application, System Versus Application Exceptions
chained, Using Chained Exceptions, Dealing with Multiple Exceptions
exception class that supports chained exceptions (example), Using Chained Exceptions
checked and unchecked, Checked and Unchecked Exceptions
multiple, Dealing with Multiple Exceptions
default exception-handler class, and, Declarative Versus Programmatic Exception Handling
exception class that supports multiple nested exceptions (example), Dealing with Multiple Exceptions
systems, System Versus Application Exceptions
execute( ) method, Action class, Struts Action Classes, The Action Class
exploded directory format, What Is Deployment?
Expresso, Expresso, The data-sources element, Object-to-Relational Mapping Frameworks
extending
ActionServlet class, Extending the ActionServlet Class
base Action class, Extending the Base Action Class
custom tags, Extending Struts Custom Tags
default exception-handler class (example), Declarative Versus Programmatic Exception Handling
model components, Extending Model Components
RequestProcessor class, Extending the RequestProcessor Class, Using the processPreprocess( ) method
Struts
configuration classes, Extending the Struts Configuration Classes
framework, Extending the Struts Framework, Downsides to Extending the Framework
the framework, downsides to, Downsides to Extending the Framework
tiles definitions, Extending Tile Definitions
view components, Extending View Components
Extensible Markup Language (see XML)
extension mapping, Using Multiple Application Modules
extension points, What Are Extension Points?, Extending the Base Action Class
controller, Controller Extension Points, Extending the Base Action Class
defined, What Are Extension Points?
general, General Extension Points, Extending the Struts Configuration Classes
external resources, Mapping requests to servlets

F

FastCGI, A Brief History of the Web
field element, The validation.xml file
filter element, Declaring the filter in the deployment descriptor
Filter interface, Creating the filter class
filter-mapping element, Declaring the filter in the deployment descriptor
filters, Using Filters, Packaging the filter
creating, Creating a Filter
creating filter elements, Declaring the filter in the deployment descriptor
declaring in the deployment descriptor, Declaring the filter in the deployment descriptor
definitions and mappings, The Web Application Deployment Descriptor
example filter class, Creating the filter class
filter mapping, Declaring the filter in the deployment descriptor
packaging, Packaging the filter
performing logic with, Using the processPreprocess( ) method
tasks associated with, Using Filters
types, Using Filters
findForward( ) method, ActionMapping class, The ActionForward class
Flood, Performance- and Stress-Testing Tools
form beans, Using the Struts ActionForm
(see also ActionForm class)
defined, The form-beans element
form-property element (example), The form-beans element
section of the configuration file, Using the Struts ActionForm
form element, The validation.xml file
form tag, custom tag (HTML tag library), The form Tag, Using Multiple form Tags
attributes, The form Tag
multiple form tags, Using Multiple form Tags
form-beans element, The form-beans element
form-property element, The form-beans element
formset element, The validation.xml file
forward element, The global-forwards element, The action-mappings element
forward tag, custom tag (Logic tag library), Redirecting and Forwarding
forward( ) method, RequestDispatcher class, Using a Forward
ForwardAction class, The org.apache.struts.actions.ForwardAction class
ForwardConfig class, The global-forwards element
forwards, Using a Forward, Using a Forward
servlet that performs a forward when it receives a request (example), Using a Forward
using relative paths in JSP pages, Which Is Best for Struts?
using tiles definitions as forwards in Struts, Using Definitions as Forwards in Struts
versus redirects, Forward Versus Redirect, Which Is Best for Struts?
ForwardServlet (example), Using a Forward
framework, Creation of the Struts Framework
(see also Struts, framework)
building your own, Building Your Own Framework
defined, What Is a Framework?
difference between a software library and a framework, What Is a Framework?
downsides to extending, Downsides to Extending the Framework
how the framework processes an ActionForm, Using the Struts ActionForm
FreeFORM, Object-to-Relational Mapping Frameworks
Freemarker, Freemarker, Velocity, and WebMacro
FrontierSuite, Object-to-Relational Mapping Frameworks
functional layers (see architectural tiers)

G

general extension points, General Extension Points, Extending the Struts Configuration Classes
GenericDataSource class, The data-sources element
deprecation of, Deprecation of the GenericDataSource
GenericValidator class, The validation-rules.xml file
GET method (HTTP), The HTTP Request
get tag, custom tag (Tiles tag library), The get Tag
getAsString tag, custom tag (Tiles tag library), The getAsString Tag
getInstance( ) method, EJBHomeFactory class, Implementing an EJBHomeFactory
getKeyMethodMap( ) method, ProcessCheckoutAction class, The org.apache.struts.actions.LookupDispatchAction class
getLocale( ) method, Local class, Determining the user’s locale
Gillam, Richard, What Is Internationalization?
global-forwards element, The global-forwards element
Grinder, The, Performance- and Stress-Testing Tools
GUI tools (Struts), The Struts Console

H

HashMap, The Action class cache
header tag, custom tag (Bean tag library), The header Tag
heap sizes, setting, Improperly Tuning the JVM
helper class, The Struts ActionServlet
Holmes, James, The Struts Console Tool, The Struts Console
home interface for the storefront session bean, Stateless Session Bean Implementation
home reference, caching, Managing EJB Home and Remote References
hooks, What Are Extension Points?
Host, HTTP request header field, The HTTP Request
HTML (Hypertext Markup Language)
documents as view components, HTML documents
hardcoding limitations, What Are Java Servlets?
HTML tag library, Using Custom Tag Libraries, Struts HTML Tags, HTML Navigation Attributes
custom tags, Struts HTML Tags, HTML Navigation Attributes
base tag, The base Tag
button tag, The button and cancel Tags
cancel tag, The button and cancel Tags
checkbox tag, The checkbox Tag
errors tag, The messages and errors Tags
form tag, The form Tag, Using Multiple form Tags
html tag, The html Tag
messages tag, The messages and errors Tags
html tag, custom tag (HTML tag library), The html Tag
HTTP
methods
GET, The HTTP Request
POST, The HTTP Request
request, The HTTP Request
header fields, The HTTP Request
request/response
phase, The HTTP Request/Response Phase, HTTP Versus HTTPS
response
status code categories, The HTTP Response
versus HTTPS, HTTP Versus HTTPS
HttpServlet class, The Struts ActionServlet
HttpServletRequest interface, Request Scope, Using URL Parameters
HttpServletResponse class
sendRedirect( ) method, Using a Redirect
HttpSession class, Session Scope
application events and listener interfaces, Using Event Listeners
Hypertext Markup Language (see HTML)

I

I18N (see internationalization)
IAuthentication interface
banking application (example), A Banking Account Example, A Banking Account Example
storefront application (example), The Business Delegate and DAO Patterns in Action
impedance mismatch, Storing Objects into a Relational Model
importAttribute tag, custom tag (Tiles tag library), The importAttribute Tag
include tag, custom tag (Bean tag library), The include Tag
IncludeAction class, The org.apache.struts.actions.IncludeAction class
index.jsp file
itemdetail.jsp file, and, What Is a Template?
JSP include mechanism versus templates, Understanding Templates
using a template, What Is a Template?
indexed properties, accessing in JavaBeans, Accessing Indexed Properties
inheritance in categories in the logging framework, Using the log4j Package
init( ) method, example of overriding methods, Extending the ActionServlet class
init-param element, Mapping the Struts ActionServlet
initComponentDefinitions tag, custom tag (Tiles tag library), The initComponentDefinitions Tag
initialization
ActionServlet, of the (diagram), Struts initialization process
custom, Extending the ActionServlet class
default, Extending the ActionServlet class
parameters, The Web Application Deployment Descriptor
config, Specifying Multiple Application Modules
declaring, Declaring the Initialization Parameters
web.xml using Struts 1.1, for, Declaring the Initialization Parameters
process overview, Struts initialization process
insert tag, custom tag (Tiles tag library), The insert Tag
installing Struts, Downloading and Installing Struts, Tips on Installing Struts in JRun
interaction diagrams, The design model
interfacing Struts to EJB, Interfacing Struts to EJB, Conclusion
internationalization, What Are Java Servlets?, Using Message Resource Bundles, Using ActionErrors
character sets, setting, Setting the Character Set
characteristics of applications supporting, What Is Internationalization?
defined, What Is Internationalization?
exception handling, Internationalized Exception Handling, Exception Handling and Internationalization
Java support, Support for I18N in Java, Multilingual Support
locale
default, The default locale
determining the user’s locale information in a servlet (example), Determining the user’s locale
Locale class, The Locale Class, Determining the user’s locale
MessageFormat class, and, The MessageFormat Class, The MessageFormat Class
MessageResources class, and, Java Resource Bundles
multilingual support, Multilingual Support
PropertyMessageResources class, and, Java Resource Bundles
PropertyResourceBundle class, and, Creating a Struts resource bundle
resource bundles, accessing, Accessing the Resource Bundle
ResourceBundle class, and, Java Resource Bundles
Struts, and, Internationalization and Struts, Exception Handling and Internationalization
Validator framework, and, The validation.xml file, Internationalizing the Validation
internationalization tags, JSTL, JSTL Internationalization Tags
InvalidLoginException, banking application (example), Struts Action Classes
InvocationHandler interface, Using Dynamic Proxies
iPlanet Application Server, What Are Java Servlets?
ISAPI, A Brief History of the Web
ISO-3166 specification, The Locale Class
ISO-639 specification, The Locale Class
IStorefrontService interface, storefront application (example), The Business Delegate and DAO Patterns in Action, The Business Delegate and DAO Patterns in Action
itemdetail.jsp file and index.jsp file, What Is a Template?
iterate tag, custom tag (Logic tag library), Collection Utilities

J

J2EE applications, An Architecture Overview
J2EE Front Controller design pattern, The MVC Controller, The Controller Mechanism
Jakarta Commons project, Struts dependencies, Dependency on Commons Projects
Jakarta log4j (see log4j package)
Jakarta Project
mailing lists, Contribution to the Struts Project
main web site, Contribution to the Struts Project
Jakarta Taglibs project, What Is a Tag Library?, The Jakarta Taglibs Project
log4j, and, Using Commons Logging in JSP Pages
Jakarta Turbine, Jakarta Turbine
Jakarta’s ORO package, Change to the ORO Package
JAR files, packaging and deploying, JBoss Deployment
Java
internationalization, support for, Support for I18N in Java, Multilingual Support
reflection, The org.apache.struts.actions.DispatchAction class
Java 1.4 logging API, Java 1.4 Logging API
Java DataBase Connectivity (JDBC), What Are Java Servlets?
Java exception class, Configuring Error Handling in web.xml
Java Message Service (JMS), A Quick EJB Overview
Java Remote Method Protocol (JRMP), The Middle Tier
Java servlets (see servlets)
Java source files, compiling in Ant, Compiling Java Source Files
java.lang.reflect.InvocationHandler interface, Using Dynamic Proxies
java.text.Format class, The Locale Class
java.util.ArrayList class, Using java.util.Vector and java.util.Hashtable
java.util.HashMap class, Using java.util.Vector and java.util.Hashtable
java.util.Hashtable class, Using java.util.Vector and java.util.Hashtable
java.util.Vector class, Using java.util.Vector and java.util.Hashtable
JavaBeans, Preface, Struts and Enterprise JavaBeans
(see also EJB)
accessing properties, Using JavaBeans with Struts Tags
custom tags, using with, Using JavaBeans with Struts Tags
defined, Quick refresher
in Struts applications, How Struts applications use JavaBeans
specification, Accessing Simple Properties
using within view components, Using JavaBeans Within the View Components, The Data Transfer Object pattern
JavaScript
event handlers, JavaScript Event Handlers
stylesheets as view components, JavaScript and stylesheets
Validator framework, using with, Using JavaScript with the Validator
JavascriptValidator, custom tag, Configuring the validation-rules.xml file for JavaScript, Configuring the validation-rules.xml file for JavaScript
JavaServer Faces (JSF), JavaServer Faces
overview, Looking Ahead to JavaServer Faces
JavaServer Pages (see JSP)
javax.ejb.EJBObject interface, The Business Interface
javax.ejb.SessionBean interface, Stateless Session Bean Implementation, Stateless Session Bean Implementation
javax.servlet.Filter interface, Creating the filter class
javax.servlet.ServletContext class, Using the Servlet Container for Logging
javax.sql.DataSource connection factory, Stateless Session Bean Implementation
JBoss
application server, JBoss Deployment
deployment descriptor for the storefront session bean, JBoss Deployment
JDBC Pool, The data-sources element
JDK 1.4 Logging, Jakarta Commons Logging
Jetty, What Are Java Servlets?
JGrinder, Object-to-Relational Mapping Frameworks
JMeter, Performance- and Stress-Testing Tools
JNDI name, associating a name with the storefront session bean, JBoss Deployment
JNDI References, The Web Application Deployment Descriptor
obtaining a home interface reference, Managing EJB Home and Remote References
plug-ins, and, Using the PlugIn Mechanism
jndi.properties file, Implementing an EJBHomeFactory
JNDIConnectorPlugin class, Using the PlugIn Mechanism
JRelationalFramework, Object-to-Relational Mapping Frameworks
JRMP (Java Remote Method Protocol), The Middle Tier
JRun, What Are Java Servlets?
tips on installing Struts in, Tips on Installing Struts in JRun
JSF (JavaServer Faces), JavaServer Faces
overview, Looking Ahead to JavaServer Faces
JSP (JavaServer Pages)
container, Precompiling JavaServer Pages
file placement when packaging Struts applications, JSP File Placement
include mechanism versus templates, Understanding Templates
Model 1
versus Model 2, Preface, JSP Model 1 and Model 2 Architectures
overview, JavaServer Pages
precompiling, Precompiling JavaServer Pages, Precompiling JSP pages with WebLogic
in Resin, Precompiling JSP pages with Resin
in Tomcat, Precompiling JSP pages with Tomcat
in WebLogic, Precompiling JSP pages with WebLogic
presentation, using for, Using JSP for Presentation
problems, Using JSP for Presentation
relative paths, and, Which Is Best for Struts?
scriptlets versus tag libraries, JavaServer Pages
JSP custom tags (see custom tags)
JSP Standard Tag Library (see JSTL)
JSP tag libraries, JSP Custom Tag Libraries
(see also JSTL)
custom (see tag libraries)
JSPException objects, Exceptions in Custom Tags
JSPTags.com, JSPTags.com
JSR 52, The JSP Standard Tag Library (JSTL)
JSTL (JSP Standard Tag Library), The JSP Standard Tag Library (JSTL), JSTL and Struts
core tags, JSTL Core Tags
internationalization tags, JSTL Internationalization Tags
SQL tags, JSTL SQL Tags
XML tags, JSTL XML Tags
JSTL-EL, A New Expression Language
JSTL-RT, A New Expression Language
JVM
exceptions, and, The Method Invocation Stack
improperly tuning, Improperly Tuning the JVM

L

language code, The Locale Class
language support (see internationalization)
layout, Overview of Tiles
(see also Tiles framework)
defined, Using a Layout Tile
passing parameters to, Passing Parameters to the Layout
planning your requirements, Planning Your Layout
legacy applications, The Middle Tier
lexical validation, Creating the Storefront Business Objects
lib subdirectory (WEB-INF), The Web Application Directory Structure
load testing versus performance, Performance Versus Load Testing, Performance Versus Load Testing
LoadRunner, Performance- and Stress-Testing Tools
locale
default, The default locale
defined, What Is Internationalization?
determining the user’s, Determining the user’s locale, Determining the user’s locale
Locale class
getLocale( ) method, Determining the user’s locale
internationalization, and, The Locale Class, Determining the user’s locale
locale-sensitive, The Locale Class
localization, Message resource bundles, What Is Internationalization?
Log interface, Using the Commons Logging API
Log tag library, Using Commons Logging in JSP Pages
using to dump information, Using Commons Logging in JSP Pages
log4j package, Jakarta Commons Logging, Using the log4j Package, Log File Rollover
configuration files, Initializing using the log4j.properties file, Initializing using an XML file
configuring appenders, Configuring log4j Appenders
initializing, Initializing log4j
integrating with Struts, Integrating log4j with Struts
log levels, understanding, Understanding the log4j Log Levels
performance impact of logging, The Performance Impact of log4j
synchronization issues, Synchronization issues
third-party tools and utilities, Third-Party log4j Extensions
Tomcat, and, Initializing using an XML file
log4j.properties file, Installing the Commons Logging Package, Initializing using the log4j.properties file
LogFactory class, Using the Commons Logging API
loggers, Using the log4j Package
defined, What Are Loggers?
Loggers class, What Are Loggers?
logging
Commons Logging package, supported logging implementations, Jakarta Commons Logging
example of an event listener class that initializes a logging service, Creating the event listener class
framework, inheritance in categories, Using the log4j Package
Java 1.4 logging API, Java 1.4 Logging API
JSP pages, in, Using Commons Logging in JSP Pages, Using Commons Logging in JSP Pages
log file rollover, Log File Rollover
LoginAction using the ServletContext to log messages (example), Using the Servlet Container for Logging
performance impact of, The Performance Impact of log4j
Struts applications, in, Logging in a Struts Application, Java 1.4 Logging API
system versus application, Logging in a Web Application
using the servlet container for, Using the Servlet Container for Logging, Packaging the event listener
web applications, in, Logging in a Web Application
LoggingFilter class, Creating the filter class, Declaring the filter in the deployment descriptor
LoggingListener class, Creating the event listener class
Logic tag library, Using Custom Tag Libraries, Logic Tags, Messages and Errors
custom tags, Logic Tags, Messages and Errors
forward tag, Redirecting and Forwarding
iterate tag, Collection Utilities
messagesNotPresent tag, Messages and Errors
messagesPresent tag, Messages and Errors
redirect tag, Redirecting and Forwarding
substring-matching tags, Substring Matching
value-comparison tags, Value Comparison
LoginAction class
banking application (example), Struts Action Classes, Mapping the Actions, Struts Model Components
putting ActionErrors into the request using, Creating ActionErrors in the Action Class
storefront application (example), The Action Class, The Business Delegate and DAO Patterns in Action
using the ServletContext to log messages (example), Using the Servlet Container for Logging
LoginForm class
banking application (example), Using the Struts ActionForm
storefront application (example), Creating an ActionForm
LogKit, Jakarta Commons Logging
LookupDispatchAction class, The org.apache.struts.actions.LookupDispatchAction class, The org.apache.struts.actions.LookupDispatchAction class
loyalty of web users, What Is Good Performance?

M

mailing lists, Struts, The Struts Mailing Lists
make utilities, What Is Ant?
mapping
actions, Mapping the Actions
ActionServlet, Mapping the Struts ActionServlet
business objects
database tables, to, The Storefront Persistence Framework
database, to, Mapping the Business Objects to the Database
extension, Using Multiple Application Modules
filter, Declaring the filter in the deployment descriptor
path, Mapping requests to servlets, Using Multiple Application Modules
requests to servlets, Mapping requests to servlets
servlets, Mapping the Struts ActionServlet
multiple, Mapping the Struts ActionServlet, Struts initialization process
path mapping, Mapping requests to servlets
tag libraries, The Web Application Deployment Descriptor
Maverick, Maverick
Mazzocchi, Stefano, Cocoon
McClanahan, Craig, Preface, JavaServer Faces, What Does JSF Have to Do with Struts?
menu layout, Using a Layout Tile
message keys and exception handling, Declarative Versus Programmatic Exception Handling
message resource bundles (see resource bundles)
message tag, custom tag (Bean tag library), The message Tag
message-driven beans, A Quick EJB Overview
message-resources elements, The message-resources element
MessageFormat class and internationalization, The MessageFormat Class, The MessageFormat Class
MessageResources class, Using Message Resource Bundles, Using Message Resource Bundles
internationalization, and, Java Resource Bundles
messages tag, custom tag (HTML tag library), The messages and errors Tags
messagesNotPresent tag, custom tag (Logic tag library), Messages and Errors
messagesPresent tag, custom tag (Logic tag library), Messages and Errors
MessageTag class, Using Message Resource Bundles
meta-information repository, The Web Application Directory Structure
method signature, throws clause of a, What About the throws Clause?
methods
createService( ), StorefrontServiceFactory class, Using Dynamic Proxies
doGet( ), ActionServlet class, The ActionServlet Class
doPost( ), ActionServlet class, The ActionServlet Class
ejbCreate( ), Stateless Session Bean Implementation
ejbRemove( ), Stateless Session Bean Implementation
execute( ), Action class, Struts Action Classes, The Action Class
findForward( ), ActionMapping class, The ActionForward class
getInstance( ), EJBHomeFactory class, Implementing an EJBHomeFactory
getKeyMethodMap( ), ProcessCheckoutAction class, The org.apache.struts.actions.LookupDispatchAction class
getLocale( ), Local class, Determining the user’s locale
init( ), example of overriding methods, Extending the ActionServlet class
perform( ), Action class, The Action Class
process( )
ActionServlet class, The ActionServlet Class
RequestProcessor class, The RequestProcessor Class, The RequestProcessor Class
processActionPerform( ), RequestProcessor class, The Action Class
processException( ), RequestProcessor class, Declarative Versus Programmatic Exception Handling
processExceptions( ), StorefrontBaseAction class, Using Programmatic Exception Handling, Using Programmatic Exception Handling
processLocale( ), RequestProcessor class, Extending the RequestProcessor class
processPreprocess( ), RequestProcessor class, Using the processPreprocess( ) method
example, Using the processPreprocess( ) method
reset( ), ActionForm class, The reset( ) method
selectApplication( ), RequestUtils class, The ActionServlet Class
super.init( ), Extending the ActionServlet class
validate( ), RequestProcessor class, The validate( ) method
middle tier, The Middle Tier
MIME type mappings, The Web Application Deployment Descriptor
model
conceptual, The conceptual model
data, storefront application (example), The Storefront Data Model, The Storefront Data Model
defined, Types of Models
design, The design model
importing packages or classes into, The “M” in MVC
relational, storing objects in a, Storing Objects into a Relational Model
types, Types of Models, The design model
model components, Struts Model Components, Struts Model Components, Struts Model Components, Conclusion , The “M” in MVC
(see also model)
extending, Extending Model Components
Model-View-Controller (see MVC)
mod_perl, A Brief History of the Web
multi-application support, Multiple Application Support
multilingual support (see internationalization)
multimedia files as view components, Multimedia files
multiplicity symbols of child elements within a DTD, Web Application Deployment Descriptor DTD
multithreaded Action classes, Creating Multithreaded Action Classes
multitiered distributed applications
model components, and, Struts Model Components
MVC (Model-View-Controller), Preface
Controller duties, The MVC Controller
importance of, Why Is Model-View-Controller So Important?, The MVC Controller
pattern, JSP Model 1 and Model 2 Architectures
key components, Why Is Model-View-Controller So Important?
View, The MVC View

N

name attribute, form tag (HTML tag library), The name attribute
namespace management, Namespace Management
naming conventions of web applications, What Is a Web Application?
nested references, accessing nested bean properties, Accessing Nested Properties
Nested tag library, Using Custom Tag Libraries, Nested Tags
web site, Nested Tags Site
new expression language (EL), A New Expression Language
NoOpLog, Jakarta Commons Logging
NSAPI, A Brief History of the Web
number validation (example), Performing Presentation Validation

O

object identifiers (OIDs), The Storefront Data Model
object-to-relational mapping (see ORM)
ObJectRelationalBridge (see OJB)
objects stored at the request level, Request Scope
ODMG API, OJB, The Storefront Persistence Framework
OJB (ObJectRelationalBridge), Object-to-Relational Mapping Frameworks, The Storefront Persistence Framework, The Storefront Persistence Framework
ODMG API, The Storefront Persistence Framework
PersistenceBroker API, The Storefront Persistence Framework
Orbix E2A (formally iPAS), What Are Java Servlets?
order business objects, What Is a Business Object?
OrderBO class, Creating the Storefront Business Objects, Creating the Storefront Business Objects
org.apache.commons.logging.Log key, Installing the Commons Logging Package
org.apache.struts.config package, The org.apache.struts.config Package, Specifying a DOCTYPE Element
Orion Application Server, What Are Java Servlets?
ORM (object-to-relational mapping), The MVC Model, The impedance mismatch
products, Object-to-Relational Mapping Frameworks
ORO package, Change to the ORO Package

P

packages
actions, Using the Prebuilt Struts Actions, The org.apache.struts.actions.SwitchAction class
DispatchAction class, The org.apache.struts.actions.DispatchAction class
ForwardAction class, The org.apache.struts.actions.ForwardAction class
IncludeAction class, The org.apache.struts.actions.IncludeAction class
LookupDispatchAction class, The org.apache.struts.actions.LookupDispatchAction class
SwitchAction class, The org.apache.struts.actions.SwitchAction class
BeanUtils, The Commons BeanUtils Package
Commons Collection, The Commons Collection Package
Commons Logging, Jakarta Commons Logging, Struts Framework and the Commons Logging Package
config, The org.apache.struts.config Package, Specifying a DOCTYPE Element
dependency on Commons project, Dependency on Commons Projects
obtaining the source packages of Struts, Building Struts from the Source Distribution
prerequisite software packages needed to build Struts, Building Struts from the Source Distribution
Struts components packages, The Struts Component Packages
util, The Utilities Classes, The Commons BeanUtils Package
Validator framework, required packages, Required Packages
packaging Struts applications, Packaging Your Struts Application, Restarting Your Server Remotely
deciding how, Deciding How to Package Your Application, Packaging EJB Resources with Struts
defined, What Is Packaging?
EJB resources, and, Packaging EJB Resources with Struts
JSP file placement, JSP File Placement
WAR file, as, Packaging the Application as a WAR File
page scope, Page Scope
PageContext interface, Page Scope
parameter tag, custom tag (Bean tag library), The parameter Tag
path attribute, ActionMapping class, Mapping the Actions
path mapping, Mapping requests to servlets, Using Multiple Application Modules
patterns
Business Delegate, Object-to-Relational Mapping Frameworks, The Business Delegate and DAO Patterns in Action, Conclusion
DAO (Data Access Object), Object-to-Relational Mapping Frameworks, The Business Delegate and DAO Patterns in Action, Conclusion
DTO, The Data Transfer Object pattern
perform( ) method, Action class, The Action Class
performance, Addressing Performance, Using Too Many Graphics
baseline, Establish a Performance Baseline
goals, Understand the Performance Goals
good performance defined, What Is Good Performance?
impact of exception handling, Performance Impact of Exception Handling
impact of logging, The Performance Impact of log4j
profiling your application, Find the Trouble Areas, Find the Trouble Areas
serious concerns in Struts, Performance and Scalability Gotchas, Using Too Many Graphics
testing tools, Performance- and Stress-Testing Tools
testing, defined, Performance Versus Load Testing
user perspective, What Is Good Performance?
versus load testing, Performance Versus Load Testing, Performance Versus Load Testing
persistence
defined, Persistence
framework, storefront application (example), The Storefront Persistence Framework, The Storefront Persistence Framework
solutions, Mapping the Business Objects to the Database
PersistenceBroker API, OJB, The Storefront Persistence Framework
plug-in element, The plug-in element
plug-ins, Using the PlugIn Mechanism, Adding the plug-in to the configuration file
adding to the configuration file, Adding the plug-in to the configuration file
overview, The plug-in element
Tiles, Configuring Tiles to Work with Struts
PlugIn interface, Using the PlugIn Mechanism, Adding the plug-in to the configuration file
example of using, Using the PlugIn Mechanism
hooking the Validator framework into a Struts application, Plugging In the Validator
Poolman, The data-sources element
POST method (HTTP), The HTTP Request
precompiling JavaServer Pages, Precompiling JavaServer Pages, Precompiling JSP pages with WebLogic
in Resin, Precompiling JSP pages with Resin
in Tomcat, Precompiling JSP pages with Tomcat
in WebLogic, Precompiling JSP pages with WebLogic
presentation
separating from business objects, Struts Model Components
technologies, Using JSP for Presentation
validation, Creating the Storefront Business Objects, Performing Presentation Validation
process business objects, Requirements for Business Objects
process( ) method
ActionServlet class, The ActionServlet Class
RequestProcessor class, The RequestProcessor Class, The RequestProcessor Class
processActionPerform( ) method, RequestProcessor class, The Action Class
ProcessCheckoutAction class, The org.apache.struts.actions.LookupDispatchAction class
processException( ) method, RequestProcessor class, Declarative Versus Programmatic Exception Handling
processExceptions( ) method, StorefrontBaseAction class, Using Programmatic Exception Handling, Using Programmatic Exception Handling
processLocale( ) method, RequestProcessor class, Extending the RequestProcessor class
processPreprocess( ) method, RequestProcessor class, Using the processPreprocess( ) method
example, Using the processPreprocess( ) method
programmatic exception handling, Using Programmatic Exception Handling, Using Programmatic Exception Handling
move to abstract class (example), Using Programmatic Exception Handling
PropertyMessageResources class, Java Resource Bundles
PropertyResourceBundle class, Creating a Struts resource bundle
PropertyUtils class, The Commons BeanUtils Package
proxies, dynamic, Using Dynamic Proxies, Conclusion
implementation of the storefront service, Using Dynamic Proxies, Using Dynamic Proxies
Pull HMVC (Pull Hierarchical Model View Controller), WebWork
put tag, custom tag (Tiles tag library), The put Tag
putList tag, custom tag (Tiles tag library), The putList Tag

Q

quality assurance testing, Addressing Performance, Using Too Many Graphics
query strings and confidential information, Using a Redirect

R

redirect tag, custom tag (Logic tag library), Redirecting and Forwarding
redirects
servlet that performs a redirect when it receives a request (example), Using a Redirect, Using a Redirect
versus forwards, Forward Versus Redirect, Which Is Best for Struts?
RedirectServlet (example), Using a Redirect, Using a Redirect
redundant code in a web application, reducing, Using Tiles
Referer, HTTP request header field, The HTTP Request
reflection, The org.apache.struts.actions.DispatchAction class
RegExp package, Change to the ORO Package
relational model, storing objects in, Storing Objects into a Relational Model
remote exceptions, Handling Remote Exceptions
remote interface for the storefront session bean, The Business Interface
remote references, What about the remote references?
RemoteException, System Versus Application Exceptions, Handling Remote Exceptions
in the business interface, Exception handling
repetitive behavior, using a base Action to perform, Extending the Base Action Class
Replicate Object pattern (see DTO pattern)
repository.xml file, The Storefront Persistence Framework
repository_user.xml file, The Storefront Persistence Framework
request line, The HTTP Request
request scope, Request Scope
versus session, Request Scope Versus Session
request-scope attributes, removing, Request Scope
RequestDispatcher class, forward( ) method, Using a Forward
RequestProcessor class, The Struts ActionServlet, Extending the ActionServlet class, The RequestProcessor Class, Extending the RequestProcessor class
(see also controller)
ActionServlet class, and, ActionServlet and RequestProcessor
extending, Extending the RequestProcessor class, Extending the RequestProcessor class, Extending the RequestProcessor Class, Using the processPreprocess( ) method
process( ) method, The RequestProcessor Class, The RequestProcessor Class
processActionPerform( ) method, The Action Class
processException( ) method, Declarative Versus Programmatic Exception Handling
processLocale( ) method, Extending the RequestProcessor class
processPreprocess( ) method, Using the processPreprocess( ) method
example, Using the processPreprocess( ) method
validate( ) method, The validate( ) method
RequestUtils class, The RequestUtils Class
selectApplication( ) method, The ActionServlet Class
reset( ) method
ActionForm class, Using the Struts ActionForm
reset( ) method, ActionForm class, The reset( ) method
Resin, What Are Java Servlets?
precompiling JavaServer Pages, Precompiling JSP pages with Resin
resource bundles, Using Message Resource Bundles, Multiple Application Support, Internationalizing Your Struts Applications, The Bean tag library’s MessageTag class
(see also localization)
accessing, Accessing the Resource Bundle
as view components, Message resource bundles
banking application (example), Using Message Resource Bundles
Bean tag library, and, The Bean tag library’s MessageTag class
classpath, and, The resource bundle and the classpath
naming guidelines, Resource bundle naming guidelines
resource tag, custom tag (Bean tag library), The resource Tag
ResourceBundle class, Using Message Resource Bundles
internationalization, and, Java Resource Bundles
response time and performance testing, Performance Versus Load Testing
ResponseUtils class, The ResponseUtils Class
ResultSet object, The MVC Model
RMI over IIOP, The Middle Tier
role-name element, JSP File Placement
RuntimeException class, Checked and Unchecked Exceptions

S

Savoia, Alberto, What Is Good Performance?
scalability and performance problems in Struts, Performance and Scalability Gotchas, Using Too Many Graphics
scope, Struts and Scope, Page Scope
ActionForms, and, ActionForms and Scope
application scope, Application Scope
page scope, Page Scope
request scope, Request Scope
session scope, Session Scope
scope attribute, form tag (HTML tag library), The scope attribute
scriptlets versus tag libraries, JavaServer Pages
Secure Sockets Layer (SSL), HTTP Versus HTTPS
security configuration information, The Web Application Deployment Descriptor
security in the Action classes, Security in the Action Classes
security service, encapsulating the authentication behind, Struts Model Components
security-constraint element, JSP File Placement
SecurityService class, banking application (example), A Banking Account Example, Struts Model Components
selectApplication( ) method, RequestUtils class, The ActionServlet Class
semantic validation, Creating the Storefront Business Objects
sendRedirect( ) method, HttpServletResponse class, Using a Redirect
servlet class
combining the servlet-mapping element, Mapping the Struts ActionServlet
configuring with the servlet element, Mapping the Struts ActionServlet
servlet containers, What Are Java Servlets?
(see also servlets)
defined, What Are Java Servlets?
deployment information, The Web Application Deployment Descriptor
hierarchical structure, and, The Web Application Directory Structure
part of a J2EE application server, The Web Application Deployment Descriptor
popular, What Are Java Servlets?
using JSP pages, The Web Application Deployment Descriptor
using the servlet container for logging, Using the Servlet Container for Logging, Packaging the event listener
web server working together with, The HTTP Request/Response Phase, HTTP Versus HTTPS
servlet element, Mapping the Struts ActionServlet
declaring initialization parameters, Declaring the Initialization Parameters
how to configure the servlet class (example), Mapping the Struts ActionServlet
servlet engines (see servlet containers)
servlet filters (see filters)
servlet mappings
multiple, Mapping the Struts ActionServlet
path mapping, Mapping requests to servlets
web containers, and, Using a Struts action in the welcome file list
servlet-class element, Mapping the Struts ActionServlet
servlet-mapping element, Mapping the Struts ActionServlet
servlet-name element, Mapping the Struts ActionServlet
ServletContext class, Application Scope, Mapping requests to servlets, Using Event Listeners, Creating the event listener class
application events and listener interfaces, Using Event Listeners
LoginAction using the ServletContext to log messages (example), Using the Servlet Container for Logging
methods used for logging messages, Using the Servlet Container for Logging
ServletContextListener interface, Creating the event listener class
servlets, What Are Java Servlets?
(see also servlet containers)
advantages of being written in Java, What Are Java Servlets?
CGI applications, compared to, What Are Java Servlets?
controller servlet, defined, JSP Model 1 and Model 2 Architectures
declarations, The Web Application Deployment Descriptor
defined, What Are Java Servlets?, What Are Java Servlets?
examples
servlet that performs a forward when it receives a request, Using a Forward
servlet that performs a redirect when it receives a request, Using a Redirect, Using a Redirect
HTML
hardcoding limitations, What Are Java Servlets?
template engine for, Freemarker, Velocity, and WebMacro
mapping, The Web Application Deployment Descriptor
configuring, Mapping the Struts ActionServlet
multiple, Struts initialization process
requests to, Mapping requests to servlets
technology resources, What Are Java Servlets?
session beans, A Quick EJB Overview
in EJB applications, Requirements for Business Objects
stateless implementation, Stateless Session Bean Implementation, Stateless Session Bean Implementation
session configuration, The Web Application Deployment Descriptor
session façade, The Session Façade
defining the remote interface for, The Business Interface
session scope, Session Scope
versus request, Request Scope Versus Session
session wraps entity, The Session Façade
SessionBean interface, Stateless Session Bean Implementation, Stateless Session Bean Implementation
set-property element, The data-sources element
shared resources, Mapping requests to servlets
shopping cart functionality, storefront application (example), The org.apache.struts.actions.DispatchAction class, The org.apache.struts.actions.DispatchAction class
ShoppingCartActions class, storefront application (example), The org.apache.struts.actions.DispatchAction class
sign-in page (example), What Are ActionForms?
SilkPerformer, Performance- and Stress-Testing Tools
SilverStream, What Are Java Servlets?
simple bean properties, accessing, Accessing Simple Properties
SimpleLog, Jakarta Commons Logging
SiteLoad, Performance- and Stress-Testing Tools
SiteMesh, SiteMesh
Smalltalk-80, Preface
software library, difference between a framework and a, What Is a Framework?
source packages of Struts, obtaining, Building Struts from the Source Distribution
SQL DDL, The Storefront Data Model
storefront application (example), The Storefront Data Model, The Storefront Data Model
SQL tags, JSTL, JSTL SQL Tags
SSL (Secure Sockets Layer), HTTP Versus HTTPS
state diagrams, The design model
stateless connection of web applications, Why Is Model-View-Controller So Important?
stateless session beans, A Quick EJB Overview
static content versus dynamic content, Understanding Templates
stickiness of web users, What Is Good Performance?
storefront application (example)
build directory structure, Getting Started
business delegate for the storefront session bean, Using a Business Delegate, Swapping the implementation
business interface, The Business Delegate and DAO Patterns in Action, The Business Interface, The Business Interface
RemoteException in, Exception handling
business obejcts, creating, Creating the Storefront Business Objects, Creating the Storefront Business Objects
data model, The Storefront Data Model, The Storefront Data Model
deployment descriptor (complete example), Configuring Error Handling in web.xml
directory structure
(diagram), The Web Application Directory Structure
dynamic proxy implementation, Using Dynamic Proxies, Using Dynamic Proxies
ejb-jar.xml deployment descriptor for the storefront session bean, JBoss Deployment
EJBHomeFactory implementation, Implementing an EJBHomeFactory
global-forwards element, The global-forwards element
home interface for the storefront session bean, Stateless Session Bean Implementation
how templates can simplify a web site’s layout, Understanding Templates
IAuthentication interface, The Business Delegate and DAO Patterns in Action
index.jsp page using a template, What Is a Template?
introduction, The Storefront Application
IStorefrontService interface, The Business Delegate and DAO Patterns in Action, The Business Delegate and DAO Patterns in Action
JBoss deployment descriptor for the storefront session bean, JBoss Deployment
LoginAction class, The Action Class, The Business Delegate and DAO Patterns in Action
LoginForm class, Creating an ActionForm
main page (image), The Storefront Application
persistence framework, The Storefront Persistence Framework, The Storefront Persistence Framework
remote interface for the storefront session bean, The Business Interface
shopping cart functionality, The org.apache.struts.actions.DispatchAction class, The org.apache.struts.actions.DispatchAction class
SQL DDL, The Storefront Data Model, The Storefront Data Model
stateless session bean implementation, Stateless Session Bean Implementation, Stateless Session Bean Implementation
storefront session bean example, Stateless Session Bean Implementation, Stateless Session Bean Implementation
StorefrontBaseAction class, The Business Delegate and DAO Patterns in Action
StorefrontServiceFactory class, The Business Delegate and DAO Patterns in Action
StorefrontServiceImpl class, The Business Delegate and DAO Patterns in Action, The Business Delegate and DAO Patterns in Action
swapping the current storefront service implementation with the delegate, Swapping the implementation
template, What Is a Template?
testing, Testing the Storefront Application, Make the Necessary Changes to Software and Hardware
general steps to be followed, Testing the Storefront Application
Tiles (diagram), What Is a Tile?
UserView DTO, The Action Class
validating shipping information, Using an ActionForm with the Validator, Using an ActionForm with the Validator
welcome-file-list element, Setting Up the Welcome File List
StorefrontBaseAction class, storefront application (example), The Business Delegate and DAO Patterns in Action
performing repetitive behavior, Extending the Base Action Class
processExceptions( ) method, Using Programmatic Exception Handling, Using Programmatic Exception Handling
StorefrontEJBDelegate class, storefront application (example), Using a Business Delegate
StorefrontServiceFactory class, storefront application (example), The Business Delegate and DAO Patterns in Action, Using Dynamic Proxies
StorefrontServiceImpl class, storefront application (example), The Business Delegate and DAO Patterns in Action, The Business Delegate and DAO Patterns in Action
storing objects in a relational model, Storing Objects into a Relational Model
stress testing, Performance Versus Load Testing
Struts
actions interacting directly with entity beans, The Session Façade
alternatives to, Alternatives to Struts, JavaServer Faces
applications
architectural view of, An Architecture Overview, Where Does Struts Fit In?
building with Ant, Building Your Struts Applications with Ant, Cleaning Up
configuring, Configuring Struts Applications, Reloading the Configuration Files
directory guidelines, The Web Application Directory Structure
JavaBeans, and, How Struts applications use JavaBeans
logging in, Logging in a Struts Application, Java 1.4 Logging API
packaging, Packaging Your Struts Application, Restarting Your Server Remotely
binary versus source distributions, The Binary Versus Source Distributions, Installing the Binary Distribution
building from the binary distribution, Installing the Binary Distribution, Installing the Binary Distribution
building from the source distribution, Building Struts from the Source Distribution, Building Struts from the Source Distribution
component packages, The Struts Component Packages
configuration DTD, The Struts Configuration DTD
configuration files, Configuring Struts Applications, The Struts Configuration File
complete example, A Complete struts-config.xml File, A Complete struts-config.xml File
configuring a data source, The data-sources element
declaring ActionForms, Declaring ActionForms in the Struts Configuration File
example that uses declarative exception handling, Declarative Versus Programmatic Exception Handling
multiple, Configuring Multiple Application Modules
reloading, Reloading the Configuration Files
configuring the web.xml file, Configuring the web.xml File for Struts, Configuring Multiple Application Modules
controller components, Struts Controller Components, Determining the Next View, Struts Controller Components, Security in the Action Classes
(see also MVC)
controller responsibilities, The Controller Mechanism
controller servlet (see ActionServlet)
declarative exception handling, Struts Action Classes
downloading and installing, Downloading and Installing Struts, Tips on Installing Struts in JRun
EJB (Enterprise JavaBeans), Struts and Enterprise JavaBeans, Conclusion
interfacing to, Interfacing Struts to EJB, Conclusion
framework
API documents, Struts HTML Tags
Commons Logging package, and, Struts Framework and the Commons Logging Package
creation of, Creation of the Struts Framework
extending, Extending the Struts Framework, Downsides to Extending the Framework
overview, Overview of the Struts Framework, Summary
top-level packages, The Struts Component Packages
GUI tools, The Struts Console
initialization process, Struts initialization process
internationalization, and, Internationalization and Struts, Exception Handling and Internationalization
mailing lists, Contribution to the Struts Project, The Struts Mailing Lists
model components, Struts Model Components, Struts Model Components, Struts Model Components, Conclusion
performance and scalability problems, Performance and Scalability Gotchas, Using Too Many Graphics
request scope, and, Request Scope
tag libraries, Using Custom Tag Libraries, Using Custom Tag Libraries, Tag Libraries Included with Struts
tips on installing, Tips on Installing Struts in Tomcat
Version 1.0, changes since, Changes Since Struts 1.0, Dependency on Commons Projects
Version 1.1, new features in, New Features of Struts 1.1
view components, Struts View Components, Using Message Resource Bundles, Struts View Components, What Does JSF Have to Do with Struts?
views within the framework, Using Views Within the Struts Framework, Message resource bundles
welcome file list, Using a Struts action in the welcome file list
Struts Console, The Struts Console Tool
download page, The Struts Console
Struts Resource Page, The Struts Resource Web Page
struts-config.xml file, Multiple Application Support, Configuring Struts Applications
changes to, Changes to web.xml and struts-config.xml
complete example, A Complete struts-config.xml File, A Complete struts-config.xml File
struts-config_1_1.dtd file, Changes to web.xml and struts-config.xml
STRUTS-DEV mailing list, The Struts Mailing Lists
STRUTS-USER mailing list, The Struts Mailing Lists
StrutsValidator class, The validation-rules.xml file
stylesheets as view components, JavaScript and stylesheets
substring-matching tags, custom tags (Logic tag library), Substring Matching
super.init( ) method, Extending the ActionServlet class
surrogate keys, The Storefront Data Model
SwitchAction class, The org.apache.struts.actions.SwitchAction class
synchronization, Using the synchronized Keyword
log4j, and, Synchronization issues
synchronization and the web container, Session Scope
synchronized keyword, Using the synchronized Keyword
syntactic validation, Creating the Storefront Business Objects
system exceptions, System Versus Application Exceptions

T

tabs layout, Using a Layout Tile
tag handler, What Is a JSP Custom Tag?
tag libraries, Using Custom Tag Libraries, Using Custom Tag Libraries, JSP Custom Tag Libraries, JSTL and Struts
(see also custom tags)
Bean, Bean Tags, The write Tag
components, Tag library components
configuring, Configuring the Tag Libraries
custom, Configuring the Tag Libraries
defined, What Is a JSP Custom Tag?
example of how tags can be grouped logically, What Is a Tag Library?
HTML, Struts HTML Tags, HTML Navigation Attributes
JSTL, The JSP Standard Tag Library (JSTL), JSTL and Struts
Log, Using Commons Logging in JSP Pages
using to dump information, Using Commons Logging in JSP Pages
Logic, Logic Tags, Messages and Errors
mapping, The Web Application Deployment Descriptor
Nested, Nested Tags
Struts, included with, Tag Libraries Included with Struts
Template, Template Tags
Tiles, The Tiles Tag Library, The initComponentDefinitions Tag
adding, Adding the Tiles Tag Library
Validator framework, and, The Validator and JSP Custom Tags, Configuring the validation-rules.xml file for JavaScript
versus JSP scriptlets, JavaServer Pages
tag library descriptor (TLD) file, The TLD file
taglib elements, Configuring the Tag Libraries
taglib package, The Struts Component Packages
taglib-location element, Configuring the Tag Libraries
taglib-uri element, Configuring the Tag Libraries
Taglibs project and log4j, Using Commons Logging in JSP Pages
Template tag library, Using Custom Tag Libraries, Template Tags
templates, Understanding Templates, What Is a Template?, Overview of Tiles
(see also Tiles framework)
body-content section, What Is a Template?
defined, What Is a Template?
example of a template for the storefront application, What Is a Template?
index.jsp example using a template, What Is a Template?
versus the JSP include mechanism, Understanding Templates
testing
load versus performance, Performance Versus Load Testing, Performance Versus Load Testing
performance and stress testing tools, Performance- and Stress-Testing Tools
storefront application, Testing the Storefront Application, Make the Necessary Changes to Software and Hardware
general steps to be followed, Testing the Storefront Application
stress, Performance Versus Load Testing
testing applications, Addressing Performance, Using Too Many Graphics
throughput, Performance Versus Load Testing
Throwable class, partial hierarchy tree for, Java Exceptions
throws clause of a method signature, What About the throws Clause?
tiers (see architectural tiers)
tile (see Tiles framework)
Tiles framework, Using Tiles, Internationalization Support with Tiles
configuring Tiles to work with Struts, Configuring Tiles to Work with Struts
installing and configuring, Installing and Configuring Tiles, Configuring Tiles to Work with Struts
internationalization, and, Internationalization Support with Tiles
overview, Overview of Tiles, Passing Parameters to the Layout
plug-in, Configuring Tiles to Work with Struts
storefront application (diagram), What Is a Tile?
tiles definitions, Using Definitions, Using Definitions as Forwards in Struts
declaring in a configuration file, Declaring Definitions in a Configuration File
declaring in a JSP page, Declaring Definitions in a JSP Page
extending, Extending Tile Definitions
using as forwards in Struts, Using Definitions as Forwards in Struts
web site, Tiles Site
tiles package, The Struts Component Packages
Tiles tag library, Using Custom Tag Libraries, The Tiles Tag Library, The initComponentDefinitions Tag
adding, Adding the Tiles Tag Library
custom tags
add tag, The add Tag
definition tag, The definition Tag
get tag, The get Tag
getAsString tag, The getAsString Tag
importAttribute tag, The importAttribute Tag
initComponentDefinitions tag, The initComponentDefinitions Tag
insert tag, The insert Tag
put tag, The put Tag
putList tag, The putList Tag
useAttribute tag, The useAttribute Tag
tiles-config.dtd file, Creating a definition configuration file
Tomcat, What Are Java Servlets?, Creation of the Struts Framework
log4j, and, Initializing using an XML file
precompiling JavaServer Pages, Precompiling JSP pages with Tomcat
tips on installing Struts in, Tips on Installing Struts in Tomcat
tools
stress testing, Performance- and Stress-Testing Tools
Struts GUI, The Struts Console
TopLink, The MVC Model, Object-to-Relational Mapping Frameworks
Torque, Object-to-Relational Mapping Frameworks
TryCatchFinally interface, The TryCatchFinally interface
Turbine, Jakarta Turbine
two-tier applications and model components, Struts Model Components
type attribute, form tag (HTML tag library), The type attribute

V

valid XML document, Web Application Deployment Descriptor DTD
validate( ) method, RequestProcessor class, The validate( ) method
validation, The Validator Framework
(see also Validator framework)
business logic, Using the Struts ActionForm
logic, Creating the Storefront Business Objects
number (example), Performing Presentation Validation
presentation, Performing Presentation Validation
rules
configuring, Configuring the Validation Rules, The validation.xml file
configuring your own, Creating Your Own Validation Rules, Creating Your Own Validation Rules
validate a boolean value (example), Creating Your Own Validation Rules
shipping information, storefront application (example), Using an ActionForm with the Validator, Using an ActionForm with the Validator
validation-rules.xml file, The validation-rules.xml file, The validation-rules.xml file
configuring for Javascript, Configuring the validation-rules.xml file for JavaScript, Configuring the validation-rules.xml file for JavaScript
modifying for use outside of Struts, Modifying the validation-rules.xml File
validation.xml file, The validation.xml file, The validation.xml file
checkout form (example), Using an ActionForm with the Validator
example, The validation.xml file
validation_1_1.dtd, The validation.xml file
validator element, The validation-rules.xml file, The validation-rules.xml file
Validator framework, The Struts Component Packages, The Validator Framework, Modifying the validation-rules.xml File
ActionForm, using an, Using an ActionForm with the Validator, Using an ActionForm with the Validator
custom tags, Configuring the validation-rules.xml file for JavaScript
default values, The validation-rules.xml file
installing and configuring, Installing and Configuring the Validator, Plugging In the Validator
internationalization, and, The validation.xml file, Internationalizing the Validation
JavaScript, using with, Using JavaScript with the Validator
need for, The Need for a Validation Framework
plugging in the Validator, Plugging In the Validator
required packages, Required Packages
required validation rule, The validation-rules.xml file
tag libraries, and, The Validator and JSP Custom Tags, Configuring the validation-rules.xml file for JavaScript
using outside of Struts, Using the Validator Outside of Struts, Modifying the validation-rules.xml File
validation rules
configuring, Configuring the Validation Rules, The validation.xml file
configuring your own, Creating Your Own Validation Rules, Creating Your Own Validation Rules
validate a boolean value (example), Creating Your Own Validation Rules
web site, Validator Site
validator package, The Struts Component Packages
defined, The Struts Component Packages
validator-rules_1_1.dtd file, The validation-rules.xml file
ValidatorActionForm class, The validation.xml file, Using an ActionForm with the Validator
ValidatorForm class, Using an ActionForm with the Validator
ValidatorPlugIn class, Plugging In the Validator, Using the Validator Outside of Struts, Using the Validator Outside of Struts
ValidatorServlet, Plugging In the Validator
Value Object pattern (see DTO pattern)
value objects (see DTOs)
value-comparison tags, custom tags (Logic tag library), Value Comparison
VBSF, Object-to-Relational Mapping Frameworks
Velocity, Freemarker, Velocity, and WebMacro
vertical box layout, Using a Layout Tile
view components, Struts View Components, Using Message Resource Bundles, Struts View Components, What Does JSF Have to Do with Struts?
extending, Extending View Components
views
defined, What Is a View?
Struts framework, within, Using Views Within the Struts Framework, Message resource bundles
within the web tier MVC pattern (see MVC View)
volume testing, Performance Versus Load Testing

W

WAR files, Web Application Archive Files, What Is Deployment?
creating, Creating the WAR File
packaging Struts applications as, Packaging the Application as a WAR File, Creating the WAR File
using Ant to build, Using Ant to Build the WAR File
WAS, Performance- and Stress-Testing Tools
web applications, What Is a Web Application?, Web Application Deployment Descriptor DTD
class loader, The Web Application Directory Structure
components, Elements of a Web Application
defined, What Is a Web Application?
deployed in a container, Mapping requests to servlets
deploying, What Is Deployment?
deployment descriptor, The Web Application Directory Structure
defined, The Web Application Deployment Descriptor
directory structure, The Web Application Directory Structure
event listeners, Using Event Listeners, Packaging the event listener
logging in, Logging in a Web Application
naming conventions, What Is a Web Application?
stateless connection of, Why Is Model-View-Controller So Important?
WEB-INF
classes subdirectory, The Web Application Directory Structure
lib subdirectory, The Web Application Directory Structure
web containers
processing a forward request versus a redirect, Forward Versus Redirect, Which Is Best for Struts?
servlet mappings, and, Using a Struts action in the welcome file list
synchronization, and, Session Scope
web server working together with servlet containers, The HTTP Request/Response Phase, HTTP Versus HTTPS
web tier, The Web Tier
web-app element, Web Application Deployment Descriptor DTD, Configuring the Tag Libraries
WEB-INF
classes subdirectory, The Web Application Directory Structure
lib subdirectory, The Web Application Directory Structure
web.xml file, Using Custom Tag Libraries, Configuring Struts Applications, JSP File Placement
changes to, Changes to web.xml and struts-config.xml
configuring for Struts, Configuring the web.xml File for Struts, Configuring Multiple Application Modules
error handling, in, Configuring Error Handling in web.xml, Configuring Error Handling in web.xml
examples
combining the servlet-mapping element with the servlet element, Mapping the Struts ActionServlet
configuring multiple subapplications, Using Multiple Application Modules
declaring initialization parameters, Declaring the Initialization Parameters
how path mapping is configured, Mapping requests to servlets
how tag libraries are configured, Configuring the Tag Libraries
using the error-page element to prevent users from seeing 404 or 500 errors, Configuring Error Handling in web.xml
using the servlet element to configure the servlet class, Mapping the Struts ActionServlet
tag library inclusions, Using Tag Libraries with Struts Applications
WebLoad, Performance- and Stress-Testing Tools
Weblogic, What Are Java Servlets?
WebLogic
precompiling JavaServer Pages, Precompiling JSP pages with WebLogic
tips on installing Struts in, Tips on Installing Struts in WebLogic
WebMacro, Freemarker, Velocity, and WebMacro
WebSphere, What Are Java Servlets?
tips in installing Struts in, Tips on Installing Struts in WebSphere
WebWork, WebWork
welcome file list, The Web Application Deployment Descriptor
setting up, Setting Up the Welcome File List
welcome-file-list element, Setting Up the Welcome File List
storefront application (example), Setting Up the Welcome File List
Struts action, and, Using a Struts action in the welcome file list
welcome.jsp file, Using a Struts action in the welcome file list
well-formed XML document, Web Application Deployment Descriptor DTD
Winterfeldt, David, The Validator Framework, Validator Site
Write Once, Run Anywhere, JavaServer Pages
write tag, custom tag (Bean tag library), The write Tag

X

XDoclet, Stateless Session Bean Implementation
XML (Extensible Markup Language), JavaServer Pages
document
valid, Web Application Deployment Descriptor DTD
well-formed, Web Application Deployment Descriptor DTD
XML tags, JSTL, JSTL XML Tags
XML/XSLT as alternative to JSP, Using JSP for Presentation
XMLC, Java-based compiler, Barracuda
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.133.159.223