include指令与<jsp:include>动作的区别:
- include指令通过file属性来指定被包含的页面。<jsp:include>动作通过page属性来指定被包含的页面。
- 使用include指令,被包含的文件被原封不动的插入到包含页面中使用该指令的位置,然后JSP编译器再对这个合成的文件进行编译,所以在一个JSP页面中使用include指令来包含另一个JSP页面,最终编译后的文件只有一个。(静态包含)
使用<jsp:include>动作包含文件时,当该动作标识执行后,JSP程序会将请求转发到(注意不是重定向)被包含页面,并将执行结果输出到浏览器中,然后返回页面继续执 行后面的代码,以为web容器执行的两个文件,所以JSP编译器会分别对这两个文件进行编译。(动态包含)
注意:(使用<jsp:include>动作通常是包含那些经常改动的文件,因为被包含的文件改动不会影响到包含文件,因此不需要对包含文件进行重新编译)