In search of a beginner-friendly server

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.

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • tomz

    http://www.tagtraum.com/ is a possibility worth looking into.

  • http://www.practicalapplications.net bwarrene

    So very relevant. This is a black hole in the Java world. I do love Tomcat and its capabilities – but it would be great if the configuration were simplified a bit.

    Perhaps a new third party management engine gui (or improvements to the included Tomcat management web gui) would make adoption less painful and ease the strain on those entering the world of Java app development and app servers.

  • cholmon

    What are you thoughts on JBoss as far as ease of configuration goes?

  • http://boyohazard.net Octal

    I do love Tomcat and its capabilities – but it would be great if the configuration were simplified a bit.

    Agreed apart from the last word, should be lot ;)

  • http://www.sitepoint.com/ Kevin Yank

    [QUOTE=cholmon]What are you thoughts on JBoss as far as ease of configuration goes?[/QUOTE]JBoss and Tomcat together provide what the other application servers each provide alone.

    JBoss itself relies on Tomcat to provide its JSP and Servlet processing, and conversely if you want to host a Java Web Application on Tomcat that uses Enterprise JavaBeans (EJBs), you’ll want to look at using JBoss.

    Although I have precious little experience with JBoss, my impression is that it’s cut from the same cloth as Tomcat: powerful and free, but not at all beginner-friendly.

  • http://mike-tek.blogspot.com Mike Borozdin

    I would say that if you use NetBeans (www.netbeans.org) you have a bundled version of Tomcat there that you don’t have to configure unless you need something special.

  • rushiku

    I’ve only ever used Tomcat, so please excuse my naivety.

    What exactly is so difficult about browse-to-war > deploy?

  • http://www.livejournal.com/users/blufive/ blufive

    The tomcat documentation has improved a *lot* with version 5, and it’s gotten much easier to set up and get going from scratch, too.

    From my experience, I’d recommend against BEA Weblogic for beginners wanting to play around with a few lightweight servlets/JSP on a single workstation – it’s big, it’s high-powered, it’s industrial, it’s got far too many bells and whistles.

    As you mention, there’s the toolkit stuff, too, which has always looked to me like a way to tempt users (especially beginners) off into proprietary-extension land.

  • http://www.igeek.info asp_funda

    I started out on JSP & Servlets using Sun’s Java Web Server(free 30 day trial) & then moved on to Tomcat. Though it took some time to read the docs & set it up for the first time, but after that it wasn’t a problem. But I agree with you Kev, its a pain in the neck when you want to configure it, especially if you don’t know your way around modifying XML config files etc. I’ve also worked briefly on Weblogic & WebSphere but not much so I can’t really comment on their usability & richness of configuration tools.

    However, you missed one important player, Macromedia JRun. It has come a long way since when it was first introduced by Allaire. Its used widely on Windows servers in conjunction with IIS & provides really good config tools.
    But again, I haven’t used this more than running a few JSP applications, so I’d like to hear your expert opinion on it. :D

  • J

    Well, you probably should take a look on Sun’s own Java Sytem Application Server Platform Edition, which is closed-source and doesn’t scale for very large sites (and you have to look at http://squid.hit.bme.hu/wa/pro/sjsas/sjsas.html for running it as a Windows system service), but it’s free, fast and easy to set up and configure.

  • Pingback: SitePoint Blogs » Tomcat sucks… Is Apache Flawed?

  • http://www.mediasworks.org/ guideseeq

    People tell a lot of good about JBoss.