容器,JSP容器,JSP引擎


問題:

 什么是容器?

什么是JSP容器?

JSP容器的作用是什么?

什么是JSP引擎?

 

分析:

這些問題是相同的,都是描述JSP或者Servlet對象是如何被管理或者運行的。

回答:

首先應該明白,JSP或者Servlet本身的運行與普通客戶端程序是不相同的,客戶端程序是我們直接調用的,而JSP或者Servlet的運行需要服務器(Tomcat),通常稱為應用服務器,服務器負責創建JSP或者Servlet對象,然后調用JSP對象或者Servlet對象的相應方法

 

由誰完成JSP或者Servlet對象的創建、方法的調用的呢?由容器完成,或者稱為JSP容器。

容器是用來容納其它組件的,這些組件包括JSP或者Servlet,完成這些組件對象的創建、方法的調用以及對象的銷毀。

容器如何知道創建哪個JSP或者Servlet的對象的呢?

  對於JSP,是根據文件名字確定的,對於Servlet,是通過web.xml中的配置確定的。

容器如何知道調用JSP或者Servlet的哪個方法?

  對於JSP,JSP頁面會被轉換成Java類,而頁面中的內容會被轉換成Java類中的某個方法中的內容,而這個方法的名字是固定的,容器會調用這個方法。

  對於Servlet,用戶需要根據請求的類型編寫doGet或者doPost方法,容器會根據請求的方式是get還是post分別調用doGet或者doPost。

而事實上,Tomcat在大多數情況下充當servlet的容器,也就是說:在寫完JSP代碼后進行第一次執行時,tomcat(servlet容器)先將JSP代碼翻譯成servlet類(java代碼),然后實例化該類,再調用該類的init,service,destory等進行生命周期服務。

當客戶端再進行第二次訪問請求時,此時就沒有servlet容器的翻譯這一步了,因為之前翻譯的java代碼會一直保存,以便於后面的訪問不再進行翻譯,可大大提高訪問效率。

所以,JSP頁面在第一次被訪問時,其所花費的時間是最長的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM