blob: 3f22778d127bc15c3f29b9ff98e369cfef47f7f0 [file] [log] [blame]
Who We Are
Craig R. McClanahan -- Committer
I've been involved with servlet and JSP technology since around 1998. It
started out that I needed a way to build some web applications for several
projects, and liked Java a lot better than the alternatives. I also liked the
price tag of open source software, and started using Apache JServ -- later on,
getting involved in the project (like many people, I was whining about the
twelve months it took to get from version 0.9 to version 1.0, and my son said
"Dad, you know Java -- go help them finish it!" -- so I did :-).
For quite a while, I was participating a lot on the JSP-INTEREST and
SERVLET-INTEREST mailing lists (, especially on
the topic of good architectures for web applications. I was disgusted with the
hash that many beginners created when they used (or abused) scriptlets in JSP
pages, and built (for my former employer) a pretty comprehensive framework that
could be considered ("Struts 0.01 without the custom tags"). It was
proprietary code, but I was able to describe the concepts, and there started to
be a feeling on the lists that this "Model 2" thing was pretty cool -- but
there were no good examples to look at, so it was mostly hand waving types of
Over the same time period, I got involved as an individual contributor in the
Java Community Process (, and joined the expert group
that defined the servlet 2.2 and JSP 1.1 specs. Sun was impressed enough to
offer me a job as the technical lead on the team within Sun (currently five
other individuals) that works on Tomcat ( --
the architecture for Catalina, which is the servlet container part of Tomcat
4.0, is also mine -- so I am in the really nice position of getting paid to
work on open source software :-). And, participate on the expert groups for
Servlet 2.3 and JSP 1.2. And, speak at various conferences, including
ApacheCon and JavaOne. And, talk to groups within Sun about using Struts and
JSP/servlet technology. And ... (there's some really interesting things being
considered for the future).
The original design of what came to be Struts has been in my head for a long
time, since those interesting mailing list discussions, but the first version
of the actual code was written on my laptop on a Memorial Day weekend vacation
trip (end of May, 2000) to the Oregon coast -- in between watching the surf and
having the house shaken by a windstorm at night. Since then, it has gathered
attention and popularity as we approach our first official release, and it
delights me to see my "baby" grow up so well :-). Of course, it is no longer
just me -- there have been incredible numbers of good ideas from all over, and
a peek at the TODO list for 1.1 says that even more good stuff is coming in the
One motivation factor was Jason Hunter's article about the Problems with JSP
< >. Jason and I get along
fine, even though we have different preferences about presentation
technologies. Besides being the author of a very popular book about servlets,
with a second edition coming soon, Jason is also the representative for the
Apache Software Foundation on the Executive Committe of the Java Community
Personally, I live in Portland, Oregon (even though my team at Sun is mostly in
Cupertino, CA -- staying here was part of the job deal :-). I like to support
Oregon sports teams (Oregon State Beavers, Oregon Ducks, Portland Trailblazers)
and work on cool software.
I figured out I was getting pretty old when I realized that 2000 was the 25th
year I had been paid to work in some aspect of software development :-). I've
got a son who is a full-time software developer (primarily in PHP so far, but
I'm going to corrupt him with Java eventually :-), and a daughter in college.
I'll happily let the other committers speak for themselves.
Kevin Duffy -- Developer
That's a lie. Craig stole my ideas!! It was me who started Struts..who just
took it from under my nose and finished it!
nah..just kidding. Craig has inspired me to learn alot about servlets, jsp,
and so on. So much so that I started my own "lite-weight" framework that is
very similar to Struts, only no where near as robust. Mine simply has a
controller servlet, which like Struts keeps a hashtable of action class
instances, maps them via a .xml config file (yet another Craig idea). There
are three differences between my small framework and Struts .5 (not sure
about the 1.0 version..haven't followed it since .5).
1) Auto-population of beans works with nested objects and does not require a
"tagging" interface..therefore any javabean can be used (which is really not
a big deal if you design them properly anyways).
2) Action classes implement "executeCommandXXX(ActionContext context)"
methods which return a String that the ControllerServlet uses to lookup the
mapping then forwards to the JSP page mapped to that String. The
ControllerServlet uses reflection with a "command" attribute to call the
method in the action class. Therefore, if a request comes in with an
attribute "command=Search", the action class method executeCommandSearch()
is called.
3) I added an XSL ControllerServlet which replaces the last part of the
ControllerServlet (extends it). Instead of forwarding to the JSP page, it
reads in the JSP output (via URLConnection), then applies an XSL (also
mapped in the xml config file for now), rendering HTML output. This is all
done automatically and the only difference is that JSP pages would create
dynamic XML and then an XSL would be written.
I have to thank Craig for most of what I am able to do with the MVC stuff,
and a few others on the list who have contributed. I created my small
framework because Struts had a big following and there were a few things I
didn't need, as well as would liked to have seen changed. To change them
would mean the many thousands of people using it could also be affected. I
probably should have just modified the source ;)
Anyways..Craig is the man! He has been a big inspiration to myself (thanks
Craig). I only wish I could work on his team!! Hey..and I live 20 minutes
from Cupertino too! ;) (hint hint)
Ted Husted -- Committer
My primary interest in Struts is to put it to work writing lots of
real-life Web applications:-) To do that effectively means having good
documentation and code samples at my fingertips, so that's been my focus
with the Struts product so far.
I've been writing software for hire since 1984, but only recently jumped
on the Java bandwagon. My initial interest was with electronic
publishing, and started by converting my various print projects to
electronic media. The "Information Superhighway" was still the private
stomping ground of Universities and government agencies then. The rest
of us had to make do with diskettes and bulletin boards.
Between 1985 and 1994, I created and marketed several software products
for publishing on disk, the most popular being "Dart" and "Iris". In
1992, Dart was awarded the Digital Quill for software excellence,
featured in PC Magazine (February 1992), and bundled with McGraw Hill's
bookset,"Paperless Publishing" by Colin Hayes (McGraw Hill 1994). Dart
won a second Digital Quill in 1993. Several titles that used Iris for a
publishing system have also won awards and been widely distributed,
including "Hermitville USA." I was also fortunate to find kindred souls
on CompuServe and America Online, who helped me pioneer resources areas
in 1993 and 1994 for the nascent electronic publishing industry.
I finally cut loose on the Internet in 1995, launching Epub News, an
electronic newspage about electronic publishing. After taking on several
private contracts, I opened the Husted dot Com Website (
in 1996. I've drifted away from electronic books, but have noticed that
several products are now making their way into the consumer mainstream
-- as usual, I was twenty minutes into the future:-)
My favorite all-time project is the Hitchhikers Guide to Science
Fiction. This was one of my earliest hypertext projects (it started as a
print-book idea), and I had a lot of fun bringing it forward onto the
Web. (Now, if I only had time to bring it current and dress it up!)
My favorite all-time client is is WXXI Public Broadcasting Council,
where serving as the station's Webmaster. WXXI provides public
broadcasting services for television and radio, and we are working to do
the same online. Along with providing companion Web sites for every WXXI
production, we stream both our AM and FM signals, in both Real and
QuickTime, with online archives in the works. It's a long journey, but
we've taken the first steps. I'm responsible for most of the regular
updates to the site, and much of the overall layout and design. We're
grateful to have won the PBS award for best Web site in our market for
two years running.
Our most ambitious projects at WXXI have been Spring Marketplace 2000
and the NY Election Finder. For Spring Marketplace, we put our annual
auction fully online for simultaneous telephone and Website bidding. On
NY Election, we offered not only the usual election-finder application,
but collected voter registration records from around the state, so
people could also check their registration status and polling place. I
developed the Web-enabled database applications for both projects.
Currently, I'm expanding the WXXI online auction software into a
complete package for hosting online auctions as fund-raisers; this is
to be an open-source project called Gavel, and will, of course, rely
heavily on Struts.