struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chappell, Simon P" <>
Subject [Book Review] Struts Kick Start
Date Fri, 20 Dec 2002 20:51:34 GMT
Book Review

(In the Slashdot book review format)

Struts Kick Start

I started learning how to use the Struts framework in late in 2001, after I became fed-up
with hacking web applications together with the digital equivalent of "Duct-tape Engineering".
At that time there were no books available for the budding Struts developer, "Read The Fine
Manual" was not an option ... you read the website, you read the code or you asked questions
on the mailing list. This situation finally changed this fall with the release of a flurry
of titles dedicated to Struts. I present here my thoughts on one of the latest: "Struts Kick

Author:	James Turner and Kevin Bedell
Pages:	481 (29 page index)
Publisher:	Sams
Rating:	9/10 (Just shy of perfect)
Reviewer:	Simon P. Chappell
ISBN:		0-672-32472-5
Summary:	You need this book.

What is Struts?

Struts is a framework for developing web applications. It is a distilation of the current
set of known best practices into a working code set that can be extended to meet almost any
web application requirements. It part of the Jakarta Project at the Apache Software Foundation.

What do I know about Struts?

I have been developing web applications, using Java, for four years and using struts for over
a year, and am a regular participant on the Struts mailing list. I was also a technical reviewer
for one of the other Struts Books released this fall and was recently invited to speak at
the University of Wisconsin, Eau Claire on the use of Struts.

What's good about this book?

There are many excellent things that I could point to. I particularly like the obvious depth
of research that accompanies this book. There is a very interesting history of the development
of the MVC design pattern and they even name the inventor. Do you know who invented MVC? If
you want to know, buy the book!

The chapters cover everything that you will need to know, in the order you are most likely
to need to know it. There's even a chapter explaining the "struts-config.xml" file's DTD!
(You may want to skip that on the first few readings :-)

There is good coverage of the Struts taglibs. I see a lot of questions about these on the
mailing lists, so this information is very timely and it looks very well explained.

I like the coverage of other open source tools that work well with Struts. This is an important
point because Struts does not do everything for you (by design), so there will be areas that
will benefit from other tools. I'm looking forward to trying out some of their recommendations
and easing my own Struts development lifecycles.

What's not so good?

Just one niggle, and it's more of a programming style issue, but in their example code they
have references to their business objects. They explain that it is important to separate out
business logic from action logic, which it is, but then proceed to use their business object
within the action.

Now, I realise that example code is not the same thing as robust, production-ready code, but
when people are first learning a language or framework, they tend to copy exactly what they
see in the book they are learning from. Even though example code should be light on error
checking, it should be heavy on correctness and good style.

Should you rush out and buy it?

If you are about to use Struts on a project, are new to Struts and need dead tree documentation
for those RTFM moments or are evaluating Struts for future projects, then you absolutely need
this book.

If you are an intermediate Struts user, then this book would still be very useful to you and
I can certainly recommend it.

If you are an experienced Struts user, then you've almost certainly exchanged emails with
James or Kevin, on the Struts mailing list, so you can make your own mind up!


Simon P. Chappell           
Java Programming Specialist            
Lands' End, Inc.                                   (608) 935-4526

To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message