當前位置:編程學習大全網 - 編程語言 - JSP是怎樣運行的

JSP是怎樣運行的

在壹個JSP文件第壹次被請求時,JSP引擎把該JSP文件轉換成為壹個Servlet。而這個引擎本身也是壹個Servlet。JSP的運行過程如下所示:

(1)JSP引擎先把該JSP文件轉換成壹個Java源文件(Servlet),在轉換時如果發現JSP文件有任何語法錯誤,轉換過程將中斷,並向服務端和客戶端輸出出錯信息。

(2)如果轉換成功,JSP引擎用javac把該Java源文件編譯成相應的class文件。

(3)創建壹個該Servlet(JSP頁面的轉換結果)的實例,該Servlet的jspInit()方法被執行,jspInit()方法在Servlet的生命周期中只被執行壹次。

(4)jspService()方法被調用來處理客戶端的請求。對每壹個請求,JSP引擎創建壹個新的線程來處理該請求。如果有多個客戶端同時請求該JSP文件,則JSP引擎會創建多個線程。每個客戶端請求對應壹個線程。以多線程方式執行可以大大降低對系統的資源需求,提高系統的並發量及響應時間。但不過也應該註意多線程的編程限制,由於該Servlet始終駐於內存,所以響應是非常快的。

(5)如果.jsp文件被修改了,服務器將根據設置決定是否對該文件重新編譯,如果需要重新編譯,則將編譯結果取代內存中的Servlet,並繼續上述處理過程。

(6)雖然JSP效率很高,但在第壹次調用時由於需要轉換和編譯而有壹些輕微的延 遲。此外,在任何時候如果由於系統資源不足的原因,JSP引擎將以某種不確定的方式將Servlet從內存中移去。當這種情況發生時jspDestroy()方法首先被調用。

(7)然後Servlet實例便被標記加入“垃圾收集”處理。可在jspInit()中進行壹些初始化工作,如建立與數據庫的連接,或建立網絡連接,從配置文件中取壹些參數等,在jspDestory()中釋放相應的資源。

  • 上一篇:初壹信息課主要學什麽
  • 下一篇:初中生去北大青鳥學編程如何?
  • copyright 2024編程學習大全網