---恢复内容开始---
JSP页面静态包含和动态包含的区别与联系:
1、<%@ include file=” ” %> 是指令元素,<jsp:include page=” ”/> 是行为元素。
2、静态包含:
语法:<%@ include file=” ” %>,
包含文件先是要直接复制一份内容到主体页面内,然后被包含的内容一起和主体转换成.class文件。只出现一个.class文件一个java文件,最终编译成java文件。
3、动态包含:
语法:<jsp:include page=” ”/> ,
动态包含可以包含静态页面,也可以包含动态页面。
如果包含的是静态页面,那么和静态包含差不多,也是直接复制一份被包含页面的内容到主体文件后一起被转换成.class文件,最终编译成java文件。
如果包含的是动态页面,则被包含页面和主体页面,分别转换成.class文件后,分别编译成java文件,最后被包含页面才加载到主体页面,出现多个.class文件和多个java文件。
4、静态包含发生在jsp向servlet转换的时期,一起最后被编译成java文件后,再向servlet转换,所以被包含页面和主体页面的编码必须一致。
5、动态包含发生在编译时期,当执行到被包含页面时,才转换,所以产生多个java和class文件。
6、静态包含因为是编译前就合并了,所以在文件间传参是没有意义的,访问的是同一个request对象,因为是同一个servlet,同在 _jspService() 方法中。
7、动态包含因为是当执行到被包含页面时,才转换,所以多个文件的request对象不是同一个,但被包含页面可以取得包含页面的参数,从而动态包含可以传参数,也可以通过标签传递参数:
< jsp:include page="..." flush=true>
< jsp:param name="..." value="..."/>
< /jsp:include>
---恢复内容结束---
JSP页面静态包含和动态包含的区别与联系:1、<%@ include file=” ” %>
是指令元素,<jsp:include page=” ”/>
是行为元素。
2、静态包含:
语法:<%@ include file=” ” %>
,
包含文件先是要直接复制一份内容到主体页面内,然后被包含的内容一起和主体转换成.class文件。只出现一个.class文件一个java文件,最终编译成java文件。
3、动态包含:
语法:<jsp:include page=” ”/>
,
动态包含可以包含静态页面,也可以包含动态页面。
如果包含的是静态页面,那么和静态包含差不多,也是直接复制一份被包含页面的内容到主体文件后一起被转换成.class文件,最终编译成java文件。
如果包含的是动态页面,则被包含页面和主体页面,分别转换成.class文件后,分别编译成java文件,最后被包含页面才加载到主体页面,出现多个.class文件和多个java文件。
4、静态包含发生在jsp向servlet转换的时期,一起最后被编译成java文件后,再向servlet转换,所以被包含页面和主体页面的编码必须一致。
5、动态包含发生在编译时期,当执行到被包含页面时,才转换,所以产生多个java和class文件。
6、静态包含因为是编译前就合并了,所以在文件间传参是没有意义的,访问的是同一个request对象,因为是同一个servlet,同在 _jspService()
方法中。
7、动态包含因为是当执行到被包含页面时,才转换,所以多个文件的request对象不是同一个,但被包含页面可以取得包含页面的参数,从而动态包含可以传参数,也可以通过标签传递参数:
< jsp:include page="..." flush=true> < jsp:param name="..." value="..."/> < /jsp:include>