A. jsp的執行過程是怎樣的
JSP的執行過程
JSP的執行過程主要可以分為以下幾點:
客戶端發出請求。
Web容器將JSP轉譯成Servlet源代碼。
Web容器將產生的源代碼進行編譯。
Web容器載入編譯後的代碼並執行。
把執行結果響應至客戶端。
過程介紹
客戶端發出請求,請求為JSP,web容器就會找出相應的servlet進行處理。
將servlet轉成位元組碼文件。
將位元組碼文件載入到web容器里。
這時會在web容器里建立實例。首弊衫
進行初始化。
通過service接受請求。
然後web容器會自動產生兩個對象servlet和service最後進行銷毀。
JSP的運行原理
WEB容器(Servlet引擎)接收到以。jsp為擴展名的URL的訪問請求時,它將把該訪問請求交給JSP引擎去處理。Tomcat中的JSP引擎就是一個Servlet程序,它負責解釋和執行JSP頁面。
每個JSP頁面在第一次被訪問時,JSP引擎將它翻譯成一個Servlet源程序,接著再把這個Servlet源程序編譯成Servlet的class類文件,然後再由WEB容器(Servlet引擎)像調用普通Servlet程序一樣的方式來裝載和解釋執行這個由JSP頁面翻譯成的Servlet程序。
Tomcat 5.x把為JSP頁面創建的Servlet源文件和class類文件放置在「<TOMCAT_HOME>workCatalina<主機名><應用程序名>」目錄中,
Tomcat將JSP頁面翻譯成的Servlet的包名為org.apache.jsp.<JSP頁面在WEB應用程序內的目錄名>。
JSP規范也沒有明確要求JSP中的腳本程序代碼必須採用java語言,JSP中的腳本程序代碼可以採用Java語言之外的其他腳本語言來編寫,但是,JSP頁面最終必須卜侍轉換成Java Servlet程序。
可以在WEB應用程序正式發布之前,將其中的者腔所有JSP頁面預先編譯成Servlet程序。
B. JSP 傳遞參數給FLASH AS3.0
如果是用URLLoader這么寫
as3.0:
var myvar;
var url:URLRequest=new URLRequest("somthing.jsp");
var loader:URLLoader=new URLLoader(url);
loader.addEventListener(Event.COMPLETE,handler);
function handler(e:Event){
myvar=e.target.data;
trace(myvar); //結果為hello world(從somthing.jsp來的)
}
somthing.jsp:(其實我會的是PHP但是知道內點JSP)
<%
out.print ("hello world");
>%
如果是像容1樓那樣<param name="FlashVars" value="somevar=123" />
就在第一幀寫
var myvar;
myvar=stage.loaderInfo.parameters["somevar"];
trace(myvar);//結果為123
C. JSP 頁面的執行過程包括哪些步驟
JSP執行過程,
1. 用戶請求JSP頁面(HTTP請求)
2. web server中的servlet容器發現URL中有JSP後綴, 就調用JSP容器來處理
3. 如果此頁面是第一次被請求, JSP容器要定位JSP頁面文件並解釋它,
解釋的過程包括: 將JSP源文件處理成servlet代碼(java), 以及編譯java文件生成servlet的call文件.
說明: JSP解釋器生成的servlet類是實現了java.servlet.jsp.HttpJspPate介面的類(由JSP容器提供)的一個子類, 這個servlet類叫做頁面實現類(JSP頁面實例);
4. JSP容器運行頁JSP頁面實例, 此時servlet(即JSP頁面實例)就會出來HTTP請求, 生成對於的HTTP響應並傳回給客戶端. 如果此頁面不是第一次被請求, 則跳過3, 直接跳到4.
5. 結束