jsp中@include和jsp:include的区别

1. jsp include指令

         <%@include%> 静态包含,将被包含资源的所有内容复制过来,一起编译运行。所以只生产一个class文件。

//用法
...

        

上面的include1

<%@include file="/include/include1.jsp" %> //通过include指令导入网页上面部分

中间的include

我是中间的 //网页中间部分,变动内容

下面的include2

<%@include file="/include/include2.jsp" %> //通过include指令导入 网页下面部分 ...

2.include动态标签

         动态包含,将被包含资源的运行结果包含进来。所以会生产三个class文件

//用法
...

        

上面的include1

中间的include

中间的jsp内容(可以作为动态内容部分)

下面的include2

...

 

 

Summary:

对于静态包含,<%@include%>,中包含的文件,只是简单的嵌入到主文件中,就是在jsp页面转化成Servlet时才嵌入到主文件中,因为运行的结果是只生成了一个Servlet。

而对于动态包含,,如果被包含文件是动态的,那么就会生成三个Servlet,也就是被包含文件也要经过jsp引擎编译执行生成一个Servlet,三个Servlet通过request和reponse进行通信。如果被包含的文件是静态的,那么这种情况和<%@include>就很相似,只生成了一个Servlet,但是他们之间没有进行简单的嵌入,而依然是通过request和reponse进行的通信。

 

 

 

你可能感兴趣的:(Java基础)