Index

Numerics
 
1.0 vs 1.1 448, 464, 477, 483, 544, 546
404 error 203
 
A
 
absolute path 358
abstract 223, 242
Accessors 13
Action 14?15, 34, 544
     base 241
     Base View Actions 239
     BaseHelper 243
     Bridge 219
Action.MAPPING_KEY 221
action-based security 199
ActionErrors 77, 100, 421
ActionErrors.GLOBAL_ERROR 81
ActionForm 15, 19, 72, 150?151, 153, 160, 249, 297, 399, 452, 470
     generate 76
     reset 76
     validate 76
     validate method 154
ActionForward 15, 32, 102, 185, 190, 253
ActionMapping 15, 35, 121, 187, 195, 239?240
     Roll Your Own 204
ActionMapping properties 196
     attribute 202
     className 199
     forward 198
     include 198
     input 200
     name 199
     parameter 201
     path 197
     roles 199
     scope 199
     suffix 202
     type 199
     unknown 203
     validate 200
<action-mappings> 121
ActionMessage 421
ActionServlet 36, 72, 107, 110, 194, 256, 258
     configure 109
     extension points 258
     initialization parameters 107
     subclass 263
Active Server Pages 11, 42, 270
Adalon 118
adaptor 38, 158, 178, 482
add 403
Ant 4, 27, 91, 106, 130, 133?134, 430
     Artimus 539
     install 91
Apache 80
Apache Software Foundation 4
API 139, 362
API contract
     definition 362
application context 482
application resources
     Struts 1.1 553
application.properties 100, 124, 133, 376
architecture 194, 273
Artimus 27, 136?137, 238, 348, 401, 476?477, 538
     Ant 539
     application properties 482
     build 479
     business API 444
     business requirements 444
     configuration settings 483
     data services 444
     features 477
     global-forwards 489
     install 539
     introduction 477
     Lucene 459
     runtime 488
     Servlet 484
ASF 83, 92, 464, 477
assertion 212
attribute 238, 289, 343, 360
<auth-constraint> 551
authentication 61, 242, 438
     strategy 484
autopopulation 156, 158?159, 166, 179, 181, 202, 446
 
B
 
BaseAction 229
baseline 90, 94, 538, 544
baseStyle 501
basic validators 543
     byte 383
     creditCard 384
     date 383
     double 383
     email 384
     float 383
     integer 383
     mask 380
     maxLength 382
     minLength 383
     range 381
     required 380
     short 383
bCancel 390, 395
bean
     message 424
     size 303
     write 424
bean tag 282
BeanUtils 171?172, 448, 534
     enhancements 535
best-practices application 476
binary file 153
blackbox 257
Blank application 90, 137, 336
blank.war 90, 94
body wrap 329
bridge 75, 219
browser 87, 297, 299
     location bar 102
browser?s cache 72
buffer 75, 151, 153?154
build.xml 91?92, 101, 106, 130?131, 133
bulk constructor 168
bulk populator 445
bulk setter 168?169, 445, 448
Business Delegate pattern 442, 469
business layer 75, 158, 165, 175?176, 209, 212, 216, 240, 440?441
     design consequences 443
business logic 157?158, 189, 194?195, 211?212, 240, 247, 494
     characteristics 442
business objects 441
     creating 441
 
C
 
Cancel button 395
Cascading Style Sheets 287, 321?322, 491
Castor 455
CGI 249, 283
chained exceptions 243
ChainedException 495
checkbox 153, 163, 297
chrome 61
     definition 347
classname 204, 262
CLASSPATH 109
client-side validators 521
coarse-grained 155, 406
     Artimus 494
Cocoon 220
cohesion 368
ColdFusion 270
Collection 496, 534
Common Gateway Interface 8?9
Commons BeanUtils 175, 534
conf 542
connection pool 124?125, 482
     Jakarta Commons DataBase Connection 125
Constants class 98
container 38, 49, 66
content syndication 464
content tile 329
context
     application 46
     request 51, 77, 186, 246
     session 46, 82, 84?85
ContinueAction 231
Controller 31, 88, 239
     Struts 31
