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。
---來源:百度百科 ↩︎瀏覽器