jsp中@include和jsp:include的区别

1. jsp include指令
静态包含,将被包含资源的所有内容复制过来,一起编译运行。所以只生产一个class文件。

//用法 ... 上面的include1 //通过include指令导入网页上面部分 中间的include 我是中间的//网页中间部分,变动内容 下面的include2 //通过include指令导入 网页下面部分 ...

2.include动态标签
动态包含,将被包含资源的运行结果包含进来。所以会生产三个class文件
//用法 ... 上面的include1 中间的include 中间的jsp内容(可以作为动态内容部分) 下面的include2 ...



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


【jsp中@include和jsp:include的区别】

    推荐阅读