jsp文件的運(yùn)行方法-創(chuàng)新互聯(lián)

這篇文章主要介紹了jsp文件的運(yùn)行方法,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)公司是網(wǎng)站建設(shè)技術(shù)企業(yè),為成都企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè),網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。10余年品質(zhì),值得信賴!

當(dāng)客戶端瀏覽器向服務(wù)器發(fā)出訪問(wèn)一個(gè)JSP頁(yè)面的請(qǐng)求時(shí),服務(wù)器根據(jù)該請(qǐng)求加載相應(yīng)的JSP頁(yè)面,并對(duì)該頁(yè)面進(jìn)行編譯,然后執(zhí)行。

jsp文件的運(yùn)行方法

頁(yè)面的執(zhí)行過(guò)程如下圖所示:

jsp文件的運(yùn)行方法

客戶端通過(guò)瀏覽器向服務(wù)器發(fā)出請(qǐng)求,在該請(qǐng)求中包含了請(qǐng)求的資源的路徑,這樣當(dāng)服務(wù)器接收到該請(qǐng)求后就可以知道被請(qǐng)求的內(nèi)容。

服務(wù)器根據(jù)接收到的客戶端的請(qǐng)求來(lái)加載相應(yīng)的JSP文件。

Web服務(wù)器中的JSP引擎會(huì)將被加載的JSP文件轉(zhuǎn)化為Servlet。

JSP引擎將生成的Servlet代碼編譯成Class文件。

服務(wù)器執(zhí)行這個(gè)Class文件。

最后服務(wù)器將執(zhí)行結(jié)果發(fā)送給瀏覽器進(jìn)行顯示。

從上面的解釋中可以看到,JSP文件被JSP引擎轉(zhuǎn)換后,又被編譯成了Class文件,最終由服務(wù)器通過(guò)執(zhí)行這個(gè)Class文件來(lái)對(duì)客戶端的請(qǐng)求進(jìn)行響應(yīng)。其中第三步和第四步構(gòu)成了JSP處理過(guò)程中的翻譯階段,而第五步則為請(qǐng)求處理階段。

但并不是每次請(qǐng)求都需要重復(fù)進(jìn)行這樣的處理。當(dāng)服務(wù)器第一次接收到對(duì)某個(gè)頁(yè)面的請(qǐng)求時(shí),JSP引擎就開(kāi)始按照上述的處理過(guò)程來(lái)將被請(qǐng)求的JSP文件編譯成Class文件。當(dāng)再次對(duì)該頁(yè)面進(jìn)行請(qǐng)求時(shí),如果該頁(yè)面沒(méi)有任何改動(dòng),服務(wù)器就會(huì)直接調(diào)用對(duì)應(yīng)的Class文件來(lái)執(zhí)行。因此當(dāng)某個(gè)JSP頁(yè)面第一次被請(qǐng)求時(shí),會(huì)有一些延遲,而再次訪問(wèn)時(shí)會(huì)感覺(jué)速度快了很多。如果被請(qǐng)求的頁(yè)面經(jīng)過(guò)了修改,那么服務(wù)器會(huì)重新編譯這個(gè)文件,然后再執(zhí)行。

jsp是怎么運(yùn)行的

**jsp ——JSP引擎轉(zhuǎn)換為Servlet——Java編譯為.class文件——由Java虛擬機(jī)解釋執(zhí)行

Web容器處理JSP文件請(qǐng)求的執(zhí)行過(guò)程主要包括以下4個(gè)部分:

客戶端發(fā)出Request請(qǐng)求

JSP Container 將JSP轉(zhuǎn)譯成Servlet的源代碼

將產(chǎn)生的Servlet源代碼經(jīng)過(guò)編譯后,并加載到內(nèi)存執(zhí)行

把結(jié)果Response(響應(yīng))至客戶端

很多人都會(huì)認(rèn)為JSP的執(zhí)行性能會(huì)和Servlet相差很多,其實(shí)執(zhí)行性能上的差別只在第一次的執(zhí)行。因?yàn)镴SP在執(zhí)行第一次后,會(huì)被編譯成Servlet的類文件,即.class,當(dāng)再重復(fù)調(diào)用執(zhí)行時(shí),就直接執(zhí)行第一次所產(chǎn)生的Servlet,而不再重新把JSP編譯成Servelt。因此,除了第一次的編譯會(huì)花較久的時(shí)間之外,之后JSP和Servlet的執(zhí)行速度就幾乎相同了。

在執(zhí)行JSP網(wǎng)頁(yè)時(shí),通??梢苑譃閮蓚€(gè)時(shí)期:轉(zhuǎn)譯時(shí)期(Translation Time)和請(qǐng)求時(shí)期(Request Time)

轉(zhuǎn)譯時(shí)期:JSP網(wǎng)頁(yè)轉(zhuǎn)移成Servlet類。

請(qǐng)求時(shí)期:Servlet類執(zhí)行后,響應(yīng)結(jié)果至客戶端。

轉(zhuǎn)譯期間做了兩件事情:

轉(zhuǎn)譯時(shí)期:將JSP網(wǎng)頁(yè)轉(zhuǎn)移為Servlet源代碼 .java.

編譯時(shí)期:將Servlet 源代碼 .java編譯成 Servlet類 .class.

當(dāng)JSP網(wǎng)頁(yè)在執(zhí)行時(shí),JSP Container 會(huì)做檢查工作,如果發(fā)現(xiàn)JSP網(wǎng)頁(yè)有更新修改時(shí),JSP Container 才會(huì)再次編譯JSP成 Servlet; 如果JSP沒(méi)有更新時(shí),就直接執(zhí)行前面所產(chǎn)生的Servlet.**

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享jsp文件的運(yùn)行方法內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問(wèn)題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!

分享名稱:jsp文件的運(yùn)行方法-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://muchs.cn/article2/djjdic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、微信公眾號(hào)服務(wù)器托管、網(wǎng)站收錄商城網(wǎng)站、企業(yè)建站

廣告

聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站