JavaWeb基礎之一JSP語法(一) JSP運行原理

1、JSP是Java Server Pages 的縮寫。

2、JSP的技術特點:

(1)、能夠在任何WEB或應用程序服務器上運行

(2)、將程序邏輯和頁面顯示相分離

(3)、採用標籤簡化頁面開發

(4)、組件可重用

3、JSP的運行機制(當一個JSP文件第一次被請求時,JSP容器會先把該JSP文件轉換成一個Servlet)


JSP的運行過程爲:

(1)、JSP文件轉換成Java源文件(Java Servlet源程序),期間如果存在語法錯誤,

則中斷轉換,並向服務端和客戶端返回錯誤信息。

(2)、如果轉換成功,則JSP容器使用Javac將Java源文件編譯成字節碼文件*.class(Servlet類),

Servlet容器會像處理其他的Servlet一樣來處理它。

(3)、創建一個該Servlet(jsp頁面轉換)的實例(常駐內存),並執行Servlet的 jspInit()方法,jspInit()方法在Servlet的整個生命週期中只會被執行一次。

(4)、執行_jspService()方法來處理客戶端的請求,對於每個請求,JSP容器都會創建一個新的線程來處理它,JSP運行過程中採取的

這種多線程的執行方式降低了對系統資源的需求,提高系統的併發量和響應時間

(5)、如果.jsp文件被修改了,則服務器將根據設置決定是否對該文件重新編譯

(6)、第一次打開*.jsp時,由於需要轉換和編譯過程而產生一些延遲,此外由於系統資源不足等原因,JSP容器會以某種不確定的方式將Servlet

從內存中移去(調用jspDestory()方法,然後該實例被加入“垃圾收集”處理)。

(7)、當請求處理完成後,響應對象由JSP容器接收,並將HTML格式的響應信息發送回客戶端。

注意:可在jspInit()中進行一些初始化工作,如建立與數據庫的連接,或建立網絡連接,從配置文件中取一些參數等,在jspDestory()中釋放相應的資源。

    public void jspInit()方法:該方法在JSP頁面初始化時被調用,用於完成初始化工作,類似於Servlet中的Init()方法。

    public void jspDestory()方法:該方法在JSP頁面將被撤銷時調用,用於完成JSP的清除工作。

    public void  _jspService(javax.servlet.http.HttpServletRequest  request,javax.servlet.http.HttpServlet Response response)方法:

    該方法對應JSP頁面的主體body部分,由JSP容器自動生成,頁面設計人員不能提供該方法的實現。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章