Tomcat is web server or application server? [close

2020-05-11 09:45发布

问题:

Is Tomcat a web server or an application server?

回答1:

Tomcat is a web server (can handle HTTP requests/responses) and web container (implements Java Servlet API, also called servletcontainer) in one. Some may call it an application server, but it is definitely not an fullfledged Java EE application server (it does not implement the whole Java EE API).

See also:

  • What exactly is Java EE?
  • How do servlets work? Instantiation, sessions, shared variables and multithreading


回答2:

Tomcat is an application container that is also a web server. An application container can run web-applications (have "application" scope). It is not considered Some people do not consider it a full application server as it is lacking in some aspects such as user management and the like, but getting better all the time..



回答3:

Tomcat is a web server and a Servlet/JavaServer Pages container. It is often used as an application server for strictly web-based applications but does not include the entire suite of capabilities that a Java EE application server would supply.

Links:

  • Apache Tomcat home page
  • Explanation of Servlet technology
  • Explanation of JavaServer Pages technology


回答4:

Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer Pages technologies.

Since Tomcat does not implement the full Java EE specification for an application server, it can be considered as a web server.

Source: http://tomcat.apache.org



回答5:

Application Server:

Application server maintains the application logic and
serves the web pages in response to user request.

That means application server can do both application logic maintanence and web page serving.

Web Server:

Web server just serves the web pages and it cannot enforce any application logic.

Final conclusion is: Application server also contains the web server.

For further Reference : http://www.javaworld.com/javaqa/2002-08/01-qa-0823-appvswebserver.html



回答6:

It runs Java compiled code, it can maintain database connection pools, it can log errors of various types. I'd call it an application server, in fact I do. In our environment we have Apache as the webserver fronting a number of different application servers, including Tomcat and Coldfusion, and others.