Difference between web-server and servlet container
What is the difference between "A Web Server" and "A Servlet Container"?
In general are all Web Servers Servlet(Web) Containers too or vice versa?I have been using Apache Tomcat for JSP and Apache for PHP but unable to figure out the exact difference between those two, where exactly lies t开发者_运维问答he difference?
I tried searching previous threads but could not find much.
Thanks! :-)
A Servlet Container is a Web Server that must be able to run Java Servlets.
Web Server, on the other hand, is a broader term including all software running and communicating through HTTP protocol.
Under these definitions:
- All Servlet Containers are Web Servers
- Not all Web Servers are Servlet Containers. I.E. Apache HTTP Server can not run Java Servlet directly.
HTTP is the Hypertext Transport Protocol. Both Apache and Tomcat will accept HTTP requests.
The difference is that Apache is JUST an HTTP server. It serves up static HTML pages.
Tomcat has an HTTP listener inside it, but in addition to that it has a servlet/JSP engine. It can serve up both static and dynamic HTML pages.
You can use Tomcat without Apache.
Apache cannot handle servlet/JSP requests without having a servlet/JSP engine bolted on top of it
ServletContext is an application specific object, whereas ServletConfig is a Servlet specific object.. ServletConfig object is created as Web container instantiates the respective servlet
精彩评论