Tải bản đầy đủ (.pdf) (19 trang)

Tài liệu XML, XSLT, Java, and JSP: A Case Study in Developing a Web Application- P16 docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.24 MB, 19 trang )

732
hosts
hosts
actors, adding, 240-242
chats
exiting, 113
starting, 112-114
commands, 153
executing, 112
exiting, 112
priority over guests, 153
ratings
decreasing, 113, 115
increasing, 115
host_executes_chat.jsp file, 175
host_executes_chat_controls.jsp file, 176-179
host_executes_chat_frame.jsp file, 179-180
host_executes_chat_robot.jsp file, 181-183
House (Things element), 87
how to use book, 4
HTML
actor_leaves_frameset_robot.jsp, 174-175
forms, sending XML from, 98
frames, 143
JSP, 143-145
host_executes_chat.jsp file, 175
host_executes_chat_controls.jsp file, 176-179
host_executes_chat_frame.jsp file, 179-180
host_executes_chat_robot.jsp file, 181-183
viewing, 102
visitor_starts_chat_controls.jsp, 171


visitor_starts_chat_frame.jsp, 167-171
visitor_starts_chat_ready.jsp, 171-173
vistor_executes_choice.jsp, 167
vistor_joins_chat_frame.jsp file, 184-186
XML, mapping, 87
HTTP
BonForumEngine class, 190
requests, forwarding, 217-219
sessions
branding, 402
multiple elements, 410
HTTP 400 file not found error
(Tomcat), 42
HTTP 500 internal server error (Tomcat),
41-42
HttpJspPage, 56
HTTPRequest object, 99
HTTPRequest parameter, 98
HTTPServlet class, 99
HttpServletRequest object, 193
hyperlinks, bonForum, 113
I
IBM samples, compiling and running, 66-67
IDE (integrated development
environment), 19
applying, 22
configuring, 83
ElixirIDE, 22
compiling bonForum, 30
configuring bobForum projects, 26-28

creating bobForum projects, 25
debugging Java, 32-33
default Elixir project settings, 28-29
excuting Java, 31
features, 33
plug-in extensions, 23-24
starting, 23
ElixirIDE-Lite, installing, 22
identity element, 95
identity node, 95
IIS (Internet Information Server), 7
Tomcat, applying, 38
implementation, bonForum, 103
BonForumEngine/BonForumStore, 129
BonForumRobot, 142
browsers, 107
data as heirarchies, 106
databases, 114-116, 119-124
filtering messages, 145
forwarding from servlets to JSPs, 129-130
frames, 143-145
itemKey attribute, 147
JSP documents, 130-131
messages, 140-141
normalizing user input, 147
optimizing speed, 135-137
prototyping custom JSP tags, 126-128
scrollbar resets, 145
searching chat filters, 146
servers, 108

session-based application information,
134-135
states, 108-113
style sheets, 134
synchronizing multiple threads, 137-138
testing Web applications, 143
viewing subjects, 138-139
XML data storage, 124-125
XML methods, 147
XML representation, 104-106
XSLT Transform, 131-133
increasing
hosts, ratings, 113-115
JSP files, 187-188
independence platforms, 14
17 1089-9 Index 6/26/01 8:17 AM Page 732
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
733
Java
initializing
BonForumStore, 221-222
bonForumXML, 266-268
context, parameters, 192
databases, 427, 429
servlets, parameters, 192
input
normlizing, 147
users, JSP-based Web applications, 156
InputSource, 133
inspectors, hierarchies, 24

installing
bonForum, 77-78, 80
Tomcat Server availability, 78-79
troubleshooting, 82
ElixirIDE-Lite, 22
Java 2 SDK, 16-17
Tomcat, 37-39
Tomcat Servers, verifying, 78
Xalan, 68-69
documentation, 70
matching Xalan and Xerces versions, 70
xalan.jar file, 69
Xerces, 62-63
documentation, 64
xerces.jar file, 63
integrated development environment.
See IDE
intention of book, 1-3
interaction, users (XML), 88
interfaces
BUI. See BUI, 155
HttpJspPage, 56
linking list controls, 396
multipanel GUIs, generating, 98
prefetching grandchildren, 395
XML, 89
internationalization, 153
Internet Explorer 5.x, executing Java 2
SDK, 18
Internet Information Server (IIS), 7

