1. include 编译指令【静态指令】<%@include file="xxx"%>
2. include 动作指令【动态指令】<jsp:include page="xxx"/>
include.jsp 主页面
采用了include动作指令载入了【otherlet.jsp】
采用了include编译之类载入了【scriptlet.jsp】
下面是include的servlet改动
白线部分 明显看出<jsp:include>方式采用了动态的加载 apache中的一个JspRuntimeLibrary加载【后台加载】
【比如某些网站的置顶新闻 因为新闻每天都再变 这些可能是用该方法实现】
红框部分 可以看出是<%include file%>方式采用了静态的加载 这里直接是把加载的otherlet.jsp中的内容 【合并到了这个页面中】
【比如 常见的"三排布局" 页眉 页脚 导航栏 之类的 很可能由这个实现】
如果在【otherlet.jsp】中加入 <%@page contentType="text/html;charset=gb2312%>
报错原因 <@include file>会把所有编译指令一起包含进去 因此早晨了contentType 值的冲突
而<jsp:include>则不会