- JSP程序設計與案例實戰(慕課版)
- 劉何秀 郭建磊 姬忠紅
- 527字
- 2019-09-10 13:27:43
2.3 JSP執行過程
2.3.1 JSP執行過程分析
JSP執行過程分析
當服務器上的一個JSP頁面被第一次請求執行時,服務器上的JSP引擎會先將JSP頁面文件轉譯成一個.java文件,即servlet,并編譯這個Java文件,生成.class的字節碼文件,然后執行字節碼文件響應客戶端的請求。而當這個JSP頁面被再次請求時,JSP引擎將直接執行字節碼文件來響應客戶。執行過程如圖2-13所示。
該執行過程可以總結為以下4步。
(1)客戶端發出Request請求。

圖2-13 JSP執行過程圖
(2)JSP Container 將JSP轉譯成Servlet的源代碼。
(3)將產生的Servlet源代碼經過編譯后,加載到內存執行。
(4)把結果Response(響應)至客戶端。
在執行JSP網頁時,通常可以分為兩個時期:轉譯時期(Translation Time)和請求時期(Request Time)。
① 轉譯時期:JSP網頁轉譯成Servlet類。
② 請求時期:Servlet類執行后,響應結果至客戶端。
其中,系統在轉譯期間做了兩件事情:將JSP網頁轉譯為Servlet源代碼*.java(轉譯);將Servlet源代碼*.java編譯成字節碼文件*.class(編譯)。
2.3.2 JSP執行過程轉譯文件
JSP執行過程轉譯文件
本小節以客戶端請求jspdempro項目中一個根目錄下的welcome.jsp為例,解釋JSP執行過程中生成的兩個文件。
當客戶端發出請求 http://localhost:8080/jspdemopro/welcome.jsp 后,可以在 Tomcat 服務器目錄\work\Catalina\localhost\jspdemopro\org\apache\jsp 下發現多了兩個文件:welcome_jsp.java 和 welcome_jsp.class,如圖2-14所示。

圖2-14 轉譯時期生成的兩個文件
打開welcome_jsp.java,可以看到其部分源代碼,如圖2-15所示。
welcome.jsp的源代碼參見2.2.3節中的welcome.jsp頁面源代碼。

圖2-15 welcome_jsp.java源代碼
- Android Wearable Programming
- Java程序設計(慕課版)
- 流量的秘密:Google Analytics網站分析與優化技巧(第2版)
- Cocos2d-x游戲開發:手把手教你Lua語言的編程方法
- Oracle 12c中文版數據庫管理、應用與開發實踐教程 (清華電腦學堂)
- 快速念咒:MySQL入門指南與進階實戰
- Haskell Data Analysis Cookbook
- Learning OpenStack Networking(Neutron)(Second Edition)
- 從零開始學Linux編程
- 持續輕量級Java EE開發:編寫可測試的代碼
- Visual C#.NET Web應用程序設計
- Arduino計算機視覺編程
- ASP.NET求職寶典
- Python全棧開發:基礎入門
- Mastering OAuth 2.0