<controller> 123
ControllerConfig 123
     nocache 123
     null 123
ConvertUtils 534
cookies 7, 66, 306
Core J2EE Patterns 39, 442
couple 442
couplets 74
coupling 439
     definition 368
CRUD 224
CSS See Cascading Style Sheets
CVS 479
 
D
 
data conversion
     definition 370
data services 438?440, 482
data transformation
     definition 370
database 69, 100, 125, 155, 164?165, 176, 240, 438
<data-sources> 125
dbForms 39
debug 82, 85, 109, 344, 399
decouple 43, 236
default error page 216, 282
default resource bundle 419
defining requirements 86
Denial of Service exploit 156
depends attribute 378
deprecated 35, 110, 125, 184, 196, 201, 210
descriptor 82, 85, 106?107
design principle 116, 160, 562
detect errors 213
development environment 6
     install 134
Digester 110, 116, 126, 258, 464, 534, 542
dispatch 180, 185, 221, 224?225, 227, 253, 497
dotted syntax 158, 167, 172
Dreamweaver 270, 565
duplicate parameters 303
DynaActionForm 34, 76, 119?120, 162, 538, 549
DynaBean 34, 54, 162
dynamic binding 40
dynamic construction 217
dynamic forwards 189
dynamic selection 217
 
E
 
e-mail 384, 557
encapsulation 116, 220, 236, 338, 411, 442
Enterprise JavaBeans 30, 36, 164, 442, 468
error messages 71
errors
     replacement parameters 214
exception
     SQL 442
exception handling 21, 35, 78, 118, 210, 216, 258, 262
ExceptionHandler 258, 262
exceptions
     best practices 443
     chained 442
     ExceptionHandler 118
     global 118
     type 119
execute method 78
extension point 40, 238, 258, 361
 
F
 
Facade pattern 469
factory 111, 125, 170, 451
findForward 34
fine-grained 155
firewall 151, 156
flexible point 40
Form
     DynaActionForm 150
formatKey 424
<form-beans> 119
formset 377?378, 392, 403
framework 5?6, 37, 66, 69, 72, 74, 134, 136, 368, 431, 438, 476, 556
     Servlet frameworks 39
full-text search 459
 
G
 
getter 160, 162, 176
Global ActionForwards 187
<global-exceptions> 118
<global-forwards> 120
global-forwards
     Artimus 489
Go4 39
 
H
 
Hashtable 201
hidden field 224, 519
hotspot 223, 237, 275
     ResourceServlet 486
HTML 37, 72, 286?287, 297, 347
     generate 269
html
     errors 77, 388, 425
     form 71, 73
     image 425
     img 425
     link 142, 561
     messages 425
     multibox 434
     option 427, 434
     password 71?72
     reset 71
     submit 71
     text 71?72
HTML base tag 68
html tag 285
HTTP 7?8, 37, 75, 153, 289
HTTP request 186
HttpUtils 201
hyperlinks 32
 
I
 
ImageButtonBean 300
immutable 155, 228, 414
     transfer object 447
     value object 168, 170
import 67
IncludeAction 221
inheritance 40
<init-params> 123
integration layer 438?439
interface 163
internationalization 412
     definition 410
introspection
     definition 114
IOException 216, 243
ISO 412, 420
ISO-Latin 153
iterate 290
 
J
 
J2EE Blueprints 212, 443
JAAS 260
Jakarta Commons Logging Component 83
Jakarta Commons Validator 368
Jakarta Taglibs 279
JAR 539
Jasper 47, 49
Java
     install 133
Java 1.4 244, 448
Java Development Kit 16
     install 16
Java HotSpot compiler 448
Java Mail 11
Java Message Service 11
Java Naming and Directory Interface 11
Java Servlet container
     install 133
java.text.MessageFormat 416
java.text.SimpleDateFormat 383
java.util.Locale 129, 383, 412
java.util.Map 171
java.util.ResourceBundle 129
JavaBean 12, 14, 163, 442
     definition 12
     Specification 442
     Tutorial 442
JavaDocs 116
JavaScript 71, 75, 87, 154, 225?226, 253, 305, 366, 368, 376, 521
     generate from tags 306
