zoukankan      html  css  js  c++  java
  • 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对象了。


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

  • 相关阅读:
    PHP数组、函数
    PHP 基本内容
    Swift基础--tableview练习
    iOS 协议delegate分六步
    UI09_UITableView 使用 单例
    css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?一起来$('.float')
    CSS 如何使DIV层水平居中
    HTML转义字符大全
    jQuery选择器总结
    jQuery 学习笔记_01
  • 原文地址:https://www.cnblogs.com/weiikun/p/10993255.html
Copyright © 2011-2022 走看看