首頁  >  文章  >  Java  >  jsp檔案怎麼運行

jsp檔案怎麼運行

(*-*)浩
(*-*)浩原創
2019-05-15 13:11:4427501瀏覽

jsp檔案的運作方法:首先客戶端發出Request請求,JSP Container將JSP轉譯成Servlet的原始碼;然後將產生的Servlet原始碼進行編譯,並載入到記憶體執行;最後把結果Response至客戶端即可。

jsp檔案怎麼運行

當客戶端瀏覽器向伺服器發出存取一個JSP頁面的請求時,伺服器會根據該請求載入對應的JSP頁面,並對該頁面進行編譯,然後執行。

推薦課程:Java教學

頁面的執行過程如下圖所示:

jsp檔案怎麼運行

客戶端透過瀏覽器向伺服器發出請求,在該請求中包含了請求的資源的路徑,這樣當伺服器接收到該請求後就可以知道被要求的內容。

伺服器根據接收到的客戶端的請求來載入對應的JSP檔案。

Web伺服器中的JSP引擎會將被載入的JSP檔案轉換為Servlet。

JSP引擎將產生的Servlet程式碼編譯成Class檔案。

伺服器執行這個Class檔。

最後伺服器將執行結果傳送給瀏覽器進行顯示。

從上面的解釋可以看到,JSP文件被JSP引擎轉換後,又被編譯成了Class文件,最後由伺服器透過執行這個Class文件來回應客戶端的請求。其中第三步和第四步構成了JSP處理過程中的翻譯階段,而第五步則為請求處理階段。

但並不是每次請求都需要重複進行這樣的處理。當伺服器第一次接收到對某個頁面的請求時,JSP引擎就開始依照上述的處理過程將被要求的JSP檔案編譯成Class檔案。當再次對該頁面進行請求時,如果該頁面沒有任何改動,伺服器就會直接呼叫對應的Class檔案來執行。因此當某個JSP頁面第一次被要求時,會有一些延遲,而再次造訪時會感覺速度快了很多。如果被要求的頁面經過了修改,那麼伺服器會重新編譯這個文件,然後再執行。

jsp是怎麼運作的

**jsp ——JSP引擎轉換為Servlet——Java編譯為.class檔案——由Java虛擬機解釋執行

Web容器處理JSP檔案請求的執行過程主要包含以下4個部分:

客戶端發出Request請求

JSP Container 將JSP轉譯成Servlet的原始碼

將產生的Servlet原始碼經過編譯後,並載入到記憶體執行

#把結果Response(回應)到客戶端

很多人會認為JSP的執行效能會和Servlet相差很多,其實執行效能上的差異只在第一次的執行。因為JSP在執行第一次後,會被編譯成Servlet的類別文件,即.class,當再重複呼叫執行時,就直接執行第一次所產生的Servlet,而不再重新把JSP編譯成Servelt。因此,除了第一次的編譯會花較長的時間之外,之後JSP和Servlet的執行速度就幾乎相同了。

在執行JSP網頁時,通常可以分為兩個時期:轉譯期間(Translation Time)與請求期間(Request Time)

轉譯期間:JSP網頁轉移成Servlet類別。

請求時期:Servlet類別執行後,回應結果至客戶端。

轉譯期間做了兩件事:

轉譯時期:將JSP網頁轉移為Servlet原始碼.java.

編譯時期:將Servlet 原始碼.java編譯成Servlet類別.class.

當JSP網頁在執行時,JSP Container 會做檢查工作,如果發現JSP網頁有更新修改時,JSP Container 才會再次編譯JSP成Servlet; 如果JSP沒有更新時,就直接執行前面所產生的Servlet.**

以上是jsp檔案怎麼運行的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn