JSP页面include的三种方式:
include指令(<%@include file="">)、include方法(RequestDispatcher.include、pageContext,二者完全相同)和<jsp:include>标签
1、引入资源的方式
只有include指令是静态引入Web资源的,include方法和标签都是动态引入Web资源的。静态引入就是内容融合后再进行JSP页面的翻译,动态就是先翻译再融合。
2、HTTP响应头的改变
include方法和标签都不能在被引入的页面中改变响应状态码,也不能改变HTTP响应头,而include指令却可以改变这些信息。
3、Web资源的路径
include方法和标签的相对路径都是相对于页面的,而include指令的相对路径是相对于文件的。
4、Web资源的扩展名
include指令在引用JSP文件时,无论JSP文件的扩展名是不是.jsp,都会将其按照JSP页面来处理。
而include方法和标签所引用的JSP文件的扩展名必须为.jsp才可以,如果是其他的扩展名,就会将其内容当成静态文件处理。
5、处理不存在的Web资源
当相对路径所致的Web资源不存在时,include指令抛出异常,而include方法和标签会向客户端输出一条提示信息后,继续执行后面的JSP代码。