jsp中的指令元素include與動作包含include有何區別

時間 2021-08-30 09:18:24

1樓:王蘆詩涵

include指令是編譯階段的指令,即include所包含的檔案的內容是編譯的時候插入到jsp檔案中,jsp引擎在判斷jsp頁面未被修改,否則視為已被修改。由於被包含的檔案是在編譯時才插入的,因此如果只修改了include檔案內容,而沒有對jsp修改,得到的結構將不會改變,所以直接執行已經存在的位元組碼檔案,而沒有重新編譯。因此對不經常變化的內容,用include指令是合適的,如果需要的內容是經常變化的,則需要動作元素.

下面將詳細區分他們之間的不同

1.include指令

include可以在jsp頁面轉換成servlet之前,將jsp**插入其中。它的主要優點是功能強大,所包含的**可以含有總體上影響主頁面的jsp構造,比如屬性、方法的定義和文件型別的設定。

它的缺點是難於維護只要被包含的頁面發生更改,就得更改主頁面,這是因為主頁面不會自動地檢視被包含的頁面是否發生更改。

語法:1

2.include動作

jsp:include動作是在主頁面被請求時,將次級頁面的輸出包含進來。儘管被包含的頁面的輸出中不能含有jsp,但這些頁面可以是其他資源所產生的 結果。

伺服器按照正常的方式對指向被包含資源的url進行解釋,因而這個url可以是servlet或jsp頁面。

伺服器以通常的方式執行被包含的頁面, 將產生的輸出放到主頁面中,這種方式與requestdispatcher類的include方法一致。它的優點是在被包含的頁面發生更改時,無須對主頁 面做出修改。它的缺點是所包含的是次級頁面的輸出,而非次級頁面的實際**,所以在被包含的頁面中不能使用任何有可能在整體上影響主頁面的jsp構造。

語法:其中引數設定可以沒有,如果沒有引數設定,則必須採用形式

3. 使用include動作還是include指令?

使用include指令,如果被包含的檔案發生改變,那麼,用到它的所有jsp頁面都需要更新。

僅當include動作不能滿足要求時,我們才應該使用include指令。

有 些開發人員認為include指令生成的**執行起來比使用include動作的**更快。儘管原則上由可能的確如此,但效能上的差異很小,以致難以測 量,同時,include動作在維護上的優勢十分巨大,當兩種方法都可以使用時,include動作幾乎肯定是首選的方法。

對於檔案包含,應該儘可能地使用include動作。僅在所包含的檔案中定義了主頁面要用到的欄位或方法,或所包含的檔案設定了主頁面的響應報頭時,才應該使用include指令。

既然include指令產生難以維護的**,為什麼人們還要使用它呢?

因為include指令更為強大。include指令允許所包含的檔案中含有影響主頁面的jsp**,比如響應報頭的設定和欄位、方法的定義。

例子://subpage.jsp

//mainpage.jsp

當然使用include動作時這是不可能的,因為num變數未定義,主頁面不能成功的轉換成servlet。

jsp中include指令和include動作的區別

jsp中include指令和include動作的區別

2樓:千鋒教育

include指令是編譯階段的指令,即include所包含的檔案的內容是編譯的時候插入到jsp檔案中,jsp引擎在判斷jsp頁面未被修改,否則視為已被修改。由於被包含的檔案是在編譯時才插入的,因此如果只修改了include檔案內容,而沒有對jsp修改,得到的結構將不會改變,所以直接執行已經存在的位元組碼檔案,而沒有重新編譯。因此對不經常變化的內容,用include指令是合適的,如果需要的內容是經常變化的,則需要動作元素.

下面將詳細區分他們之間的不同

1.include指令

include可以在jsp頁面轉換成servlet之前,將jsp**插入其中。它的主要優點是功能強大,所包含的**可以含有總體上影響主頁面的jsp構造,比如屬性、方法的定義和文件型別的設定。

它的缺點是難於維護只要被包含的頁面發生更改,就得更改主頁面,這是因為主頁面不會自動地檢視被包含的頁面是否發生更改。

語法:1

<%@ include file="sample.jsp" %>

2.include動作

jsp:include動作是在主頁面被請求時,將次級頁面的輸出包含進來。儘管被包含的頁面的輸出中不能含有jsp,但這些頁面可以是其他資源所產生的 結果。

伺服器按照正常的方式對指向被包含資源的url進行解釋,因而這個url可以是servlet或jsp頁面。

伺服器以通常的方式執行被包含的頁面, 將產生的輸出放到主頁面中,這種方式與requestdispatcher類的include方法一致。它的優點是在被包含的頁面發生更改時,無須對主頁 面做出修改。它的缺點是所包含的是次級頁面的輸出,而非次級頁面的實際**,所以在被包含的頁面中不能使用任何有可能在整體上影響主頁面的jsp構造。

語法:其中引數設定可以沒有,如果沒有引數設定,則必須採用形式

3. 使用include動作還是include指令?

使用include指令,如果被包含的檔案發生改變,那麼,用到它的所有jsp頁面都需要更新。

僅當include動作不能滿足要求時,我們才應該使用include指令。

有 些開發人員認為include指令生成的**執行起來比使用include動作的**更快。儘管原則上由可能的確如此,但效能上的差異很小,以致難以測 量,同時,include動作在維護上的優勢十分巨大,當兩種方法都可以使用時,include動作幾乎肯定是首選的方法。

對於檔案包含,應該儘可能地使用include動作。僅在所包含的檔案中定義了主頁面要用到的欄位或方法,或所包含的檔案設定了主頁面的響應報頭時,才應該使用include指令。

既然include指令產生難以維護的**,為什麼人們還要使用它呢?

因為include指令更為強大。include指令允許所包含的檔案中含有影響主頁面的jsp**,比如響應報頭的設定和欄位、方法的定義。

例子://subpage.jsp

<%! int num=0; %>

//mainpage.jsp

<%@ include file="subpage.jsp" %>

<%= num %>

當然使用include動作時這是不可能的,因為num變數未定義,主頁面不能成功的轉換成servlet。

jsp中的問題,jsp中 是什麼含義

千鋒教育 舉例如下 string username abc 下面兩句 是一樣的效果,標識裡面的是jsp 變數 是 out.println 變數 的簡寫方式 使用者 username 使用者 out.println username 大時代暑 這是和上一個 的內容連著的啊。上一個 的if logins...

如何將jsp中js裡的變數傳到另jsp中

乙個頁面像另乙個頁面提交變數最常見的有兩種情況 1 get方式中,將變數附加到url中,例如http zhidao.baidu.這個鏈結中變數entry和ishq的值就傳遞給了頁面267751952.html。2 post方式的話可以在表單中提交,設定乙個隱藏域,用js把變數值賦值給隱藏域,提交的時...

jsp兩種註釋區別,和的區別,jsp中,這兩種js的寫法,有什麼區別?

育知同創教育 1 jsp頁面中的html註釋 sp頁面中的html註釋使用 建立,它的具體形式如下所示 當它出現在jsp頁面時,微蘑菇將不被原樣地加入jsp響應中,而且將出現在生成的html 中,此 將傳送給瀏覽器 然後有瀏覽器負責忽略此註釋。由於 html註釋不是簡單地被jsp忽略,因此它們可以包...