JavaServer Faces 4, 279
JavaServer Pages 10, 66, 88, 118, 140, 148, 161, 194, 220, 268, 271, 320, 332, 493, 556, 565
     custom tags 274
     include 320
     install custom tags 276
JDBC 11, 30, 36, 125, 245, 438, 445, 482, 496
     driver 438
jEdit 27, 134
     install 91
Jetspeed 477
JNDI 100, 483, 497
jsessionid
     definition 66
JSP 1.2 272
JSP See JavaServer Pages
JSP tag library 36
JSP tags 11?12, 249, 271
     localize 422
JSTL 12, 268, 271
     expression language 272
     Struts 271
JUnit 443
JVM 173, 244, 413?414
 
L
 
LabelValueBean 297, 548
layered architecture 60
Layers pattern 43, 45, 438?439
LDAP See Lightweight Directory Access Protocol
Lightweight Directory Access Protocol 438
load-on-startup 109
local ActionForward 187
local exception 204
local forward 203
locale 128, 179?180, 214, 383, 412
     change 430
     definition 129
     resetLocale method 180
locale-sensitive
     definition 413
localization 36, 82, 85, 124, 176, 213, 225, 283, 368, 392
     Collections 433
     definition 411
     images 426
     JSP tags 422
     labels 299
     options 299
     resource files 130
     special characters 420
localizing collections 299
logging 54, 56, 82?83, 239
logic tag 68, 287
     Control flow tag 289
     Evaluation tag 287
logon application 60?61, 556
     Velocity 566
LogonAction 34, 77
loosely bound 89
Lucene 6, 458, 460, 487?488
     Artimus 461
     classes 460
     Create index 461
     factory 462
     initialize index 487
     introduction 460
 
M
 
Macromedia
     HomeBase 278
     UltraDev 278
magic token 98
maintainability 439
maintenance 114, 116, 155, 162, 169, 224, 247, 288, 355, 372, 556
Map 160, 163, 171?172, 181, 499
mapped properties 160
markup 66, 77, 288
     definition 347
mask 396
mask validator 396
McClanahan, Craig 4, 417, 534
message formatting 419
message key 56, 140, 226, 376, 378
Message Tool 420
MessageFormat 416
MessageResources 213, 418
     message-resources 118, 123, 489
     ResourceBundle 128?130, 384
         definition 129
         ListResourceBundle 415
         PropertyResourceBundle 415
<message-resources> 123
messaging protocol
     definition 157
modal
     definition 366
Model 31, 77, 89, 194, 239
Model 2 77, 194, 516
Model/View/Controller architecture 239
modular application 139
module 113
msg element 378
multibox 297
multipage validation 395
multipart MIME 159
MultipartRequest 49
multithreaded 103
mutable 430
     ActionForm 155
     definition 155
     value objects 167
mutator 13
MVC 46, 77, 247, 273, 444, 515?516, 556
MVC 2 14, 41
MySQL 125, 245
 
N
 
native data types 166
native2ascii 420
nomenclature 56
     Tiles 346
nonmodal 366
normalization 120
notify/subscribe 41
 
O
 
ObjectAssembler 118
ObjectRelationalBridge 455
object-to-relational mapping 445
ObjectVenture 118
Objectwave 286
ObjectWorks 31
Observer notification pattern 43
onsubmit 390, 521
 
P
 
parameter property 103, 201, 221, 224, 231, 236, 248, 493
password 72
     clear 294
path 74, 121, 510
pattern
     Front Controller 194
     Hollywood Principle 257
     Inversion of Control 257, 495
     Layers 438
     View Helper 51
pattern-based validation 368
performance 9, 52?53, 139, 164, 173, 194, 213, 334, 495, 516
performant 52
     definition 52
     reflection 448
persistence layer 455
PHP 270
pluggable 40, 127, 258, 374, 390, 393
     definition 392
pluggable validator 392
     Create 392
<plug-in> 124
plug-in 263
PlugIn Action 258, 540
Poolman 483
POST 152
PostScript 557
prepared statements, using 441
presentation layer 44, 82, 88, 115, 158, 179, 268, 320, 430, 556
ProcessBean 446
     API contract 499
     definition 445
     performant 448
     populate 448