invoking
chat methods, 274-277
JSP custom tags, 278-281
JSP scriptlets, 281-284
processRequest( ), 214
IP addresses, applying, 79
isGuestInChat( ) method, 275
isHostInChat( ) method, 275
isNodeAChildOfRoot( ) method, 394
itemKey attribute, 147
items
itemKeys, adding, 245
markers, adding, 243-245
Itools, development (Java 2 SDK), 19
J
Jakarta Project Web site, 36
Jakarta Tomcat, 13-14, 36
adding to Web applications, 49-53
Apache licenses, 37
comparing to Apache Server, 36-37
developing Web applications, 49
examples, 49
executing, 39-41
files/folders, 44
installing, 37-39
log files, 44
selecting, 36
troubleshooting, 41-43
WAR files, 44-45
Web App folders, 44-45

Web application configuration files, 46-48
Web application contexts, 46
Java
applets
actor_leaves_frameset_robot.jsp file, 174-175
host_executes_chat.jsp file, 175
host_executes_chat_controls.jsp file, 176-179
host_executes_chat_frame.jsp file, 179-180
host_executes_chat_robot.jsp file, 181-183
Beans, 94
code
scripting, 132
placing in XML, 75
compiling, 19
adding classes, 29
applying window comamnd prompts, 20-22
configuring bonForum projects, 26-28
creating bonForum folder hierarchy, 24-25
creating bonForum projects, 25
default Elixir project settings, 28-29
ElixirIDE, 22
IDE, 22
installing ElixirIDE-Lite, 22
plug-in extensions (ElixirIDE), 23-24
starting ElixirIDE, 23
controlling, 100
databases, XML data storage, 124-125
debugging, 32-33
executing, 30-31
ForestHashtable class, 385-387

BonNode class, 388-390, 398-403
design, 391
getGrandChildrenOfNode( ) method, 395
hasNodeAGrandParent( ) method, 394
hierarchical data representation, 391
isNodeAChildOfRoot( ) method, 394
NodeKey class, 387-388, 398-403
objects, 386
tables using multiple keys, 391-394
17 1089-9 Index 6/26/01 8:17 AM Page 733
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
734
Java
methods, 115
platform independence, 14
plug-ins, 81
BonForumRobot applet, 81
servlets, 53
adding to Web Applications, 49-53
Apache licenses, 37
comparing to Apache Server, 36-37
developing Web Applications, 49
examples (Tomcat), 49
executing Tomcat, 39-41
files/folders, 44
forums, 54
installing Tomcat, 37-39
log files, 44
resources, 54
selecting Tomcat, 36

sending XML to browsers, 99
Servlet API Javadoc, 53
specifications, 54
troubleshooting Tomcat, 41-43
tutorial, 54
WAR files, 44-45
Web App folders, 44-45
Web Application configuration files, 46-48
Web Application contexts, 46
source code, compiling, 83
Xalan-Java 2, 132
Java 2 platform, 15
SDK
development tools, 19
documentation, 17
executing Internet Explorer 5.x, 18
installing, 16-17
reviewing, 18
runtime environment, 17
Java 2 SDK, expanding source files, 28
Java 2 SDK version 1.3, 9
JAVA HOME environment variable,
configuring, 17
java.util.Hashtable class, 386
JavaServer pages, 120
joining chats, 254-259
bonForum, 110
JSP, 53
actor_leaves_frameset_robot.jsp file, 174-175
and XML, 74-75

bonCommnads, 116
BonForumEngine
abnormal outcomes (service( ) method),
215-217
bonForumCommand (processRequest( )
method), 222-223
chat (processRequest( ) method), 223-224
chat messages (processRequest( ) method), 260
chat variables(processRequest( ) method),
225-228
class, 190
configuring serviceStatus/sessionID
(processRequest( ) method), 221
entering Web applications (service( ) method),
205-206
forwarding HTTP requests (service( ) method),
217-219
“guest executes chat” (processRequest( )
method), 246-259
“host executes chat” (processRequest( )
method), 229-245
initializing bonForumStore (processRequest( )
method), 221-222
invoking processrequest( )
(service( ) method), 214
nicknames (service( ) method), 208-210
normal requests in Web applications (service( )
method), 206
processRequest( ) method, 219-221
requests for engine control

