Where is Craig McClanahan(Author of Struts 1.x)?

Firstly, a little background on why I like Struts…please bear with me.

I started my career as a java developer in 2006. That time my team lead strongly believes that freshers should work on core technologies without any tools for at-least 6 months so that they will get a chance to learn basics and have a strong foundation on fundamentals.So I was working on Core Java, Servlets and JSP for first 3-4 months and I used to hear the term “Struts” very frequently on web and in our senior java developers discussions. So I started learning Struts in my free time and practiced it by myself by writing code using EditPlus(no eclipse ide as per my team leads rule :-)).

One evening me and my friend sat together to write a simple registration application using struts.Because we were not using any IDE, it is like write the code in EditPlus, compile using javac, build war file using jar command and deploy to tomcat. I still remember the same process(code/compile/build/deploy with bare hands) is repeated 17 times to finally get that one form struts application working because of spelling mistakes, missing import statements, mistakes in struts xml configuration etc etc. After 4th time we started counting how many times we need to do this in frustration:-))

Soon we got EclipseIDE and coding became a cake walk… type first 2 chars and Ctrl+K…enjoy :-).
We were using LombozEclipse which comes with in-built Support for creating Struts projects.So coding became fun with LombozEclipse, Tomcat & Struts.
I fall in love with Struts after knowing how easy it is to develop web apps using Struts instead of directly using Servlets. Then I experimented with different types Action Classes, Modules, Validations, Tiles, i18n, lot of Struts UI tags….That was a great time for me.

After a year or so I started hearing like Struts is not that good, depends on Servlet API, verbose xml, blah blah in the process of marketing brand new MVC frameworks. Every new MVC framework started explaining how their framework is better than Struts.

I remember, I guess in Spring in Action book author mentioned Struts as “King Of Java Web Frameworks”. Yes, that true. Yes I agree that Struts has its own set of limitations/drawbacks. But writing a framework when there is no such a similar framework exists is not easy.

What I meant to say is writing SpringMVC is easier as it has a reference to check what minimum features needs to be provided, what limitations should be eliminated and what additional features should be added by looking at Struts. But for Struts Author there is no such a reference to check against.

After sometime I came to know that Craig McClanahan is moved on to JSF1.x and then to Shale and then totally fade-out from java community.
After that no news about what he is doing, no updates on his blog, no clue where he is and what he is doing.

Recently somewhere I read in some blog like “Craig McClanahan created shit framework(struts) and now he is playing with Rails Toys”. I really surprised rather disappointed after knowing that Craig McClanahan, The Author of The King of Java Web Framework, is entirely left Java 🙁

Even what is more surprising to me is why SpringSource or RedHat guys didn’t try to bring him back to Java.
When there was no MVC framework, no DI concepts, no Annotations he was able to create such a beautiful framework. Now we have all fancy stuff IOC, DI, CDI, Annotations, REST, JSON and 1000 more… With all these, he could create something more poweful.

Come on guys bring him back to Java Community.


  1. One issue is maybe that JSF 1, which Craig created, had a *lot* of flaws. Lookup the content-interweaving problem, or consider the POST only nature of the thing. In generally people hated JSF.

    After Graig left Ed Burns took over, and JSF improved immensely. JSF 2.0, where Ed really could do what he wanted, is really really great. Now people love JSF.

    I'm curious as to what Graig does these days, but I'm not sure he should come back to JSF.

  2. I didn't hate JSF. I actually thought it was very workable. The only bad part was the dependence on JSP (in practice if not in theory), and that was soon corrected.

Leave a Reply

Your email address will not be published. Required fields are marked *