1. 知識(shí)點(diǎn)
1) JSP頁(yè)面代碼的載入順序和執(zhí)行
a) 當(dāng)客戶第一次請(qǐng)求JSP頁(yè)面時(shí),JSP引擎會(huì)通過(guò)預(yù)處理把JSP文件中的靜態(tài)數(shù)據(jù)(HTML)和動(dòng)態(tài)數(shù)據(jù)(Java腳本)全
部轉(zhuǎn)換為Java代碼。這個(gè)轉(zhuǎn)換工作實(shí)際上是非常直觀的,對(duì)于HTML文本只是簡(jiǎn)單地用out.pringln()方法包裹起來(lái),
對(duì)于Java腳本只是保留或簡(jiǎn)單地處理。
b) JSP引擎把生成的.java文件編譯成Servlet類(lèi)文件(.class)。對(duì)于Tomcat服務(wù)器而言,生成的類(lèi)文件默認(rèn)的情況下存放
在
c) 編譯后的class對(duì)象被加載到容器中,并根據(jù)用戶的請(qǐng)求生成HTML格式的響應(yīng)頁(yè)面。
在執(zhí)行JSP頁(yè)面時(shí),通??煞譃閮蓚€(gè)時(shí)期:轉(zhuǎn)譯時(shí)期(Translation Time)和請(qǐng)求時(shí)期(Request Time)。在轉(zhuǎn)譯時(shí)期,JSP網(wǎng)頁(yè)被轉(zhuǎn)譯成Servlet類(lèi),然后被編譯成類(lèi)文件;在請(qǐng)求時(shí)期,Servlet類(lèi)執(zhí)行后,響應(yīng)結(jié)果至客戶端。
2. JSP頁(yè)面中的代碼加載執(zhí)行順序
1) java是在服務(wù)器端運(yùn)行的代碼,jsp在服務(wù)器的servlet里運(yùn)行,而javascript和html都是在瀏覽器端運(yùn)
行的代碼。所以加載執(zhí)行順序是java>jsp>js
2) js在jsp中的加載順序
頁(yè)面上的js代碼是html代碼的一部分,所以頁(yè)面加載的時(shí)候是由上而下加載。所以js加載的順序也就是
頁(yè)面中