(service( ) method), 205
returning serviceStatus (processRequest( )
method), 262
servelte-mapped requests (service( ) method),
211-213
service( ) method, 193, 195-204
validating session objects (service( ) method),
207-208
Web application context, 191-192
browsers, sending XML from, 99
code, 150-151
compatibility with XML, 74-75
cookies, viewing, 91-92
creating XML, 75
custom tags, 278-281
XSLT, 132-133
delays, 81
documents, 130-131
viewing bonForum, 163-187
filenames, 117-119
files, 186-187
bonForum, 187-188
editing, 84
forums, 55
forum_entry.jsp file, 165
forum_login.jsp file, 164-165
frames, 143-145
generating multipanel GUIs, 98
host_executes_chat.jsp file, 175
host_executes_chat_controls.jsp file, 176-179

host_executes_chat_frame.jsp file, 179-180
host_executes_chat_robot.jsp file, 181-183
HTML, vieiwng, 102
Jakarta Tomcat, 13-14
17 1089-9 Index 6/26/01 8:17 AM Page 734
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
735
Megginson SAX, SAX parsers
mailing lists, 55
output, XSLT output, 148
overview, 1-3
how to use book, 4
resources, 4-5
technology choices, 5
packages, 55-57
requests, 119-124
forwarding, 93
resources, 54
robot, 120
scriptlets, 281-284
servlets, forwarding, 129-130
specifications, 55
states, 117
tag library, 128
tags, prototyping, 126-128
Tomcat
adding to Web applications, 49-53
Apache licenses, 37
comparing to Apache Server, 36-37
developing Web applications, 49

examples, 49
executing, 39-41
files/folders, 44
installing, 37-39
log files, 44
selecting, 36
troubleshooting, 41-43
WAR files, 44-45
Web App folders, 44-45
Web application configuration files, 46-48
Web application contexts, 46
troubleshooting, 84
tutorials, 55
vistor_executes_choice.jsp file, 165-167
vistor_joins_chat_frame.jsp file, 184-186
vistor_starts_chat_controls.jsp file, 171
vistor_starts_chat_frame.jsp file, 167-171
vistor_starts_chat_ready.jsp file, 171-173
Web applications, 155-163
files, 163
prototypes, 161-162
servlet communication, 157-160
tag libraries, 162
user input, 156
user output, 156
Web pages, sending XML to, 100
XML
applying, 92-93
creating events, 90-91
passing to browsers, 99

tags, 94
jsp:forward command, 172
jsp:plugin element, 174
jsp:useBean, 158
jspService method, 56, 99
K–L
keys
caching, 398-404
configuring, 410
HashTable, 401
ItemKeys, adding, 245
tables, applying mulitple keys, 391-394
triple-key values, applying, 388
languages
internationalization, 153
software, selecting, 7
leaf nodes, 106
libraries
JSP tags, 94, 128, 162
tags, vistor_joins_chat_frame.jsp file, 184-186
licenses, Apache, 37
linking list controls, 396
links, bonForum, 113
list controls, linking, 396
lists
guests, viewing, 150
vistor_starts_chat_controls.jsp, 171
vistor_starts_chat_frame.jsp, 167-171
loading bonForumXML, 268-270
loadXMLSubTreeIntoForestHashtable( )

method, 270
local data, 141
locks, thread watchdogs, 154
log files, Tomcat, 44
login
bonForum, 109
forum_login.jsp, 164-165
logs, 85
M
mailing lists, JSP, 55
maintenance, logs, 85
manual, Tomcat, 38
mapping
pathNameHashtable object, 402
servlet-mapped requests, 211-213
servlets, 192
XML, XSLT, 87
markers, adding items, 243-245
matching Xalan and Xerces versions, 70
Megginson SAX, SAX parsers, 67
17 1089-9 Index 6/26/01 8:17 AM Page 735
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
736
messages
messages
chat, 259-262
filtering, 145
refreshing, 141
viewing, 128, 140-141, 148-150, 153
methods

add( ), 271-273
addChatNodeAttribute( ), 277
addNOde( ), 399, 405-406
addToBuffer( ), 273
attributeExists( ), 425
changeChatActorRating, 281-282
chat, invoking, 274-277
countChildren( ), 424
deleteNode( ), 390, 413
doDeleteNodeRecursive( ), 412
edit( ), 274
editBonNode( ), 274, 415
ForestHashtable class, 424-427
getActorNicknameNodeKey( ), 276-277
getAttributeValue( ), 425-427
getBonForumAttributeValue( ), 277
getBonForumChatItemNodeKey( ), 276
getBonForumChatNode( ), 277
getBonForumChatNodeKeyKey( ), 275
getChildNodeFromAttributeValue( ), 424-425
getGrandChildrenOfNode( ), 395
getNextChildOfNonRootNode( ), 422, 424
getNextChildOfNonRootNode
Recursively( ), 421-422
getNextChildOfRootNode( ), 420-421
getNextRootNode( ), 419-420
getXMLForest( ), 390
getXMLTrees( ), 280-281, 417-418
hasAtLeastOneChild( ), 414
hasNodeAGrandParent( ), 394

