Book Image

Apache Struts 2 Web Application Development

By : Dave Newton
Book Image

Apache Struts 2 Web Application Development

By: Dave Newton

Overview of this book

<p>Struts 2.1 is a modern, extensible, agile web application framework suitable for both small- and large-scale web applications.<br /><br />The book begins with a comprehensive look at Struts 2.1 basics, interspersed with detours into more advanced development topics. You'll learn about configuring Struts 2.1 actions, results, and interceptors via both XML and Java annotations. You'll get an introduction to most of the Struts 2.1 custom tags and learn how they can assist in rapid application prototyping and development.<br /><br />From there you'll make your way into Struts 2.1's strong support for form validation and type conversion, which allows you to treat your form values as domain objects without cluttering your code. A look at Struts 2.1's interceptors is the final piece of the Struts 2.1 puzzle, allowing you to leverage the standard Struts 2 interceptors as well as implement your own custom behavior.<br /><br />After covering Struts 2.1 you'll journey into the world of JavaScript, a surprisingly capable language, the Document Object Model (DOM), and CSS, and learn how to create clean and concise client-side behavior. You'll leverage that knowledge as you move on to Struts 2 themes and templates, which give you a powerful way to encapsulate site-wide user interface behavior.<br /><br />The book closes with a look at some tools that make the application development life cycle easier to manage, particularly in a team environment, and more automatic.</p>
Table of Contents (21 chapters)
Apache Struts 2 Web Application Development
Credits
About the Author
Acknowledgement
About the Reviewers
Preface

Getting started with our application


The traditional model of application development generally starts with the gathering of requirements, followed by separate design, implementation, verification, and maintenance phases. This is called the waterfall method and has been around for many years.

In contrast, more agile models of development focus on the user experience, rapid turnaround of functionalities, and iterative development. This allows our clients to provide feedback in parallel with development, requesting changes in functionality, detecting usability and application flow issues, and so on, early in the process. In many circumstances, this lightweight development cycle can greatly speed up the development time, and deliver an application that more accurately meets the client's needs.

Gathering user stories—defining our application

Our client is building a recipe swapping website, which allows us to build a shopping list from a set of selected recipes. Even without any further requirements...