Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

Spring MVC vs. WebWork Smackdown at OSCON

Matthew Porter and I are going to try something a bit different at this year's OSCON. Rather than just getting up in front of the crowd and spewing our technical know-how, we're actually going to make a go at providing some entertainment. I've been to a lot of conferences and I'm tired of just watching someone talk - I'd rather see a good presenter over a knowledgeable presenter. This has inspired our OSCON 2005 talk:

This presentation has a unique delivery style. Rather than one person doing a comparison, there are two presenters - each which is an expert in the framework they're defending. The presentation is delivered as a friendly comparison/debate, which hopes to add some humor in to make it fun for the audience.

Java web developers often have a difficult choice when choosing a web framework these days. There are currently more than 35 open-source Java web frameworks available. How do you which one to use for your project? This presentation picks two of the most popular frameworks, Spring MVC and WebWork and compares and contrasts their features. Topics will include:

1. View options - i.e. Velocity, JSP, HTML Templates (ala XMLC), etc.
2. Testability - How easy is it to unit test with JUnit, with examples
3. Type conversion - i.e. Date, Integer, etc.
4. Validation - How do do it, stengths and weaknesses
5. Tools Support
6. Strengths and Weaknesses

Now the pressure's on - we have to both teach and entertain the audience. Please feel free to post your experiences with Spring or WebWork and why you think one is better than the other.

Posted in Java at Mar 09 2005, 09:31:36 AM MST 25 Comments

Matt, you mention JSF in the body but Spring in the title. Which is it?

Posted by Mike on March 09, 2005 at 05:08 PM MST #

"There's two developers." There IS two developers? Is there? Standards Mr Raible, please.

Posted by Kris on March 09, 2005 at 05:14 PM MST #

Tough crowd today, huh? ;-) It shoulda been Spring, not JSF - thanks Mike.

Posted by Matt Raible on March 09, 2005 at 05:23 PM MST #

I'd love to see sessions like this on JavaOne.

Posted by Markus on March 09, 2005 at 05:26 PM MST #

Two of the most popular web frameworks are Spring MVC and WebWork? I'm surprised it isn't Struts vs. something else.

Posted by on March 09, 2005 at 05:31 PM MST #

I think Matt meant "two of the better web frameworks...". At this point in the game it's widely recognized that Struts is not in the upper tier of web frameworks when it comes to quality - just numbers.

Posted by Ryan Daigle on March 09, 2005 at 05:46 PM MST #

Anonymous, I originally proposed to Matthew that I depend Struts or JSF - but we figured it'd be better to defend a framework I actually enjoyed working with. Also, what better way to pimp our books than to talk about the frameworks we've written about. ;-)

Posted by Matt Raible on March 09, 2005 at 05:55 PM MST #

This sounds extremely interesting. If I wouldn't make me sound too MPD, I might admit I actually have this debate with myself. (I keep going back and forth about the good points on both)

Posted by Patrick Peak on March 09, 2005 at 05:58 PM MST #

Sounds interesting! Wish I could be there, but oh well.... Try to get a good transcript. Oh, and don't hesitate to throw some barbs at Struts, i.e. "WebWork's type conversion is better than Spring MVC because ... but, of course, both are miles ahead of the stone-age Struts" :-)

Posted by Jason Carreira on March 09, 2005 at 06:14 PM MST #

Hey, is this a complete rip off of my TSS idea or what? I wanted to have an Iron Chef style smack down where two people get on stage and actually build a simple application using competing frameworks, describing to the audience as they go what they're doing. It would be a fascinating session I think. The goal is not really to "beat up on" the other framework, but rather watch two power users building a simple application in real time using different techniques. My $AUD 0.02. m PS Your math equation solution to comment spam is "freaking genius" - I love it :) PPS In some strange way I miss that dim bar in the bowels of Caesar's

Posted by Mike "jirajirajira" Cannon-Brookes on March 10, 2005 at 12:23 AM MST #

Matt - great idea. Wish I could be there to see it.

Mike - "dim bar in the bowels of Caesar's" - that describes all of them that I can remember! Shadow Bar? Cleo's Barge?

Posted by David Carter on March 10, 2005 at 02:44 AM MST #

Hey that sounds like what Colin and I have been doing every other week training/consulting with Interface21 NA (building an app in front of an audience of participants.) I think something like that in an area setting would be cool. Maybe we could even get a ref, a bell, and some promo babes :-)

Posted by Keith Donald on March 10, 2005 at 02:49 AM MST #

How about we make it a bit more intresting and throw Ruby on Rails into the mix too? :)

