重新认识 《jsp中include指令静态导入和动态导入的区别》

    xiaoxiao2025-02-03  18

      JSP中动态INCLUDE与静态INCLUDE的区别

    1.动态include用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它 总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数;

    2.include指令

    语法: <%@ include file="url"%>,称为静态导入(静态包含)

    作用: 在一个页面中导入另一个页面的内容(这些内容一般不会有变化,如公司的标题和版权等信息)。特点: 在jsp翻译成servlet后就将被导入的页面内容嵌入到servlet中。导入时间发生在翻译阶段。被导入的资源:html、xml、jsp等优点: 执行效率高(只翻译一次)

    缺点: 当被导入页面的内容发生变化,那么jsp必须要重新被翻译。如果导入的多个页面,其中的一个页面的内容发生变化,就需要将所有的页面都翻译一次。

    3.

    动作元素(jsp自带的标准标签)

    语法: <jsp:tagName/>

    动态导入(动态包含)

    语法:

    <jsp:include page="url" flush="true|false"/> 或者 <jsp:include page="url" flush="true|false"> {<jsp:param …/>}* </jsp:include>

    特点: 动态导入发生在执行阶段,也就是在运行serlvet的时候才动态生成被导入页面的内容,然后嵌入到调用页面,最后将两个页面的内容一起,返回给客户端。

    注意: 在翻译阶段并没有生成被导入页面的内容。没有跳转,请求还是同一个 缺点: 执行效率没有静态导入高

    优点: 如果被导入页面的内容发生变化,调用页面不必重新翻译。

    _jspService(){ org.apache.jasper.runtime.JspRuntimeLibrary .include(request, response, "dynamic.jsp", out, false); }

    参考:http://www.jianshu.com/p/5cf10517e3ff
    转载请注明原文地址: https://ju.6miu.com/read-1296059.html
    最新回复(0)