容器、应用服务器和web服务器的区别
什么是容器 servlet没main()方法。它们受控于另一个java应用,这个java应用称为容器(Container) Tomcat是这样的容器,Web服务器应用(Apache)得到一个指向servlet请求时,服务器不是把这个请求交给servlet本身,而是交给部署该servlet的容器。要由容器向servlet提供HTTP请求和响应,而且要由容器调用servlet的方法。 客户-->请求--->Web服务器应用--->web容器应用--->servlet-------->web服务器主机 客户<--响应<---Web服务器应用<---web容器应用<---servlet<--------web服务器主机 容器提供: 通信支持:建立serverSocket、监听某个端口、创建流等; 生命周期管理:控制servlet生死,负责加载类、实例化和初始化servlet、调用servlet方法及使servlet实例能够被垃圾回收; 所线程支持:容器会自动为接收的每个servlet请求创建一个新的java线程,运行完响应HTTP服务方法线程就结束。 生命方式实现安全:可以使用xml部署描述文件来配置(或修改)安全性,而不用硬编码写到servlet类代码中。 JSP支持。 容器处理servlet 客户---->http请求---->容器----->servlet 容器---> 创建 请求