1. 为何会出现Servlet?
由于web服务器(tomcat、Weblogic、iis、apache)没有处理动态资源请求的能力(即该请求须要计算),只能处理静态资源的请求(若是浏览器请求某个html页面,web服务器查看请求的html页面是否存在,存在则返回。)若是要让web服务器处理动态资源的请求,则须要使用CGI[1]程序、组件加容器的方式。html
2. Servlet解决了什么?
Servlet
和Servlet容器
使得web服务器有了处理动态资源的能力,Servlet
就是web服务器处理动态资源的具体实现。web
3. Servlet和Servlet容器如何让web服务器有处理动态资源的能力?数据库
url
访问服务器上的web服务器
[2]程序web服务器
程序获取到请求,转发给servlet容器
servlet容器
根据该请求,编译执行特定的servlet类文件
servlet类文件
根据请求执行不一样的方法,动态生成结果servlet类文件
将执行后的静态数据,返回给servlet容器
servlet容器
将静态数据返回给web服务器
,web服务器
将静态数据返回给浏览器CGI是Web服务器运行时外部程序的规范,按CGI 编写的程序能够扩展服务器功能。CGI 应用程序能与浏览器进行交互,还可经过数据API与数据库服务器等外部数据源进行通讯,从数据库服务器中获取数据。格式化为HTML文档后,发送给浏览器,也能够将从浏览器得到的数据放到数据库中。几乎全部服务器都支持CGI,可用任何语言编写CGI,包括流行的C、C ++、VB 和Delphi 等。
---来源:百度百科 ↩︎apache
Web服务器通常指网站服务器,是指驻留于因特网上某种类型计算机的程序,能够向浏览器等Web客户端提供文档,也能够放置网站文件,让全世界浏览;能够放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache、 Nginx 、IIS。
---来源:百度百科 ↩︎浏览器