91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JSP中的代碼加載順序

發布時間:2020-08-11 12:46:12 來源:網絡 閱讀:2459 作者:guxianyang 欄目:開發技術

1. 知識點

1) JSP頁面代碼的載入順序和執行

a) 當客戶第一次請求JSP頁面時,JSP引擎會通過預處理把JSP文件中的靜態數據(HTML)和動態數據(Java腳本)全

    部轉換為Java代碼。這個轉換工作實際上是非常直觀的,對于HTML文本只是簡單地用out.pringln()方法包裹起來,

    對于Java腳本只是保留或簡單地處理。

b) JSP引擎把生成的.java文件編譯成Servlet類文件(.class)。對于Tomcat服務器而言,生成的類文件默認的情況下存放

    在<Tomcat>\work目錄。

c) 編譯后的class對象被加載到容器中,并根據用戶的請求生成HTML格式的響應頁面。

在執行JSP頁面時,通常可分為兩個時期:轉譯時期(Translation Time)和請求時期(Request Time)。在轉譯時期,JSP網頁被轉譯成Servlet類,然后被編譯成類文件;在請求時期,Servlet類執行后,響應結果至客戶端。

2. JSP頁面中的代碼加載執行順序

1) java是在服務器端運行的代碼,jsp在服務器的servlet里運行,而javascript和html都是在瀏覽器端運

    行的代碼。所以加載執行順序是java>jsp>js

2) js在jsp中的加載順序

    頁面上的js代碼是html代碼的一部分,所以頁面加載的時候是由上而下加載。所以js加載的順序也就是

    頁面中<script>標簽出現的順序。<script>標簽里面的或者是引入的外部js文件的執行順序都是其語

    語句出現的順序,其中js執行的過程也是頁面裝載的一部分

3) 在js腳本中定義的全局變量和函數,都可以在后面的腳本中調用。

    變量的調用,必須是前面已經聲明了的,否則變量返回的值是undefined。同一段腳本中,函數定義

    可以出現在函數的調用后面;若函數的定義和調用在兩個腳本段中,函數調用在函數定義之前就會報

    函數未定義錯誤。

4) js中出現ajax的異步加載

    由于ajax的異步加載可能會導致語句的執行順序并不是按照語句的出現順序執行的。例如,在頁面初

    始加載的時候需要向jsp發送請求來獲得該頁面所需的數據,在ajax成功函數中,對data的操作所需的

    時間過長,就會導致在ajax函數外面的confirm與loadTree比data操作后面的語句先執行。最終在

    loadTree中使用data的值的時候就為空,此時全局變量openTab_Id就為空。

5) 控制js執行順序

    可以使用setTimeout(function(),time);來使function延遲加載。

6) js腳本必須放在head或body里面,不然提示invalid location of tag(script)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临安市| 大姚县| 松桃| 盈江县| 永定县| 通辽市| 永州市| 咸宁市| 昭通市| 吴旗县| 彭州市| 大渡口区| 安义县| 浮山县| 称多县| 铜川市| 遂溪县| 台前县| 临安市| 奉节县| 敦煌市| 瑞安市| 大冶市| 出国| 安阳县| 东源县| 昂仁县| 泾源县| 通河县| 七台河市| 潜江市| 山东省| 平舆县| 上蔡县| 大石桥市| 福州市| 双城市| 广德县| 库伦旗| 高要市| 信宜市|