1. 程式人生 > 其它 >servlet,tomcat,瀏覽器,jsp

servlet,tomcat,瀏覽器,jsp

參考:

Servlet基礎在瀏覽器上執行HelloServlet的方法/197588.htm

servlet的執行流程及在IDEA的第一個web專案

JSP和Servlet及瀏覽器與tomcat互動過程

筆記:

  1. Servlet是什麼?servlet本身不能獨立執行,需要在一個web應用中執行的而一個web應用是部署在tomcat中。開發一個servlet需要

    • 建立web應用專案
    • 編寫servlet程式碼
    • 部署到tomcat中
  2. 什麼是servlet ?先看一下百度百科的定義: Servlet(Server Applet)是Java Servlet的簡稱,稱為小服務程式或服務聯結器,用Java編寫的伺服器端程式,具有獨立於平臺和協議的特性,主要功能在於互動式地瀏覽和生成資料,生成動態Web內容。 狹義的Servlet是指Java語言實現的一個介面,廣義的Servlet是指任何實現了這個Servlet介面的類,一般情況下,人們將Servlet理解為後者。Servlet運行於支援Java的應用伺服器中。從原理上講,Servlet可以響應任何型別的請求,但絕大多數情況下Servlet只用來擴充套件基於HTTP協議的Web伺服器。 從開發的角度去理解,一個servlet就是一個介面,匹配對應的URL,實現對請求的處理響應資料
  3. servlet的執行流程
    如下圖

    大白話描述一下就是

    請求者(瀏覽器也可以是其他應用)通過一個URL地址發起HTTP請求
    URL地址資訊可以指向對應的伺服器,伺服器接收到請求後傳送給對應的servlet處理
    servlet處理後將響應資訊返回到伺服器
    伺服器將響應資訊返回給請求者
    請求者做出展示

  4. JSP與SERVLET區別
    • JSP在本質上就是Servlet,但是兩者的建立方式不一樣。
    • JSP由HTML程式碼和JSP標籤構成,可以方便地編寫動態網頁。因此在實際應用中採用Servlet來控制業務流程,而採用JSP來生成動態網頁。在struts框架中,JSP位於MVC設計模式的檢視層,而Servlet位於控制層。
    • Servlet完全是JAVA程式程式碼構成,擅長於流程控制和事務處理,通過Servlet來生成動態網頁很不直觀。
    • JSP是Servlet技術的擴充套件,本質上就是Servlet的簡易方式。JSP編譯後是“類servlet”。
    • Servlet和JSP最主要的不同點在於,Servlet的應用邏輯是在Java檔案中,並且完全從表示層中的HTML裡分離開來。而JSP是Java和HTML組合成一個副檔名為.jsp的檔案。JSP側重於檢視,Servlet主要用於控制邏輯。
  5. 瀏覽器頁面與tomcat的互動過程?

    當一個JSP頁面第一次被訪問的時候,JSP引擎將執行以下步驟:

    1. 將JSP頁面翻譯成一個Servlet,這個Servlet是一個java檔案,同時也是一個完整的java程式;
    2. JSP引擎呼叫java編譯器對這個Servlet進行編譯,得到可執行檔案class;
    3. JSP引擎呼叫java虛擬機器來解釋執行class檔案,生成向客戶端傳送的應答,然後傳送給客戶端。

    以上三個步驟僅僅在JSP頁面第一次被訪問時才會執行,以後的訪問速度會因為class檔案已經生成而大大提高。當JSP引擎接到一個客戶端的訪問請求時,首先判斷請求的JSP頁面是否比對應的Servlet新,如果新,對應的JSP需要重新編譯。

  6. Servlet是由Web伺服器呼叫,web伺服器在收到瀏覽器請求之後,會: