虽然include指令与<jsp:include>动作标识都可以用来包含文件,但是它们之间存在很大的差别。
(1)include指令通过file属性指定被包含的文件,并且file属性不支持任何表达式;
<jsp:include>动作标识通过page属性指定被包含的文件,而且page属性支持jsp表达式。
(2)使用include指令时,被包含的文件会原封不动地被插入到包含文件中,然后jsp编译器再将合成后的文件最终编译成一个java文件;
使用<jsp:include>动作标识包含文件时,当其被执行时,程序将请求转发到被包含的页面,并将执行结果输出到浏览器中,然后返回
包含页面继续执行后面的代码。因为服务器执行的是多个文件,所以jsp编译器会分别对这些文件进行编译。
(3)在使用include指令包含文件时,由于被包含的文件最终会生成一个文件,所以在被包含文件、包含文件中不能有重名的变量和方法;
对于<jsp:include>动作标识包含文件时,则无所谓