小編給大家分享一下jsp工作原理的案例分析,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
JSP全名為Java Server Pages,其根本是一個(gè)簡(jiǎn)化的Servlet。一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。它實(shí)現(xiàn)了Html語法中的java擴(kuò)展(以 <% %>形式)。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的。
jsp的工作原理是什么?
結(jié)合上圖給出的流程圖:
(B/S架構(gòu)的工作原理)
當(dāng)客戶端瀏覽器(browser)向服務(wù)器(server)請(qǐng)求一個(gè) JSP 頁面時(shí),服務(wù)器收到該請(qǐng)求后,首先檢查所請(qǐng)求的這個(gè)JSP 文件內(nèi)容 ( 代碼 ) 是否已經(jīng)被更新,或者是否是 JSP 文件創(chuàng)建后的第一次被訪問:
如果是,那么,這個(gè) JSP 文件就會(huì)在服務(wù)器端的 JSP 引擎作用下轉(zhuǎn)化為一個(gè) Servlet 類的 Java 源代碼文件。
緊接著,這個(gè) Servlet 類會(huì)在 Java 編譯器的作用下被編譯成一個(gè)字節(jié)碼文件,并裝載到 jvm (java虛擬機(jī))解釋執(zhí)行。
剩下的就等同于 Servlet 的處理過程了。
如果被請(qǐng)求的 JSP 文件內(nèi)容 ( 代碼 ) 沒有被修改,那么它的處理過程也等同于一個(gè) Servlet 的處理過程。即直接由服務(wù)器檢索出與之對(duì)應(yīng)的 Servlet 實(shí)例來處理。
需要注意的是,JSP 文件不是在服務(wù)器啟動(dòng)的時(shí)候轉(zhuǎn)換成 Servlet 類的。而是在被客戶端訪問的時(shí)候才可能發(fā)生轉(zhuǎn)換的 ( 如 JSP 文件內(nèi)容沒有被更新等,就不再發(fā)生 Servlet 轉(zhuǎn)換 )。
就 Tomcat 而言,打開目錄 %Tomcat%/work/%您的工程文件目錄%,然后會(huì)看到里面有 3個(gè)子目錄:org/apache/jsp,若沒有這 3 個(gè)目錄,說明項(xiàng)目的 JSP 文件還沒有被訪問過,打開進(jìn)到 jsp 目錄下,會(huì)看到一些 *_jsp.java 和 *_jsp.class 文件,這就是 JSP 文件被轉(zhuǎn)換成Servlet 類的源文件和字節(jié)碼文件了。
有興趣的話,可以使用瀏覽器訪問服務(wù)器中的 JSP,然后觀察 JSP 轉(zhuǎn)換 Servlet 以及編譯的時(shí)機(jī)。
簡(jiǎn)言之,容器拿到JSP,會(huì)把它轉(zhuǎn)換為一個(gè)servlet類源文件(.java),然后再把這個(gè)源文件編譯為java servlet類。也就是說,JSP本質(zhì)上就是一個(gè)servlet。
看完了這篇文章,相信你對(duì)jsp工作原理的案例分析有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站名稱:jsp工作原理的案例分析-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://chinadenli.net/article44/dsghhe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、云服務(wù)器、網(wǎng)站設(shè)計(jì)公司、建站公司、網(wǎng)站排名、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容