Posted by Francisco Hernandez on March 10, 2005 at 04:20 AM MST #

Matt, Great Idea. It would be a big hit. Here's some suggestions: 1. The format must not be friendly comparison. It should be like a contest and one of the 2 frameworks must win at the end of it. 2. The contest must always focus on the frameworks and not the developers themselves comparing them. 3. The Judge would rule which framework won (of course with some explanation) at the end of the contest.

Posted by Muthu Ramadoss on March 10, 2005 at 04:22 AM MST #

Thunderdome. Two men go in, and only one comes out. I love it!

Posted by Matt on March 10, 2005 at 04:32 AM MST #

can you update this posting when a transcript is available? i'm quite interested in using one of these two frameworks in my next project.

Posted by jae on March 10, 2005 at 02:42 PM MST #

I'll save you the hassle, Jae, use WebWork. Spring MVC is too cluttered - WW2 provides a much better conceptual model and is more flexible.

Posted by Ryan Daigle on March 10, 2005 at 03:07 PM MST #

Mike Cannon-Brookes, If you want to do a remote "Iron Chef" driving video Trails style? I'll go aginst you (or anyone that wants to lose ;-) ) I would use JDNC, RiA! Let Raible or somone give a spec of 2 or 3 screens, and give each of us 2 or 3 days to build it, deploy it, and make a driving video. It should have Validation, master/detial, CRUD, etc, .V

Posted by Vic on March 10, 2005 at 08:36 PM MST #

I'm sorry Vic, was that developer trash talking? Fear.

Posted by Mike "jirajirajira" Cannon-Brookes on March 10, 2005 at 10:05 PM MST #

It was your suggestion, forget it.No need for WWWW (World Wide Wresleing) .V

Posted by Vic on March 10, 2005 at 10:57 PM MST #

In your October 2004 writeup comparing the frameworks you had a slide "Which would I choose." You chose Struts, Tapestry and Webwork for three types of projects. You didn't list a case where you would choose Spring MVC of JSF. Now you're advocating Spring MVC over webwork. What gives?

Posted by Ted on March 11, 2005 at 12:45 AM MST #

Ted - I'm not really <em>advocating</em> Spring MVC, I'm merely defending it and pointing out its strengths and weaknesses. That being said, I'm bored with Struts. There's nothing new to learn there - so I'd simply rather use another framework. Unfortunately, all my clients would still prefer to go the "safe" route and use Struts. It's hard to stay enthusiastic about a framework that its founder says to migrate off of (to JSF).

I've reversed my stance on "pick the one that makes you most productive" and now believe you should "pick the one you're passionate about." I believe that passion will lead to greater productivity (and higher quality) in the end.

Posted by Matt Raible on March 11, 2005 at 04:46 AM MST #

Craig did migrate to Shale, and it had no effect on Struts. Struts is now CoR based, a nice article on CoR on onJava. Ted Husted now (and I agree) advocates writing CoR applications and plug it into Struts. A good shot out would be IoC vs CoR too. But I realy advocate that you write a JDNC hello world.... before you talk about any other application that runs inside of browser. .V

Posted by Vic on March 11, 2005 at 01:32 PM MST #

There are almost too many choices for an MVC framework these days. Craig talks about using Struts and JSF together. Struts Or JSF? Struts And JSF? Struts was great when it came out 4-5 years ago. Since then the pace of improvements has crawled. By comparison, Spring and Hibernate are rolling out enhancements as fast (probably faster) than I can digest them. What's important to me is to determine what the landscape will look like a year from now. I see JSF following a path like EJB. Big vendors promote it and sell to large companies. Many job postings are listed for JSF. Eventually, everyone figures out that lighter OSS frameworks are a better choice. Tapestry seems cool, but a bit of a radical change from struts. I'm curious to see how this presentation plays out.

Posted by Ted on March 11, 2005 at 10:30 PM MST #

RE (Jason): "Sounds interesting! Wish I could be there, but oh well.... Try to get a good transcript. Oh, and don't hesitate to throw some barbs at Struts, i.e. "WebWork's type conversion is better than Spring MVC because ... but, of course, both are miles ahead of the stone-age Struts" :-)" I agree with a lot of the sentiments here especially Jason's. Please point out Struts weaknesses, and the improvements made by SpringMVC and WebWork. I am sick of Struts being picked as a knee jerk reaction. The more interesting stuff with model 2 front controllers is happening with WebWork and SpringMVC. I still have to use Struts 1.x from time to time.

Posted by Rick Hightower on March 15, 2005 at 03:40 AM MST #

Post a Comment:
  • HTML Syntax: Allowed