首頁 Java java教程 jsp檔案怎麼運行

jsp檔案怎麼運行

May 15, 2019 pm 01:11 PM
jsp

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

jsp是屬於前端還是後端 jsp是屬於前端還是後端 Jan 28, 2023 pm 06:23 PM

jsp屬於後端。 jsp的本質是一種servlet,而servlet又是伺服器端的java應用程序,所以jsp是屬於後端的技術。 JSP部署於網頁伺服器上,可回應客戶端所傳送的請求,並依照請求內容動態地產生HTML、XML或其他格式文件的Web網頁,然後傳回給請求者。 JSP技術以Java為腳本語言,為使用者HTTP請求提供服務,並能與伺服器上的其它Java程式共同處理複雜的業務需求。

jsp和html區別在哪 jsp和html區別在哪 Jan 09, 2024 am 10:46 AM

jsp和html區別:1、運作機制;2、用途;3、與Java的關係;4、功能;5、與後端的關係;6、速度;7、可維護性和擴展性;8、學習和使用的難易度;9、文件後綴和識別工具;10、社區和支持;11、安全性。詳細介紹:1、運行機制,HTML是一種標記語言,主要用於描述和定義網頁的內容,它運行在客戶端,由瀏覽器解釋執行,JSP是一種動態網頁技術,運行在伺服器端等等。

SpringBoot專案如何整合JSP SpringBoot專案如何整合JSP May 12, 2023 pm 07:40 PM

新建好springboot專案以後目錄如下:第一步:在專案的pom檔案中加入設定jsp所需的jar套件程式碼:org.apache.tomcat.embedtomcat-embed-jasperprovided第二步:在main路徑下新建目錄webapp ,在webapp下新建路徑WEB-INF,在WEB-INF下新建路徑jsp,在這個路徑下放置我們要使用的jsp檔案第三步:在主設定檔中設定jsp檔案的存取路徑和後綴程式碼:spring .mvc.view.prefix=/WEB-INF/jsp/sp

如何用jsp+mysql實現網頁的分頁查詢 如何用jsp+mysql實現網頁的分頁查詢 May 30, 2023 pm 03:58 PM

一、實作分頁查詢的核心sql語句(1)查詢資料庫的記錄總數的sql語句:selectcount(*)from+(表名);(2)每次查詢的記錄數的sql語句:其中:0是搜尋的索引,2是每次查找的條數。 select*from表名limit0,2;二、程式碼實作*上篇寫過這兩個類,DBconnection類:用於取得資料庫連接,Author物件類別。這兩個類別的程式碼點擊連接查看。點選連結查看DBconnection類別和Author物件類別(1)登入頁面:index.jsp。 Inserttitlehere用戶列

JSP能否被PHP取代? JSP能否被PHP取代? Mar 21, 2024 am 11:03 AM

JSP能否被PHP取代? JSP(JavaServerPages)和PHP(HypertextPreprocessor)都是常用的伺服器端腳本語言,用於動態產生網頁內容。雖然它們各有特色和優勢,但在實際應用中,是否可以完全取代對方?本文將分析兩者的優缺點,並透過具體的程式碼範例進行比較。首先,我們來看看JSP和PHP各自的特色。 JSP是一種基於Java的

jsp分頁功能怎麼實現 jsp分頁功能怎麼實現 Mar 04, 2024 pm 04:40 PM

實現步驟:1、在JSP頁面中引入JSTL標籤庫;2、從資料庫取得資料;3、對資料進行分頁處理;4、在頁面中顯示分頁導覽條;5、根據目前頁碼和每頁顯示數量,從分頁後的資料中取得對應的資料並顯示在頁面上即可。

jsp是什麼格式的文件 jsp是什麼格式的文件 Jan 24, 2024 pm 04:01 PM

JSP是一種動態網頁技術標準,其檔案格式是在傳統的網頁HTML檔案(.htm,.html)中插入Java程式段(Scriptlet)和JSP標記(tag),從而形成JSP檔案(*.jsp )。

PHP能否替換JSP的功能? PHP能否替換JSP的功能? Mar 20, 2024 pm 03:45 PM

PHP能否替換JSP的功能?隨著Web開發技術的不斷發展,開發人員經常面臨選擇合適的伺服器端語言來實現他們的專案需求。在這方面,PHP和JSP是兩種常見的選擇。 JSP是JavaServerPages的縮寫,它是基於Java的伺服器端技術,而PHP則是一種伺服器端腳本語言。本文將探討PHP是否能夠取代JSP的功能,並提供一些具體的程式碼範例來幫助讀者更好地

See all articles