跟大家講解下有關jsp文件怎么運行,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說jsp文件怎么運行,小編也收集到了有關jsp文件怎么運行的相關資料,希望大家看到了會喜歡。
jsp文件的運行方法:首先客戶端發出Request請求,JSP Container將JSP轉譯成Servlet的源代碼;然后將產生的Servlet源代碼進行編譯,并加載到內存執行;最后把結果Response至客戶端即可。
當客戶端瀏覽器向服務器發出訪問一個JSP頁面的請求時,服務器根據該請求加載相應的JSP頁面,并對該頁面進行編譯,然后執行。
推薦課程:Java教程。
頁面的執行過程如下圖所示:
客戶端通過瀏覽器向服務器發出請求,在該請求中包含了請求的資源的路徑,這樣當服務器接收到該請求后就可以知道被請求的內容。
服務器根據接收到的客戶端的請求來加載相應的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中文網其它相關文章!
來源:php中文網