isGuestInChat( ), 275
isHostInChat( ), 275
isNodeAChildOfRoot( ), 394
Java, 115
jspService, 56, 99
moveNode( ) method , 434
outputForumChatMessages, 140-141
outputForumChatMessages( ), 279-280
outputForumPathNames( ), 278-279
processRequest( ), 219-221
bonForumCommand, 222-223
chat JSPs, 223-224
chat messages, 259-260
chat variables, 225-228
configuring serviceStatus/sessionID, 221
“guest executes chat”, 246-259
“host executes chat”, 229-245
initializing bonForumStore, 221-222
returning serviceStatus, 262
remove( ), 273
removeFromBuffer( ), 273-274
service, requests, 129
service( ), 193, 195-204
entering Web applications, 205-206
nicknames, 208-210
normal requests in Web applications, 206
requests for engine control, 205
servlet-mapped requests, 211-213
validating session objects, 207-208
servlets, calling, 126-127

showDocument, 181
unDoNodeDeletion( ), 390
unFlagAllFlaggedElements( ), 419
XML, 147
modeling XPATH, 433
models, XML
Actors, Actions, and Things, 87
cookies, 91-92
data flows, 98-102
formatting Web applications, 86
interfaces, 89
JSP, 90-93
lack of UML modeling tools, 88
omitting functionality, 96-97
simplifying, 94-96
tags (JSP), 94
tree diagrams, 90
user interaction, 88
XSLT in, 87
modifying
bonForum, 83-84
logs, 85
style sheets, 85
XML, elements, 271-274
moveNode( ) method, 434
multiple elements, HTTP sessions, 410
multiple keys, tables, 391-394
multiple threads, synchronizing, 137-138
N
names, BonNode class, 389

newsgroups, 4
nicknames, 208-210
NodeKey, creating, 404
nodeKey attribute, 104
NodeKey class, 387-388, 398-403
nodeKeyHashtable object, 398-399
nodeNameHashtable object, 399
nodes, 398
access, 409-410
adding, 410
enforcing uniqueness, 434
17 1089-9 Index 6/26/01 8:17 AM Page 736
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
737
projects, bonForum
ForestHashtable class
adding, 404, 406-409
deleting, 411, 413-414
editing, 414-415
nonroot, 410-411
root, 410-411
host, 95
identity, 95
leaf, 106
root, adding, 267
sharing, 411
vistor, 95
non-applet versions of bonForum, 82
nonroot nodes
children, adding, 268, 399

ForestHashtable class, 410-411
normal requests in Web applications, 206
normalizing user input, 147
notes, service( ) method, 197-199
O
objects
ForestHashtable, 107
ForestHashtable class, 386
HTTPRequest, 99
HttpServletRequest, 193
nodeKeyHashtable, 398-399
nodeNameHashtable, 399
pathNameHashtable, 401-403
session, validating, 207-208
omitting XML functionality, 96-97
onForumEngine, pathNameHashtable, 401
operating systems, selecting, 7
optimization
algorithms, 434
applets, 154
bandwidth, 396
ForestHashtable, 385-387
BonNode class, 388-390, 398-403
design, 391
getGrandChildrenOfNode( ) method, 395
hasNodeAGrandParent( ) method, 394
hierarchical data representation, 391
isNodeAChildOfRoot( ) method, 394
NodeKey class, 387-388, 398-399, 401-403
objects, 386

tables using multiple keys, 391-394
speed, 135-137
outcomes, abnormal, 215-217
output
users, JSP-based Web applications, 156
XML, bonForum data as, 150-151
XSLT, including on JSP output, 148
OutputChatMessagesTag class, 128
outputForumChatMessages( ) method,
140-141, 279-280
outputForumPathNames( ) method,
278-279
OutputPathNamesTag, 128
overview, 1-3
how to use book, 4
resources, 4-5
technology choices, 5
P
packages, JSP, 55-57
PageContext class, 56-57
pages, scope, 58
parameters
applets
actor_leaves_frameset_robot.jsp files, 174-175
host_executes_chat.jsp files, 175
host_executes_chat_controls.jsp files, 176-179
context, 192
HTTPRequest, 98
requests, 156
bonCommand, 165

