1. 动态include
<jsp:include page="目标jsp">
它的原理是使用了 request.getRequestDispatcher(目标jsp).include(request,response) 来实现页面包含,其本质是将 源jsp 和 目标jsp 分别解析为两个servlet,这两个servlet生成的动态内容会合并为一个响应返回给浏览器。因为是不同的页面,因此不能用page作用域传值。它能够包含虚拟路径如一个servlet。
2. 静态include
<%@ include file="目标jsp" %>
它的本质是将源jsp和目标jsp的源码合并在一起,由jsp引擎解析为一个servlet,将其生成的动态内容作为响应返回给浏览器。因为是同一个servlet,可以利用page作用域传值。它不能包含虚拟路径地址如servlet。