<u id="u8jc0"><sub id="u8jc0"><input id="u8jc0"></input></sub></u><i id="u8jc0"></i><u id="u8jc0"><bdo id="u8jc0"></bdo></u>
<i id="u8jc0"></i>

<u id="u8jc0"></u>

<u id="u8jc0"></u>
NEWS

連云港網站優化放心網絡公司

首頁>>公司新聞>>公司消息

jsp的運行原理分析


時間:2015-04-10 12:23:53 來源:連云港放心網絡技術有限公司

當web服務器上的jsp頁面第一次被請求執行時,jsp引擎先將jsp頁面文件轉義成一個servlet,而這個引擎本身也是一個servlet,對此過程的詳細描述如下:
    當web服務器上的jsp頁面第一次被請求執行時,jsp引擎先將jsp頁面文件轉義成一個servlet,而這個引擎本身也是一個servlet,對此過程的詳細描述如下:
    1、jsp引擎先把jsp文件轉換成一個java源文件,即servlet,在轉換時如果發現jsp文件有任何語法錯誤,轉換過程將終端,并分別在服務器端和客戶端提示出錯信息。
    2、如果轉換成功,jsp引擎用javac把該java源文件編譯成相應的class文件。
    3、創建一個該servlet的對象,該servlet的jsplnit()方法被執行,jsplnit()方法在servlet的生命周期中只被執行一次。
    4、jspservice()方法被調用來處理客戶端的請求。對每一個請求,jsp引擎創建一個新的線程來處理該請求。如果有多個客戶端同時請求該jsp文件,則jsp引擎會創建多個線程,每個客戶端請求對應一個線程。以多線程方式執行可以大大降低對系統的資源需求,提高系統的并發量及響應時間。但也應該注意多線程的編程限制,由于該servlet適中駐于內存,所以響應是非??斓?。
    5、如果.jsp文件被修改了,服務器將根據設置決定是否對該文件重新編譯,如果需要重新編譯,則將編譯結果取代內存中的servlet,將繼續上述處理過程。
    6、雖然jsp效率很高,但在第一次調用時由于需要轉換和編譯而又一些輕微的延遲。此外,在任何時候如果由于系統資源不足,jsp引擎將以某種不確定的方式將servlet從內存中移去。當這種情況發生時,jspdestroy()方法首先被調用。
    7、然后servlet對象便被標記加入“垃圾收集”處理??稍趈splnit()中進行一些初始化工作,如建立與數據庫的鏈接,或建立網絡鏈接,從配置文件中取一些參數等,在jspdestroy()中釋放相應的資源。

{dede:tag}{/dede:tag}

無覓關聯推薦,快速提升流量 {dede:duoshuo/}
国产尤物亚洲精品不卡_狠狠狠久久久免费观看_国产 欧美 日韩 综合 精品_亚洲综合精品第一页蜜芽