For most, the first stop on the road to learning Java Web development (besides the book store), is setting up a Java-capable Web server. If you’re a cheapskate like me, the obvious choice is Tomcat, the Apache Software Foundation’s free Java Web server.
I spent this afternoon updating my JSP Quick-Start Guide for Windows article on SitePoint to work with Tomcat 5.0. Now I don’t want to diminish the achievement of the talented developers behind Tomcat, but I’m convinced that the only advantage of going with Tomcat over the alternatives is that it’s free to use even when hosting a commercial site on it.
Don’t get me wrong, Tomcat has a thriving community around it and the latest version has made great strides in usability — I was particularly impressed with the new server monitor in the Windows System Tray — but simple configuration tasks are still very daunting, and the documentation still seems like it’s written for experts in Java Web development.
None of this would be so bad if Tomcat weren’t the first stop on the road for new Java Web developers (after all, you get what you pay for, right?). So from right now I’m on a mission to find a beginner-friendly Java Web application server.
I’ve had Caucho Resin recommended to me, and its open source breeding appeals to me. There’s also Orion, which has a cool name going for it, but I’m not sure what else. And of course there’s the big boys, IBM WebSphere, BEA WebLogic, and Borland Enterprise Server (BES), which frankly scare me a little because they have complete toolsets tied to them to which I don’t necessarily want to commit.
All of these servers have at least a free trial to download, although many of them expire after a certain period (WebSphere, BEA WebLogic, and BES in particular). The smaller players like Caucho Resin and Orion offer free development licenses, and even let you deploy non-commerical applications free of charge, so they’re where I’ll look first.