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

1. 爲何會出現Servlet?
由於web服務器(tomcat、Weblogic、iis、apache)沒有處理動態資源請求的能力(即該請求須要計算),只能處理靜態資源的請求(若是瀏覽器請求某個html頁面,web服務器查看請求的html頁面是否存在,存在則返回。)若是要讓web服務器處理動態資源的請求,則須要使用CGI[1]程序、組件加容器的方式。html


2. Servlet解決了什麼?
ServletServlet容器使得web服務器有了處理動態資源的能力Servlet就是web服務器處理動態資源的具體實現。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 等。
    ---來源:百度百科 ↩︎apache

  2. Web服務器通常指網站服務器,是指駐留於因特網上某種類型計算機的程序,能夠向瀏覽器等Web客戶端提供文檔,也能夠放置網站文件,讓全世界瀏覽;能夠放置數據文件,讓全世界下載。目前最主流的三個Web服務器是Apache、 Nginx 、IIS。
    ---來源:百度百科 ↩︎瀏覽器

相關文章
相關標籤/搜索