参考链接:
https://blog.csdn.net/github_36301064/article/details/53289086
1、为什么要有Servlet ---处理动态资源的能力
因为web服务器(tomcat、Weblogic、iis、apache)没有处理动态资源请求的能力(即该请求需要计算),只能处理静态资源的请求(如果浏览器请求某个html页面,web服务器查看请求的html页面是否存在,存在则返回。)如果要让web服务器处理动态资源的请求,则需要使用CGI1程序、组件加容器的方式。
2、Servlet 解决的问题
Servlet和Servlet容器使得web服务器有了处理动态资源的能力,Servlet就是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 等。
---来源:百度百科↩ -
Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache、 Nginx 、IIS。
网友评论