天天看點

jsp靜态包含和動态包含的差別

在jsp中有兩種包含,靜态包含<%@include file="xxx.jsp"%>和動态包含<jsp:include page="xxx.jsp">,下面說一下它們之間的差別 

1、<%@include file="xxx.jsp"%>為jsp中的編譯指令,其檔案的包含是發生在jsp向servlet轉換的時期,而<jsp:include page="xxx.jsp">是jsp中的動作指令,其檔案的包含是發生在編譯時期,也就是将java檔案編譯為class檔案的時期 

2、使用靜态包含隻會産生一個class檔案,而使用動态包含會産生多個class檔案 

3、使用靜态包含,包含頁面和被包含頁面的request對象為同一對象,因為靜态包含隻是将被包含的頁面的内容複制到包含的頁面中去;而動态包含包含頁面和被包含頁面不是同一個頁面,被包含的頁面的request對象可以取到的參數範圍要相對大些,不僅可以取到傳遞到包含頁面的參數,同樣也能取得在包含頁面向下傳遞的參數