processRoles 260
properties 99
Properties file 99, 106, 128, 132, 201?202, 387, 451, 482
     logon application 63
     Velocity 568
Protected Variation 115
     definition 116
protocol 151, 157, 160, 438
proxy 178
 
Q
 
query string 159, 185?186, 201, 253, 444, 493
queuing messages 215
 
R
 
radio button 293
redirect 51, 88, 122, 185?186, 229, 490
refactor 219, 329, 348, 351, 355, 358
     definition 330
     extract method 344
     Tiles 348
reflection 50, 52, 114, 157, 173, 176, 224, 248, 448
     definition 114
     performant 448
     transfer by 173
Register application 18, 99
regular expression
     definition 369
     Jakarta RegExp package 381
reload 70, 96, 138, 358
remote 165
replacement parameter 214, 372, 376, 378, 403
request 151?152, 159, 195, 202, 211, 213, 283, 289, 297
request context 186
request methods 7
request parameters 156, 186
RequestDispatcher 186, 198, 219
RequestProcessor 258?259
reset 228
Resin 49, 138, 272, 483
resource 245, 368, 382, 420, 423, 450
resource bundle 410
     definition 414
resource layer 438?439
restricted character 185
ResultList 496
Rich Site Summary 438, 464, 477, 488
     channel 465
     ChannelBean 466
     item 465
     Syndication 466
Roles 50
RSS See Rich Site Summary
runtime 90, 114, 128, 159, 216?217, 321, 325, 410, 416
     Velocity 559
 
S
 
Scaffold 6, 179, 181, 187, 201, 219, 223?224, 229?230, 236?237, 244, 248, 252, 358, 401, 434, 478, 482
     ResultList 449
Scaffold BaseForm 401
Scaffold Forward-only
     FindForwardAction 234
     ParameterAction 233
     RelayAction 231
     SuccessAction 230
Scaffold helper Actions 237
     AttributeExistsAction 238
     BaseHelperAction 236
     RemoveAttributeAction 239
Scioworks 118
scriptlet 10, 271, 278, 283
search
     boolean 459
     date range 459
     full-text 459
search utilities 488
security 82, 125, 164, 199, 217, 238, 242, 260?261, 288, 483
     action-based 538, 550
     authorization 484
     declarative 480
     expired password 262
     proprietary 261
     protect URLs 483
     realm 100
security role 199, 217, 342, 513
semaphore 444
serialized 155
server-side validation 519
servlet 9, 566
     ActionServlet 14, 49
     ActionServlet parameters 110
     requests 109
     VelocityViewServlet 559
Servlet API 153, 201
     2.3 201
servlet container 68
servlet context 280
Servlet specification 66, 186, 221
ServletExceptions 216
ServletRequest.getLocale() 418
Servlets 2.3 API 272
session 66, 83, 242, 430
session context 186, 211
Session Facade pattern 469
setter 160, 162, 176
Simper 455
singleton 256
Smalltalk 31
source tree 90, 130
SQL 38, 125, 243, 438, 445, 486, 557
     fetch 486
standard base actions
     BaseAction 222
     DispatchAction 224
     LookupDispatchAction 225
standard bridge actions
     ForwardAction 220
     Include Action 221
static
     definition 8
stringTokenizer 201
Struts
     strengths 56?57
     weaknesses 54, 56
Struts 1.0 vs 1.1 76, 78, 107, 184, 220, 224, 256, 374, 538, 542
Struts 1.1 76?78, 80, 83, 96, 100, 109?110, 113, 117, 123, 125, 140, 150, 160, 163, 171?173, 181, 184, 196, 204, 210, 212, 214?216, 224, 256, 258, 344, 399, 424, 489, 503?504, 516
     application resources 553
     features 535
     migration 534
     ReloadAction 544
     Tiles 540
     Validator 543
Struts configuration file 15, 21, 45, 69, 92, 106, 113, 133, 195, 249, 538
     DTD 118
     elements 117
     RequestProcessor 259
     struts-config
         Velocity 569
     struts-config objects subclassing 126
     Validator PlugIn element 543
     Velocity 561
Struts files
     install 134
Struts JAR
     share 142
Struts message resources file 77
Struts resource page 69
Struts Taglib Developer Guide 274
Struts tags
     converters 286
     features 280
     localize 284
Struts tip 155, 176, 179, 217, 223?224, 226, 232, 236, 241, 244, 297, 303, 306, 507
Struts Validator 136, 371, 374, 399
struts-bean.tld 46
struts-config.xml See Struts configuration file
struts-html.tld 46
Struts-Layout taglib 279
struts-logic.tld 46
style sheets 67, 305
suffix 202
Swing 31, 75?76, 482
synchronizer token 242, 295
 
T
 
tag library 109
Tag Library Descriptor 12, 109, 276, 541
taglib 148, 279, 323
thread 210
thread-safe 239, 495
     definition 210
tier 158
Tiles 6, 136, 221, 538
     ActionForwards 335, 338
     Artimus 499
     attributes
         add 343
         importAttribute 340
         put 341
         useAttribute 340
     checklist 135
     configure 134
     conventions 361
     create configuration 336
     declare Definitions 331
     Definition 327, 540
     Definition factory 335
     Definition naming convention 500
     Definition reuse 334
     deploy 328
     deploy Definition 333
     extend Definition 336
     extraction practices 353
     get 325
     getAsString 325
     ignore property 334
     inheritance 337
     insert 325
     JSP declaration 332
     localize 433
     migration 343
     migration to Struts 1.1 534
     migration to Tiles 1.1 540
     MVC 330
     overloading 333, 337
     parameters 327
     region 326
     Struts 1.1 540
     useAttribute 501
     web.xml 336
timestamp 175
TLD See Tag LIbrary Descriptor
Tokens 187
Tomcat 4, 16, 49, 96, 133, 138?139, 143, 271
     install 17
     test 17
toString() 325
transaction 445
transfer object 151, 155, 165, 470, 497, 507
     definition 155
     ProcessBean 447
transformer 151, 155
Turbine 39
 
U
 
Unicode
     definition 420
Uniform Resource Identifier 35, 109, 120, 152, 184?185, 209
     definition 70
Universal Modeling Language 115
upload 153
URI See Uniform Resource Identifier
URL encoding 152
     definition 152
URL rewriting 66
URL-pattern 260
 
V
 
validation 33, 72, 87, 149, 212
     client-side 368
     enable server-side 373
     hallmarks 367
     interrelated fields 397
     spoof 368
     Web-tier 367
validation.xml 124
Validator 6, 388, 503, 519
     configuration files 387
     custom messages 396
     declare validator element 394
     invoke 404
     JavaScript 521
     JSP tags 388
     localize 432
     logon example 374
     migration 399
     migration to Struts 1,1 534
     setup 399
     Struts 1.1 543
     taglib 379
     techniques 394
     Validate method 379
     validator.xml 377
     ValidatorActionForm 391
     ValidatorForm 391
     validator-rules.xml 374
Validator messages
     custom messages 386
     default validator messages 385
     replacement parameters 386
ValidatorForm 76
     super class 404
validator-rules.xml 136
value object 53, 155, 167, 169, 238, 273
     mutable 167
Velocity 4, 30, 36, 39, 46, 66, 69, 107, 239, 270, 555?557
     compare to custom tags 560
     context 559
     context attributes 560
     deploy 567
     HTML editors 557
     install VelocityViewServlet 566
     logon application 563
     references 559
     servlet resources 559
     setting up VelocityViewServlet 566
     statements 559
     Struts 561
     Template Language 557
     toolbox configuration 568
     toolbox parameter 567
     toolkit 562
View 31, 88
 
W
 
WAR 18, 62, 90, 133, 137, 478
web server 152
web.xml 12, 49, 82, 85, 92, 106?107, 133, 277, 344, 480
WebLogic 49
welcome file 109
welcome page 93
whitebox 257
wizard 76, 238?239, 390
 
X
 
XDoclet 470
XML 69, 331, 488?489, 519, 538