您好,登錄后才能下訂單哦!
小編給大家分享一下jsp工作原理的案例分析,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
JSP全名為Java Server Pages,其根本是一個簡化的Servlet。一種動態網頁技術標準。它實現了Html語法中的java擴展(以 <% %>形式)。JSP與Servlet一樣,是在服務器端執行的。
jsp的工作原理是什么?
結合上圖給出的流程圖:
(B/S架構的工作原理)
當客戶端瀏覽器(browser)向服務器(server)請求一個 JSP 頁面時,服務器收到該請求后,首先檢查所請求的這個JSP 文件內容 ( 代碼 ) 是否已經被更新,或者是否是 JSP 文件創建后的第一次被訪問:
如果是,那么,這個 JSP 文件就會在服務器端的 JSP 引擎作用下轉化為一個 Servlet 類的 Java 源代碼文件。
緊接著,這個 Servlet 類會在 Java 編譯器的作用下被編譯成一個字節碼文件,并裝載到 jvm (java虛擬機)解釋執行。
剩下的就等同于 Servlet 的處理過程了。
如果被請求的 JSP 文件內容 ( 代碼 ) 沒有被修改,那么它的處理過程也等同于一個 Servlet 的處理過程。即直接由服務器檢索出與之對應的 Servlet 實例來處理。
需要注意的是,JSP 文件不是在服務器啟動的時候轉換成 Servlet 類的。而是在被客戶端訪問的時候才可能發生轉換的 ( 如 JSP 文件內容沒有被更新等,就不再發生 Servlet 轉換 )。
就 Tomcat 而言,打開目錄 %Tomcat%/work/%您的工程文件目錄%,然后會看到里面有 3個子目錄:org/apache/jsp,若沒有這 3 個目錄,說明項目的 JSP 文件還沒有被訪問過,打開進到 jsp 目錄下,會看到一些 *_jsp.java 和 *_jsp.class 文件,這就是 JSP 文件被轉換成Servlet 類的源文件和字節碼文件了。
有興趣的話,可以使用瀏覽器訪問服務器中的 JSP,然后觀察 JSP 轉換 Servlet 以及編譯的時機。
簡言之,容器拿到JSP,會把它轉換為一個servlet類源文件(.java),然后再把這個源文件編譯為java servlet類。也就是說,JSP本質上就是一個servlet。
看完了這篇文章,相信你對jsp工作原理的案例分析有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。