天天看點

1.為什麼會有Servlet?它解決了什麼問題?

1. 為什麼會出現Servlet?

因為web伺服器(tomcat、Weblogic、iis、apache)沒有處理動态資源請求的能力(即該請求需要計算),隻能處理靜态資源的請求(如果浏覽器請求某個html頁面,web伺服器檢視請求的html頁面是否存在,存在則傳回。)如果要讓web伺服器處理動态資源的請求,則需要使用CGI1程式、元件加容器的方式。

2. Servlet解決了什麼?

Servlet

Servlet容器

使得web伺服器有了處理動态資源的能力,

Servlet

就是web伺服器處理動态資源的具體實作。
3. Servlet和Servlet容器如何讓web伺服器有處理動态資源的能力?
  1. 浏覽器根據

    url

    通路伺服器上的

    web伺服器

    2程式
  2. web伺服器

    程式擷取到請求,轉發給

    servlet容器

  3. servlet容器

    根據該請求,編譯執行特定的

    servlet類檔案

  4. servlet類檔案

    根據請求執行不同的方法,動态生成結果
  5. servlet類檔案

    将執行後的靜态資料,傳回給

    servlet容器

  6. servlet容器

    将靜态資料傳回給

    web伺服器

    web伺服器

    将靜态資料傳回給浏覽器
  7. 浏覽器展示靜态資料
  1. CGI是Web伺服器運作時外部程式的規範,按CGI 編寫的程式可以擴充伺服器功能。CGI 應用程式能與浏覽器進行互動,還可通過資料API與資料庫伺服器等外部資料源進行通信,從資料庫伺服器中擷取資料。格式化為HTML文檔後,發送給浏覽器,也可以将從浏覽器獲得的資料放到資料庫中。幾乎所有伺服器都支援CGI,可用任何語言編寫CGI,包括流行的C、C ++、VB 和Delphi 等。

    ---來源:百度百科↩

  2. Web伺服器一般指網站伺服器,是指駐留于網際網路上某種類型計算機的程式,可以向浏覽器等Web用戶端提供文檔,也可以放置網站檔案,讓全世界浏覽;可以放置資料檔案,讓全世界下載下傳。目前最主流的三個Web伺服器是Apache、 Nginx 、IIS。

    ---來源:百度百科↩