When we are talking about Java Servlets, Web Server is the Servlet/JSP Container, just like Tomcat , Jetty and so on. Application Server generally is both Servlet/JSP and EJB Container, just like BEA Weblogic, IBM Websphere, and so on. There is no phisical separation from Web server and EJB Server on the mostly used servers. Some like JBoss, comes with Web Container embebeded, others no, but you must not to worry about it. In summary, Tomcat can hold only JSP/Servlet, so it is a Web Server ( Web Container ) , Bea Weblogic can hold both JSP/Servlet and EJB, so it is a Web/Ejb Container or an Application Server. Claudio Gualberto SCJP 1.4
To be a bit more general, a web server handles HTTP requests and does not mean that it runs JSPs and Servlets. Take Apache, IIS, Netscape, etc. Jakarta Tomcat is an open-source application server that is produced by the Apache Software Foundation. Tomcat is the reference implementation for the Java Servlet and Java Server Pages technologies. For more information, see http://jakarta.apache.org/tomcat.
No more rhymes! I mean it!<br /> <br />Does anybody want a peanut?
Hi Sathi, There is a major thing that seperates web servers from application servers. Web servers "static" content and app servers serve "dynamic" content (ofcourse they can serve static content also). By static content I mean is that the server doesn't have to generate the output depending upon the request. just like simple HTML pages. By dynamic content I mean is that the server is capable of generating dynamic content. i.e. depending on the request it can generate the output. This is basically servlets/jsp. -Kaustubh.