PrefaceOver the last few years, web development has turned a very important corner. Gone are the days when Java™ developers wrestled with a single JSP that contained presentation logic, database access via SQL, and navigational intelligence. Java web developers have learned from their mistakes, paid the price in debugging and maintenance time, and moved on.The number and variety of readily available web frameworks today is immense. It's hard to point a browser at a Java technical site without finding a newly released web framework that's going to revolutionize the modern world. While some may see this as a bad thing that might divide the Java community, the truth is that the constant emergence of new frameworks is just evolution at work.The design and construction of today's nontrivial web applications pushes developers to the limit of what's logically and physically possible. Myriad solutions are thrown at the problems these applications present. Some of the solutions stick, and as with human evolution, valuable characteristics are passed on in future generations of software. Other solutions do not—those that fail to serve the needs of users and add value usually fall by the wayside.Through this evolutionary process, the Jakarta Struts framework (created by Craig R. McClanahan and donated to the Apache Software Foundation in 2000) has emerged as one of the best web frameworks available. This book covers Version 1.1, which contains many major enhancements over the previous Jakarta Struts release. If you are building applications, web-based or not, one of the main things you will learn from this book is that frameworks such as Struts are a great time investment.
1