• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    JSP页面的静态包含和动态包含使用方法

    JSP中有两种包含:静态包含:%@include file="被包含页面"%>和动态包含:jsp:include page="被包含页面"flush="true">。下面以一个例子来说明如何使用包含。

    实例:

    项目文件树:

    header.jsp文件中内容:

    html>
     head>
      meta http-equiv="Content-Type" content="text/html; charset=GB18030">
      title>Insert title here/title>
     /head>
     body>
     h1>This is header//h1> 

    content.jsp文件中内容

    table border="1">
     tr>
      td>col1/td>
      td>col2/td>
     /tr>
     tr>
      td>col1/td>
      td>col2/td>
     /tr>
    /table>

    footer.jsp文件中内容:

    hr>
      copyright: 1999-2010
     /body>
    /html>

    静态包含:

    index.jsp文件中内容:

    %@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
    %@ include file="/header.jsp" %>
    %@ include file="/content.jsp" %>
    %@ include file="/footer.jsp" %>

    页面显示结果:

    被编译成的java文件:

    动态包含

    index.jsp文件中内容:

    %@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
    jsp:include page="/header.jsp">/jsp:include>
    jsp:include page="/content.jsp">/jsp:include>
    jsp:include page="/footer.jsp">/jsp:include>

    页面显示结果:

    被编译成的java文件:

    说明

    这个例子,使用静态包含和动态包含最终的执行结果相同,但是实现过程不同,很明显编译成的java文件数目不同。

    静态和动态包含的区别与联系

      注:下文将包含有其它文件的jsp文件称为主体文件,比如上文中的index.jsp文件。将被包含的文件称为包含文件,比如上文中的header.jsp文件。

    %@ include file=” ”%>是指令元素。jsp:include page=” ”/>是行为元素最终编译成java文件的数目不同。(从上面的例子可以看出)

    静态包含在转换成为java文件的时候将包含文件的内容“复制”到主体文件,然后作为一个整体编译。最终编译为一个java文件。

    动态包含是各个jsp文件分别转换,分别编译。最终编程成多个java文件。

    执行时间不同

    静态包含发生在:JSP---->java文件阶段。

    动态包含发生在:执行class文件阶段。动态加入。
    静态包含在两个文件中不能有相同的变量,动态包含允许。
    由于静态包含相当于将包含文件内容直接复制到主体文件中,如果出现相同的变量,就会出现覆盖等问题,导致文件出错。而动态包含相当于调用不同的jsp,变量所在的空间不同,自然不会出现覆盖等现象。
    无论是动态包含还是静态包含,其request对象都是相同的。也就是同一个request对象。
    静态包含最终编译成一个java文件,有一个request对象很好理解。而动态包含最终编译成多个jsp文件,为何会使用一个request对象呢?其实这些jsp组合的过程是一个请求转发的过程,自然也使用同一个request对象了。

    静态包含和动态包含的使用

    简单总结一下,就一句话:被包含的页面是静态页面就用静态包含,是动态页面就用动态包含。(当然,不是很绝对,但是这样用没有错。)

     jsp静态包含和动态包含的区别补充:

    在jsp中有两种包含,静态包含%@include file="xxx.jsp"%>和动态包含jsp:include page="xxx.jsp">,下面说一下它们之间的区别

    1、%@include file="xxx.jsp"%>为jsp中的编译指令,其文件的包含是发生在jsp向servlet转换的时期,而jsp:include page="xxx.jsp">是jsp中的动作指令,其文件的包含是发生在编译时期,也就是将java文件编译为class文件的时期

    2、使用静态包含只会产生一个class文件,而使用动态包含会产生多个class文件

    3、使用静态包含,包含页面和被包含页面的request对象为同一对象,因为静态包含只是将被包含的页面的内容复制到包含的页面中去;而动态包含包含页面和被包含页面不是同一个页面,被包含的页面的request对象可以取到的参数范围要相对大些,不仅可以取到传递到包含页面的参数,同样也能取得在包含页面向下传递的参数

    您可能感兴趣的文章:
    • JSP中param动作的实例详解
    • JSP中的编译指令和动作指令的两点区别
    • jsp的常用指令有哪些(编译指令/动作指令整理)
    • 十三、JSP动作
    • 在JSP页面中动态生成图片验证码的方法实例
    • SpringBoot+jsp项目启动出现404的解决方法
    • spring boot整合jsp及设置启动页面的方法
    • jsp-解决文件上传后重启Tomcat时文件自动删除问题
    • JSP常用七大动作指令实例解析
    上一篇:jsp实现textarea中的文字保存换行空格存到数据库的方法
    下一篇:JavaServlet的文件上传和下载实现方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    JSP页面的静态包含和动态包含使用方法 JSP,页,面的,静态,包含,和,