(1)静态导入(include指令)经过file属性指定被包含的文件,而且file属性不支持任何表达式;动态导入(include动做)经过page属性指定被包含的文件,且page属性支持JSP表达式;浏览器
(2)使用静态导入(include指令)时,被包含的文件内容会原封不动的插入到包含页中,而后JSP编译器再将合成后的文件最终编译成一个 Java文件;使用动态导入(include动做)包含文件时,当该标识被执行时,程序会将请求转发(不是请求重定向)到被包含的页面,并将执行结果输出 到浏览器中,而后返回包含页继续执行后面的代码。由于服务器执行的是多个文件,因此JSP编译器会分别对这些文件进行编译;服务器
(3)使用include静态指令包含文件时,因为被包含的文件最终会生成一个文件,因此在被包含、包含文件中不能有重名的变量或方法;而include动态包含文件时,因为每一个文件是单独编译的,因此在被包含文件和包含文件中重名的变量和方法是不相冲突的。编译器
(4)静态导入是将被导入页面的代码彻底融入,两个页面融合成一个总体Servlet,所以被导入页面甚至不须要是一个完整的页面;而动态导入则在Servlet中使用include方法来引入被导入页面的内容;编译
(5)静态导入时被导入页面的编译指令会起做用;而动态导入时被导入页面的编译指令则失去做用,只是插入被导入页面的body内容。变量