• jsp静态包含和动态包含


    JSP中有两种包含:

    静态包含:<%@ include file="被包含页面"%>

    动态包含:<jsp:include page="被包含页面" flush="true">

    它们有什么区别,都知道,JSP在WEB服务器中都要转换成一个java文件,java文件再编译成一个class文件。当请求JSP页面的时候,实际上运行的是这个class文件。

    从这个方面来说:

    静态包含发生在:JSP---->java文件阶段。动态包含发生在:执行class文件阶段。动态加入。

    静态包含:只生成一个java文件,动态包含:生成多个class文件。

    值得庆幸的是无论是动态包含还是静态包含,其request对象都是相同的。也就是同一个request对象。

    什么都没例子来的实在:

    index.jsp页面:静态和动态包含其他页面。

    主要代码:

    静态包含页面:
    <%@include file="static.jsp" %><br>
    动态包含页面
    <jsp:include page="dynamic.jsp" flush="true"/>


    static.jsp被静态包含的页面。

    dynamic被动态包含的页面。

    经过编译以后生成的效果:

    打开index_jsp.java

    可以看到被静态包含的页面中的内容全部包含在了里面。而被动态包含的页面使用了:

    org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "dynamic.jsp", out, true);

    而被动态包含的页面,生成了一个新的java文件。


    再看代码:为什么说动态包含和静态包含的request是相同的,静态被包含页面和包含它的页面共享request是毋庸置疑的,而动态包含通过上面一行代码也就一目了然了。其实这些jsp组合的过程是一个请求转发的过程,自然也使用同一个request对象了。


    ---------------------

  • 相关阅读:
    盒模型--边界
    盒模型--填充
    盒模型--宽度和高度
    盒模型--边框(二)
    盒模型--边框(一)
    元素分类--内联块状元素(特点:同行, 可设置宽高和边距)
    元素分类--内联元素(特点:同行, 宽高边距不可改)
    元素分类--块级元素(特点:独占一行, 宽高边距可改)
    Java并发注解Annotation
    游戏服务器端开发的基本大纲
  • 原文地址:https://www.cnblogs.com/weiikun/p/10993255.html
Copyright © 2020-2023  润新知