-
Chapter 1 Introduction
-
A Brief History of the Web
-
What Are Java Servlets?
-
JavaServer Pages
-
JSP Model 1 and Model 2 Architectures
-
Why Is Model-View-Controller So Important?
-
What Is a Framework?
-
Alternatives to Struts
-
-
Chapter 2 Inside the Web Tier
-
An Architecture Overview
-
The HTTP Request/Response Phase
-
Struts and Scope
-
Using URL Parameters
-
Forward Versus Redirect
-
-
Chapter 3 Overview of the Struts Framework
-
A Banking Account Example
-
Looking at the Big Picture
-
Struts Controller Components
-
Struts Model Components
-
Struts View Components
-
Multiple Application Support
-
Summary
-
-
Chapter 4 Configuring Struts Applications
-
The Storefront Application
-
What Is a Web Application?
-
The Web Application Directory Structure
-
The Web Application Deployment Descriptor
-
Configuring the web.xml File for Struts
-
The Struts Configuration File
-
The Digester Component
-
The Struts Console Tool
-
Reloading the Configuration Files
-
-
Chapter 5 Struts Controller Components
-
The Controller Mechanism
-
The Utilities Classes
-
-
Chapter 6 Struts Model Components
-
The "M" in MVC
-
What Is a Business Object?
-
Persistence
-
What Does Struts Offer for the Model?
-
-
Chapter 7 Struts View Components
-
What Is a View?
-
What Are ActionForms?
-
Using ActionErrors
-
Performing Presentation Validation
-
Using the DynaActionForm Class
-
Looking Ahead to JavaServer Faces
-
-
Chapter 8 JSP Custom Tag Libraries
-
Custom Tags Overview
-
Tag Libraries Included with Struts
-
Using JavaBeans with Struts Tags
-
Struts HTML Tags
-
Logic Tags
-
Bean Tags
-
Nested Tags
-
Other Useful Tag Libraries
-
The JSP Standard Tag Library (JSTL)
-
-
Chapter 9 Extending the Struts Framework
-
What Are Extension Points?
-
General Extension Points
-
Controller Extension Points
-
Extending View Components
-
Downsides to Extending the Framework
-
-
Chapter 10 Exception Handling
-
Java Exception Handling
-
Performance Impact of Exception Handling
-
System Versus Application Exceptions
-
Using Chained Exceptions
-
Exception Handling Provided by Struts
-
Tying Up the Loose Ends
-
Conclusion
-
-
Chapter 11 The Validator Framework
-
The Need for a Validation Framework
-
Installing and Configuring the Validator
-
Using an ActionForm with the Validator
-
Creating Your Own Validation Rules
-
The Validator and JSP Custom Tags
-
Internationalizing the Validation
-
Using the Validator Outside of Struts
-
-
Chapter 12 Internationalization and Struts
-
What Is Internationalization?
-
Support for I18N in Java
-
Internationalizing Your Struts Applications
-
Exception Handling and Internationalization
-
-
Chapter 13 Struts and Enterprise JavaBeans
-
Implementing the Storefront Service Using EJB
-
Interfacing Struts to EJB
-
Conclusion
-
-
Chapter 14 Using Tiles
-
Understanding Templates
-
Installing and Configuring Tiles
-
Using Tiles
-
The Tiles Tag Library
-
Using Definitions
-
Internationalization Support with Tiles
-
-
Chapter 15 Logging in a Struts Application
-
Logging in a Web Application
-
Using the Servlet Container for Logging
-
Jakarta Commons Logging
-
Using the log4j Package
-
Using Commons Logging in JSP Pages
-
The Performance Impact of log4j
-
Third-Party log4j Extensions
-
Java 1.4 Logging API
-
-
Chapter 16 Packaging Your Struts Application
-
To Package or Not to Package
-
Packaging the Application as a WAR File
-
Building Your Struts Applications with Ant
-
Creating an Automated Build Environment
-
Restarting Your Server Remotely
-
-
Chapter 17 Addressing Performance
-
What Is Good Performance?
-
Performance Versus Load Testing
-
Performance- and Stress-Testing Tools
-
Testing the Storefront Application
-
Performance and Scalability Gotchas
-
-
Chapter 18 JavaServer Faces
-
Struts and JavaServer Faces
-
Overview of JSF Architecture
-
Installing and Running the Example Struts-Faces Application
-
Converting Existing Struts Applications to JSF
-
Further Reading
-
-
Appendix A Changes Since Struts 1.0
-
ActionServlet and RequestProcessor
-
Modifications to the Struts Action Class
-
Changes to web.xml and struts-config.xml
-
Action Statics Changed
-
TagUtils and ModuleUtils
-
New Features of Struts 1.1
-
The Struts Validator
-
Change to Commons Logging
-
Removal of Admin Actions
-
Deprecation of the GenericDataSource
-
Dependency on Commons Projects
-
-
Appendix B Downloading and Installing Struts
-
The Binary Versus Source Distributions
-
Tips on Installing Struts in Tomcat
-
Tips on Installing Struts in WebLogic
-
Tips on Installing Struts in WebSphere
-
-
Appendix C Resources
-
The Struts Mailing Lists
-
The Struts Resource Web Page
-
Tiles Site
-
Nested Tags Site
-
The Struts Console
-
Easy Struts Project
-
-
Colophon
- Title:
- Programming Jakarta Struts, Second Edition
- By:
- Chuck Cavaness
- Publisher:
- O'Reilly Media
- Formats:
-
- Safari Books Online
- Print Release:
- June 2004
- Pages:
- 480
- Print ISBN:
- 978-0-596-00651-8
- | ISBN 10:
- 0-596-00651-9
Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The animal on the cover of Programming Jakarta Struts, Second Edition is a Percheron draft horse. This breed originated in the province of Le Perche in northwestern France. Purebreds are predominantly blackor gray, and some have white markings on their heads and feet. They weigh an average of 2000 pounds and are usually 16 to 17 hands (64 to 68 inches) high. Percherons adapt well to many climates and are extremely versatile: their ruggedness and power makes them ideal for hauling heavy loads, their placid nature makes them easy to handle, and their natural grace and beauty complement the finest horse-drawn carriages. They can be ridden, and some have even been made into jumpers.
In 732 A.D., Arabian horses abandoned by the Moors after the Battle of Tours were bred with native Flemish stock, producing the first Percherons. When the Crusaders invaded ten centuries later, more Arabian blood was added to the breed. However, the number of Percherons dwindled during the French Revolution, as horse breeding was suppressed. After the revolution, the new French government revived the breed by establishing a stud program for army mounts, using two Arabian sires at Le Pin, Normandy. In 1832 a foal named Jean Le Blanc was born in Le Perche, and all current Percheron bloodlines trace directly back to this horse.
Le Perche has since exported purebred stockworldwide, and an official Breed Association registers Percherons to ensure that the line remains genetically pure. The breed was most popular after World War I, when farmers from both Britain and the United States became familiar with them while serving in the armed forces. A 1930 U.S. census showed that registered Percherons outnumbered other draft horses by a margin of three to one, but after World War II, the farm tractor nearly replaced the breed entirely. However, it was kept alive by many farmers, especially those in Amish communities. Today, Percherons continue to work on farms and often perform in competition at livestockfairs. They are also used used to provide recreational hay, sleigh, and carriage rides. Philip Dangler was the production editor and copyeditor for Programming Jakarta Struts, Second Edition. Mary Brady, Emily Quill, and Darren Kelly provided quality control. Julie Hawks wrote the index.
Emma Colby designed the cover of this book, based on a series design by Edie Freedman. The cover image is a 19th-century engraving from the Dover Pictorial Archive. Emma Colby produced the cover layout with QuarkXPress 4.1 using Adobe's ITC Garamond font.
Melanie Wang designed the interior layout, based on a series design by David Futato. This book was converted to FrameMaker 5.5.6 by Andrew Savikas with a format conversion tool created by ErikRay, Jason McIntosh, Neil Walls, and Mike Sierra that uses Perl and XML technologies. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont's TheSans Mono Condensed. The illustrations that appear in the bookwere produced by Robert Romano and Jessamyn Read using Macromedia FreeHand 9 and Adobe Photoshop 6. The tip and warning icons were drawn by Christopher Bing. This colophon was written by Philip Dangler.
