Foreword

I still remember first learning about the Spring framework back in 2004. I had been using J2EE and Struts heavily, and had struggled with many difficulties in effectively using those technologies while building Java enterprise applications. Instead of trying to do away with J2EE altogether, Spring tried to make using J2EE drastically simpler and more productive by offering a large collection of best practice implementations and an inversion of control container gluing it all together. An exciting proposition indeed!

While in general Spring did not try to reinvent the wheel by providing solutions competing with existing parts of J2EE or other established frameworks (notably Hibernate), there was one important exception to this rule: web application development. Spring shipped with its own web framework, Spring MVC, a fully functional web application framework that can serve as a direct alternative to something like Struts. At the time, I saw further opportunity to enhance Spring-based web application development by adding a page flow component to Spring MVC called Spring Web Flow. Spring MVC and Spring Web Flow are the prime subjects of this book.

The design of Spring MVC benefited from the lessons learned working with earlier frameworks. Flexibility and long-term productivity were core design goals. Well-designed Spring MVC applications can grow and change while remaining manageable and maintainable. Still, all was not good. Many found the initial learning curve when adopting Spring, and more specifically Spring MVC, too steep. New frameworks such as Ruby on Rails popped up and focused on short term-productivity and making it very easy to get up-and-running. The Spring developer community recognized this shortcoming, and the recent 3.0 and 3.1 releases of Spring MVC have largely addressed it: extensive use of convention-over-configuration and annotations have made the framework easer to use than ever, as this book will demonstrate! It is a real testament to the flexibility and design quality of Spring MVC that all of this has been possible while remaining 100% backward-compatible. You now have a framework offering the best of both worlds: easy to get started with while the fundamental principles underpinning it all pay dividends in the long term. Spring Web Flow is currently undergoing a similar evolution.

Since 2004, Spring MVC and Spring Web Flow have seen a steady and continued increase in popularity. They are now mature and well established Java development frameworks. If you build a Java web application on top of these frameworks, you can rest assured that you are building on a very solid foundation!

In this book, Marten and Koen take a practical approach to introducing Spring MVC and Spring Web Flow. Of course, they help you in setting up a productive development environment and guide you while getting started developing with Spring MVC and Web Flow. But they don't stop there. I really appreciate how they did not simply cover the technical details, but took the time to explain many of the underlying concepts, bringing a deeper understanding to you, the reader. Furthermore, the book also covers other important topics such as enforcing security constraints and making sure your web applications are well tested. After having read this book you should be well prepared to develop real-life web application based on Spring technologies.

I'm excited to see that to this day people are still benefiting from Spring and the small component I added to it back in 2004. I highly recommend this book for all those eager to learn about Spring MVC and Spring Web Flow, and I applaud the excellent job the authors have done in helping developers learn about these exciting Spring technologies.

Erwin Vervaet

Spring Web Flow project founder

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset