程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> Include動作與Include指令的區別對比

Include動作與Include指令的區別對比

編輯:關於JSP

Include動作與Include指令的區別對比

  include 動作 include 指令 語法 <jsp:include page="..."> <%@ include file="..."%> 包含動作的發生時間 請求期間 頁面轉換期間 包含的內容 頁面的輸出 文件的實際內容 產生多少個 servlet 兩個 ( 主頁面和次級頁面都會成為獨立的 servlet ) 一個 ( 次級頁面首先被插入到主頁面中,然後得到的頁面被轉換成 servlet ) 被包含的頁面中可否設置影響主頁面的響應報頭 不可以 可以 被包含的頁面中可否定義主頁面使用的字段或方法 不可以 可以 被包含的頁面發生更改時是否需要更新主頁面 不需要 需要 等同的 servlet 代碼 RequestDispatcher 的 include 方法 沒有

 include動作與inclue指令優缺點

include動作 <jsp:include page="" /> 它允許我們在請求期間將其他頁面的輸出包含進來

優點:在被包含的頁面作出更改時,無須對主頁面作出更改。
缺點:它所包含的是次頁面的輸出,而非次頁面的實際代碼。

所以在被包含的次級頁面中不能使用任何有可能總體上影響主頁面的jsp構造。
它的優點遠遠勝過它的缺點,這幾乎注定它會比其他包含機制應用的更為普遍。

include指令 <%@ include file="" %> 它可以在主頁面轉換成servlet之前,將jsp代碼插入其中。

優點:功能強大,所包含的代碼可以含有總體上影響主頁面的jsp構造,例如字段的定義和內容類型的設定。
缺點:難以維護,只要被包含的頁面發生更改就要更新主頁面。
 


 使用include動作還是include指令?

使用include指令,如果被包含的文件發生改變,那麼,用到它的所有Jsp頁面都需要更新。
僅當include動作不能滿足要求時,我們才應該使用include指令。

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

對於文件包含,應該盡可能地使用include動作。
僅在所包含的文件中定義了主頁面要用到的字段或方法,或所包含的文件設置了主頁面的響應報頭時,才應該使用include指令。

既然include指令產生難以維護的代碼,為什麼人們還要使用它呢?
因為include指令更為強大。include指令允許所包含的文件中含有影響主頁面的Jsp代碼,比如響應報頭的設置和字段、方法的定義。

例如:

subpage.jsp

 <%! int num=0; %>

mainpage.jsp

 <html>
 <body>
 <%@ include file="subpage.jsp" %>
 <%= num %>
 </body>
 </html>

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

*
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved