This book is going to cover how to use and integrate the following Jakarta technologies:
The Struts development framework
The Lucene search engine
The Velocity templating framework
The ObjectRelationalBridge persistence tool
The Ant build utility
All of these development tools and frameworks are available for download from the Jakarta web site (http://jakarta.apache.org).
All of the code examples were built and
The database used for the application code was deployed using version 3.23 of the MySQL database (http://mysql.org).
To help you get the most from the text and keep track of what's happening, we've used a number of conventions throughout the book.
These boxes hold important, not-to-be-forgotten information, which is directly relevant to the
While the background style is used for asides to the current discussion.
As for styles in the text:
When we introduce them, we highlight important words
We show keyboard strokes like this: Ctrl-K
We show filenames and code within the text like so: <element>
We present code in two different ways:
In our code examples, the code foreground style shows new, important, pertinent code while code background shows code that is less important in the present context or has been seen before.
We always value hearing from our readers, and we want to know what you think about this book: what you
We've made every effort to make sure that there are no errors in the text or in the code. However, no one is perfect and mistakes do occur. If you find an error in one of our books, like a spelling mistake or faulty piece of code, we would be very grateful for your feedback. By sending in errata you may save other reader hours of frustration, and of course, you will be helping us provide even higher quality information.
To find known errata and submit new errata, simply go to the appropriate book page on the Apress website at http://www.apress.com.
For author and peer discussion, join the Apress discussion groups. If you post a query to our forums, you can be confident that many Apress authors, editors, and other industry experts are examining it. At http://forums.apress.com you will find a number of different lists to help you, not only while you read this book, but also as you develop your applications.
To sign up for the Apress forums, go to http://forums.apress.com and select the New User link.
This book will
While most books are heavy on explanation and light on actual code demonstration, this book emphasizes approachable code examples. The authors of this book want to provide a roadmap of JOS development tools to build your applications. Our intent in this book is not to present each of the frameworks in minute detail. Frankly, many of the development frameworks presented in this book could have entire books written about them.
This book will build a simple application using the following Jakarta technologies:
Struts Web Development Framework :
A Model-View-Controller-based development framework that enables developers to quickly assemble applications in a pluggable and extensible manner.
A powerful indexing and search tool that can be used to implement a search engine for any web-based application.
A templating framework that allows a development team to easily build "skinnable" applications, whose "look and feel" can be easily modified and changed.
An industry-accepted Java build utility that allows you to create sophisticated application and deployment scripts.
This chapter will not go into the details of the technologies listed above. Instead, it will highlight some of the common challenges in building web applications and explore some common design mistakes and flaws that creep into web-based application development efforts.
The truth is that, while all developers would like to write new applications from scratch, most of their time is spent in performing maintenance work on existing software. Identifying design flaws, referred to as antipatterns throughout this book, and learning to use JOS development frameworks to refactor or fix these flaws can be an invaluable tool.
Specifically, the chapter will explore how the following web-based antipatterns contribute to entropy within an application:
The chapter will end with a discussion of the cost savings associated with building your own application development framework vs. using JOS development framework.