This would probably be better asked in the Apache/Tomcat forum but yes. Weather.com is run on Tomcat. There are hundreds of other examples out there. I think there is a list on the Tomcat site. http://jakarta.apache.org/tomcat
We're deploying Tomcat to several dozen customers to run an application consisting of several hundred servlets and a similar number of JSPs over the first few months of this year. This is mainly an intranet application but remote use (over the internet) is supported and has been demonstrated to customers by our salesstaff accessing our demo system remotely. The first 3 customers already are up and running with a smaller application that allows their customers to place orders online.
So yes, Tomcat is being used in production environments.
I disagree about using tomcat and apache. Searching the tomcat mailing archives, many developers feel that the mod_jk/jk2 connectors add more complexity and overhead than is necessary. They recommend using the HTTPConnector rather than Apache if you're using a recent version of Tomcat.
Also, I've found that JK is less than stable on high traffic apache/tomcat installations when tomcat and apache reside on different physical machines.
Both Tomcat and Java have come a long way in terms of performance in the last few years so a lot of the information that you will find on the web, although true at the time it was written, has become obsolete.
Depending on your application, adding Apache/ISS and the necessary connector may make your app less efficient and slower than it would be if you were just running Tomcat as a standalone. If your app contains a lot of static content or if your app has components written in Perl, PHP, or ASP, then it may indeed make sense to use Apache or IIS for everyting but actual JSP/Servlet processing. If, however, your app consists mostly of dynamic pages, and you're almost always passing the requests from a webserver to Tomcat, then Tomcat as a standalone might be more efficient.
If you're not sure, my advice is to build your app with Tomcat as a standalone and load-test/profile it. If performance is an issue, look at all of your options for optimizing. Often the bottle-necks aren't with Tomcat but are with the database connectivity or with the network access. In these cases, the benefits of fronting Tomcat with a webserver won't be noticed anyway.
Even if you get a slight performance boost with a webserver up front, it may not be worth the extra maintenance and debugging overhead required to keep the three components (Tomcat, webserver, connector) up to date and cooperating smoothly. [ January 20, 2005: Message edited by: Ben Souther ]