Jsp中include指令和include动作。

1、include指令:

1.1、演示:

<%--当前a.jsp页面包含b.jsp页面--%>
<%@ include file="b.jsp" %>

1.2、原理:

* a.jsp包含b.jsp底层共生成一个java源文件,一个class字节码文件;
* 翻译期包含/编译期包含/静态联编(两个jsp可共享一个变量)。

1.3、作用:

* 在网页中有一些主体框架,如:网页头、网页脚,这些都是固定不变的,我们可以将网页头、网页脚等固定不变的单独写在某个jsp文件中,在需要的时候使用include指令包含进来。

1.4、优点:

* 代码量少;
* 便于维护(修改一个文件可作用于所有包含它的页面)。

2、include动作:

2.1、演示:

<%--当前a.jsp页面包含b.jsp页面--%>
<jsp:include page="/b.jsp"></jsp:include>

2.2、原理:

* 1、a.jsp包含b.jsp,底层会分别生成两个java源文件,两个class字节码文件;
* 2、编译阶段并没有包含,编译阶段是两个独立的class字节码文件,生成两个Servlet,两个独立的Service方法;
* 3、使用include动作属于运行阶段包含,实际上是在运行阶段a中的Service方法调用了b中Service方法,达到了包含的效果;
* 4、include动作完成的动态包含,被称为动态联编。

3、用哪个?

*  a.jsp包含b.jap,若两个jsp文件中有重名的变量,只能使用动态包含,其余都可以使用静态包含。
经验分享 程序员 微信小程序 职场和发展