jsp中静态include和动态include的区别

时间:2022-01-30 09:28:38

jsp中静态include和动态include的区别

  动态 INCLUDE 用 jsp:include 动作实现 <jsp:include page="included.jsp" flush="true" /> 它总是会检查所含文件中的变化 , 适合用于包含动态页面 , 并且可以带参数。各个文件分别先编译,然后组合成一个文件。

  静态 INCLUDE 用 include 伪码实现 , 定不会检查所含文件的变化 , 适用于包含静态页面 <%@ include file="included.htm" %> 。先将文件的代码被原封不动地加入到了主页面从而合成一个文件,然后再进行翻译,此时不允许有相同的变量。

以下是对 include 两种用法的区别

 一:执行时间上 : 

<%@ include file="relativeURI"%> 是在翻译阶段执行

<jsp:include page="relativeURI" flush="true" /> 在请求处理阶段执行 .

 二: 引入内容的不同 : 

<%@ include file="relativeURI"%>

引入静态文本 (html,jsp), 在 JSP 页面被转化成 servlet 之前和它融和到一起 .

<jsp:include page="relativeURI" flush="true" /> 引入执行页面或 servlet 所生成的应答文本 .

三:优缺点:

<%@ include file="relativeURI"%>

   优点:执行速度快

      缺点:被包含的文件在逻辑和语法上不独立于当前的jsp页面

<jsp:include page="relativeURI" flush="true" /> 在请求处理阶段执行 .

  优点:被包含的文件在逻辑和语法上独立于当前的jsp页面,可以使用param子元素更加灵活的处理所需要的文件

  缺点:执行速度慢一些。

参考:https://blog.csdn.net/a214704/article/details/81293879