zoukankan      html  css  js  c++  java
  • JSP中的静态包含和动态包含的区别

    <%-- 静态包含 --%>
    <%@ include file="..." %>
    <%-- 动态包含 --%>
    <jsp:include page="...">
    <jsp:param name="..." value="..." />
    </jsp:include>

    区别:

      1.最终编译成的java文件的数量不同

        静态包含转换成java文件时,将包含文件的内容“复制”到主题文件中,然后作为一个整体编译,最终编译为一个class文件,而动态包含是各个jsp文件分别转换,分别编译,最终编译成多个class文件

      2.执行时间不同

        静态包含是编译时包含 -JSP---->java文件阶段。如果包含的页面不存在则会产生编译错误,而且两个页面的"contentType"属性应保持一致,不能有相同的变量名

          因为两个页面会合二为一,只产生一个class文件,因此被包含页面发生的变化再包含它的页面更新前不会得到更新,需要重新编译更新。

        而动态包含是运行时包含 -执行class文件阶段,可以向被包含的页面传递参数,包含页面和被包含页面是独立的,会编译出多个class文件,

          如果被包含的页面不存在,不会产生编译错误,也不影响页面其他部分的执行

      3.无论是动态包含还是静态包含,其request对象都是相同的。

        静态包含最终编译成一个java文件,有一个request对象。 而动态包含最终编译成多个java文件,其实这些jsp组合的过程,是一个请求转发的过程,自然也使用同一个request对象了

        

  • 相关阅读:
    Leetcode: 1425
    Leetcode: 1508 Range Sum of Sorted Subarray Sums
    Leetcode: 1353. Maximum Number of Events That Can Be Attended
    Leetcode: 1424. Diagonal Traverse II
    Leetcode: 825. Friends Of Appropriate Ages
    非递归实现二叉树的前序,中序,后序遍历
    TCP协议详解
    Linux常见命令
    C++基础笔记
    指针和引用的区别
  • 原文地址:https://www.cnblogs.com/xp0813/p/11029680.html
Copyright © 2011-2022 走看看