Discussions

Web tier: servlets, JSP, Web frameworks: Difference between application server and webserver

  1. Can somebody tell me what is the diff between application server and webserver. plz elaborate
  2. A web server delivers web pages. An example is
    Apache. A Servlet Container / JSP Container is
    something that works with, or is part of a web
    server, providing the runtime environment for
    Java Servlets and JSPs.

    An application server typically provides the
    runtime environment (container) for Enterprise
    JavaBeans.

    Most application servers also provide web
    servers, Servlet Containers, and JSP Containers,
    so the lines are blurred.
  3. There are all sorts of products that call themselves application servers that aren't J2EE related.

    Generally, a web server is expected to serve basic web content (html, flash, images) and perhaps do a little bit of dynamic work (scripting). The goal is to serve good websites.

    An application server is generally expected to look at the larger picture of what is required to build applications, and serve them up. The goal is to serve good applications and support that with a reasonable infrastructure.

    Outside of the J2EE environment, an application server can do a lot of different things, but it's all about enabling the development, deployment and delivery of applications.

    Inside the J2EE environment, it pays to be more specific and talk about servlet containers, JSP containers and EJB containers. That said, an application server can be expected to do one or more of those and quite possibly introduce other features like persistence, JMS support, etc. An app server might handle servlets and JSP but not EJB, for instance. However, it's still all about enabling applications.