I've been slowly building up my web-service knowledge by building a web-service endpoint into Nuin, using Apache Axis as the web-service tool. The Axis documentation presumes that you are using Tomcat as the servlet container (though it doesn't require Tomcat, I would stress). I've had several different attempts at using Tomcat over the past few years, and I've never really got on with it. It just seems so darned complicated! I've found Jetty to be a much better alternative. Jetty is much simpler than Tomcat, so there are probably some things it doesn't do that Tomcat or the other big players do do. On the other hand, Jetty is small and efficient and, best of all, launches easily from inside Eclipse so you can debug servlets easily using the Eclipse debugger. There are even Eclipse plugins to support deploying services to Jetty. I've never deployed Jetty for production use, so I can't comment on that, but I find it ideal for personal development prototypes and experimental use.
Note: this post was copied from my former blog at 20six.co.uk