The Web Container

A web container hosts websites and web services, both of which are deployed as WAR files. Tomcat Catalina is the RI for a web container. A website in Java is a mix of static HTML pages; servlets; higher level servlet generators and HTML-templating constructs such as JSP and JSF (Java Server Faces) scripts; backend JavaBeans dedicated specifically to servlets and the equivalent; utility classes of all kinds; and, of course, JavaScript embedded in the HTML pages. There are many JVM-centric frameworks for web development, including Netty, Seam, Sitemesh, Tapestry, Wicket, Struts, Spring MVC, VRaptor, Grails, and even Rails on JRuby.

Tomcat, like other web containers such as Jetty, can be embedded in an application server as the JAS web container. JBoss, for example, once bundled Tomcat into one JAR file (with a .sar extension for service archive) and Jetty into another, leaving it up to the JAS administrator about which of these to use as the JBoss web container. Some JASes still use embedded Tomcat for the community edition but roll their own for the production edition. Whatever the implementation choice, a JAS has a web container for deploying websites and, increasingly, web services. The deployed WAR files typically contain the standard configuration document web.xml and may contain vendor-specific configuration documents as well. To host web services, a web container usually relies upon a servlet interceptor that mediates between the client and the web service. ...

Get Java Web Services: Up and Running, 2nd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.