Writing a book of this type is never the work of just one person; it literally takes an army of hardened soldiers, and this book is no exception. From the editors to the marketing organization to the reviewers of the manuscript, this book simply would not have been possible without the group of dedicated folks that gave up many of their nights and weekends to help ensure that the quality was the highest possible. Any credit should be given to all of the great people involved; any mistakes are mine alone.
First, I need to thank my O'Reilly editors, Brett McLaughlin and Robert Eckstein, two of the most dedicated and sincere editors that I have worked with. I hope we have a chance to work together on future projects. Your advice and leadership made the task much easier than I could have imagined. I also would like to thank Kyle Hart from O'Reilly's marketing department. Your help was dearly appreciated.
Next, I would like to acknowledge the team of fine developers that I first learned Struts with. The bond that our little NV team had was something special that comes around only once in a while. I really enjoyed working with all of you.
The following people played a special role by giving me advice on the book's content and direction: Steve Ardis, Jill Entinger, See Yam Lim, and Ted Husted (although Ted may not realize that he contributed in this way).
When I first decided to post the draft chapters of the book, I made a comment that if any reviewers went beyond the call of duty, I would personally thank them in the acknowledgments of the book. Little did I realize how many would take me up on it! There are so many that I can't thank each and every one individually. Over 100 people contributed feedback for one or more chapters of this book. The Struts community is by far one of the best. Almost every person on the Struts mailing list has contributed in one way or another. To each of you, thank you!
Thanks to the following people: John Guthrie, David Karr, Brent Kyle, Stefano Scheda, and Rick Reumann for asking all the right questions, Mark Galbreath for reminding me of my 10th-grade English teacher, and James Mitchell and James Holmes for getting me involved with the Atlanta Struts group.
I need to say a special thanks to Tim Drury for his help on Chapter 16. His Ant skills are known worldwide. Special thanks also to Brian Keeton, who wrote Chapter 13 because I'm too slow he's the smartest EJB developer I know. Both of you are great friends and simply the finest humans that I've ever met. Just knowing you has made me a better person. I hope we can work together again.
The group at TheServerSide.com deserves special thanks from me and the reviewers for allowing the draft chapters of this book to be available for download. This is a great example of what the future holds for book publishing.
I would be remiss if I didn't thank the entire Struts community. I have met and corresponded with many smart developers who also strike me as just really fun people to hang around with. The feedback and suggestions I received during this process were awesome. I hope that all of you got some benefit out of this, and I appreciate everyone's patience while some of this was figured out as I went.
Finally, all Struts developers should give thanks to Craig McClanahan for having the wits about him to create the framework and make it freely available to the community. He could have tried to make a profit from it by starting Struts, Inc., but he realized that he would be rewarded ten-fold anyway, and I'm sure he has been. Craig, it's a nice framework, you should be proud. And to all of the committers on the Struts project, what would it really be without you? Thanks for all of your help.