servlets, 192
parentNodeKey, 389
parsing, avoiding, 135-137
passing data between JSP files, 187-188
passing information between chats, 251-254
Path settings, 27
pathNameHashtable object, 137, 401-403
paths, configuring Java 2 SDK, 17
persistent data storage, 97
Pizza (Things element), 87
platforms
independence, 14
Java 2, 15
development tools, 19
documentation, 17
executing Internet Explorer 5.x, 18
installing SDK, 16-17
reviewing, 18
runtime environment, 17
selecting, 7
Windows NT 4.0, 8
plug-ins
ElixirIDE, 23-24
Java, 81
projects, bonForum
adding classes, 29
creating in ElixirIDE, 25
configuring in ElixirIDE, 26-28
default Elixir project settings, 28-29
17 1089-9 Index 6/26/01 8:17 AM Page 737

Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
738
POST operation
POST operation, 93
prefetching grandchildren, 395
processing client-side, comparing to
server-side processing, 6
processors, XSLT, 99
ProcessRequest, 203
processRequest( ) method,
BonForumEngine servlet, 219-221
bonForumCommand, 222-223
chat JSPs, 223-224
chat messages, 260-262
chat variables, 225-228
configuring serviceStatus/sessionID, 221
“guest executes chat,” 246-259
“host executes chat,” 229-245
initializing BonForumStore, 221-222
invoking, 214
Projects\bonForum\src\
BonForumRobot.java, 482-487
Projects\bonForum\src\bonMakeIt.bat, 481
Projects\bonForum\src\de\tarent\forum\
BonForumEngine.java, 487-515, 517-525
Projects\bonForum\src\de\tarent\forum\
BonForumStore.java, 525-574
Projects\bonForum\src\de\tarent\forum\
BonForumTagExtraInfo.java, 574
Projects\bonForum\src\de\tarent\forum\

BonForumUtils.java, 574-578
Projects\bonForum\src\de\tarent\forum\
BonLogger.java, 578-580
Projects\bonForum\src\de\tarent\forum\
BonNode.java, 580-581
Projects\bonForum\src\de\tarent\forum\
ForestHashtable.java, 581-605
Projects\bonForum\src\de\tarent\forum\
NodeKey.java, 606-607
Projects\bonForum\src\de\tarent\forum\
OutputChatMessages.java, 607-610
Projects\bonForum\src\de\tarent\forum\
OutputDebugInfoTag.java, 610-615
Projects\bonForum\src\de\tarent\forum\
OutputPathNamesTag.java, 615-619
Projects\bonForum\src\de\tarent\forum\
TransformTag.java, 619-625
Projects\bonForum\src\de\tarent\forum\
Xalan1Transformer.java, 625-628
Projects\bonForum\src\de\tarent\forum\
Xalan2Transformer.java, 628-630
promoting guests, 154
prompts, applying window command,
20-22
properties
beans, accessing, 282-284
BonForumStore, 264-265
bonForumXML, 270
protecting data from deletion, 152
prototypes, interfaces (JSP-based Web

applications), 161-162
prototyping custom JSP tags, 126-128
pseudocode listings, service( ) method,
194-197
public methods, ForestHashTable, 424-427
purpose of BonForumEngine class, 263-264
Q–R
qualification, beans (BonForumStore), 263
rapid lookup, XML elements, 269
ratings
guests, 150
hosts, 113-115
readme files, Java 2 SDK, 16
reducing JSP files, 187-188
refreshing messages, 141
rejoining
chats, 249-250
existing chats, 232
reloading dynamic subjects, 154
remove( ) method, 273
removeFromBuffer( ) method, 273-274
representation, XML, 104-106
requests
attributes, 159
BonForumEngine, class, 190
chat, 171-173
classification, 203-204
control, 204
engine control, 205
forwarding, 93

HTTP, forwarding, 217-219
JSP, 119-124
forwarding from servlets, 129-130
normal,Web applications, 206
parameters, 156
bonCommand, 165
scope, 58
security, 204
servelt-mapped, 211-213
service method, 129
service( ) method, classifying, 199-201
URLs, 200-201
resets, scrollbars, 145
17 1089-9 Index 6/26/01 8:17 AM Page 738
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.

×