`

include指令与include动作区别.

阅读更多
<jsp:include page=""/> 
<%@ include file="" %>
这两个的区别已经被人问过很多次..

https://www.ibm.com/developerworks/cn/java/j-jsp04293/
https://www.ibm.com/developerworks/cn/java/j-jsp04153/
引用
flush 属性

您可能已注意到 jsp:include 代码示例中的 flush 属性。顾名思义, flush 指示在读入包含内容之前是否清空任何现有的缓冲区。JSP 1.1 中需要 flush 属性,因此,如果代码中不用它,会得到一个错误。但是,在 JSP 1.2 中, flush 属性缺省为 false。由于清空大多数时候不是一个重要的问题,因此,我的建议是:对于 JSP 1.1,将 flush 设置为 true;而对于 JSP 1.2 及更高版本,将其设置为关闭。


引用
jsp:include 是如何工作的

如果您有点爱刨根问底,那么可能十分想知道 jsp:include 标记的行为为什么与 include 伪指令不同。道理其实十分简单: jsp:include 包含的是所包含 URI 的 响应,而不是 URI 本身。这意味着:对所指出的 URI 进行 解释,因而包含的是 生成的响应。如果页面是 HTML,那么将得到一点也没有变化的 HTML。但是,如果是 Perl 脚本、Java servlet 或者 CGI 程序,那么得到的将是从该程序解释而得的结果。虽然页面通常就是 HTML,但实际程序恰好是达到目的的手段。而且,由于每次请求页面的时候都会进行解释,因此从来不会象使用 include 伪指令时那样高速缓存结果。虽然这只是很小的变动,但它却导致了您所见到的行为中的全部差异。


----------------------------------------------------------------
理解两者发生的时期,得先理解下JSP的生命周期
JSP生命周期:
转换:JSP文件-->SERVLET文件
编译:SERVLET文件-->CLASS文件
----(这两个也可以合并为翻译阶段)
装载:将类文件装载到内存中
创建:创建一个SERVLET实例对象
初始化:调用jspInit()方法,最终也就是调用servlet中的init方法
服务:调用_jspService()方法,最终调用servlet中的service方法
销毁:调用jspDestroy()方法,最终调用servlet类的destroy()方法

-------------------------------------------------------
included.jsp被包含文件   includepage.jsp使用指令文件   includeaction.jsp使用动作文件
include指令,included文件先被包含到includepage中,再去转换.
被包含页面的内容解析发生在编译时期.
最后只是生成java文件与class文件各一个.includepage_jsp.java和includepage_jsp.class
包含页面一经编译内容就不会再改变,如果要改变,就得重新编译JSP文件


而include动作,被包含文件与包含文件各自独立转换.会生成四个文件.
在包含文件中,使用
 org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "included.jsp", out, true);

在运行时再引用被包含文件的内容.
就是说被包含页面的内容解析发生在运行时期.内容也可以随时改变.

-------------------------------------------------------------
再总结下:
@include 解析工作发生在编译时期.一旦编译内容就不再改变,除非重新编译
:inlcude 发生在运行时期.内容随时可以改变.不需再编译.
1
0
分享到:
评论

相关推荐

    jsp中两种包含关系(include动作和include指令)的区别

    NULL 博文链接:https://lionkingzw-hotmail-com.iteye.com/blog/341279

    JSP中include指令和include行为的区别

     jsp:include page=” ” flush=”true”/&gt; 前者是指令元素、后者是行为元素。具体它们将在何处用?如何用及它们有什么区别?这应该是很多人看到它都会想到的问题。下面一起来看看吧。 通常当应用程序中所有的...

    JSP指令与动作熟悉

    实验目的:掌握3种脚本、page和include指令、&lt;jsp:include&gt;和动作。 实验内容: 1. 编写一个页面片段top.jspf,作用是显示网站名称和日期(服务器时间)。显示内容如下: 作业3网站 今天是:2014-02-28 2. 编写一个...

    JSP指令和动作熟悉

    page指令,include指令与&lt;jsp:include&gt;、、、动作

    jsp中include指令静态导入和动态导入的区别详解

    主要介绍了jsp中include指令静态导入和动态导入的区别,通过示例和图文讲解可以更好的看出他们的区别,需要的朋友可以参考下

    Java 面试宝典

    14、Integer 与 int 的区别 .............................................................................................. 13 15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? .....................

    jsp最详细教程 最容易入门

    JSP 语法................................................................include 指令标签........................................................54 2.7 JSP 动作标签.....................................59 ...

    韩顺平2013版“细说JSP”视频教程

    开山篇【】第2讲.jsp运行原理分析.page指令详解【】第3讲.include指令.脚本元素.动作元素【】第4讲.jsp九大内置对象.jsp版本计算器①【】第5讲.jsp版本计算器②[ED2000.COM]【】第6讲.jsp版本计算器③【】第7讲....

    JSP中的编译指令和动作指令的两点区别

    您可能感兴趣的文章:JSP常见的三个编译指令page、include、taglibJSP编译指令page、include详解JSP指令元素(page指令/include指令/taglib指令)复习整理JSP语法Page指令JSP页面pageEncoding和contentType属性JSP ...

    JavaWeb实验报告(1).pdf

    实验题目 Java Web 项目开发环境搭建于简单开发 Jsp 指令标记与动作标记 Jsp 内置对象 小组合作 否 姓名 班级 学 号 一、实验目的 1、 熟悉 Java Web 开发环境 JDK1.6+Tomcat6.0+MyEclipse8.5 开发环境的搭建方法。...

    jsp day2 技术课件下载(servlet/jsp)

    3 指令 page taglib include 静态包含 &lt;%@ include file=""%&gt; 4 动作 1 forward 2 include 动态包含 整合 多个jsp[servlet] 输出结果 request.getRequestDispatcher().include(); &lt;jsp:include page...

    JSP课件(JSP 语法基础)PPT

    JSP注释:包括输出注释、隐藏注释; JSP脚本元素 :包括声明、表达式、脚本程序; JSP指令元素 :包括Page指令、Include指令和Taglib...JSP动作元素:包括Include动作、forward动作、param动作、plugin动作、JavaBean

    JSP商务网站复习题

    课程内容 ...CSS、DIV布局 JSP基础语法结构 表单用法 表单子标记用法 4.3节 ...JSP include指令 Jsp: include动作标记 Jsp: param动作标记 Jsp: forword动作标记 Jsp: plugin动作标记 Jsp: useBean动作标记 Jsp内建对象:

    万能makefile写法详解,一步一步写一个实用的makefile

    这里指示了main.o目标依赖于哪几个源文件,我们只要把这一行的内容,通过make的include指令包含到makefile文件里,即可在其任意一个依赖文件被修改后,重新编译目标main.o。 下面详解如何生成这个.d文件。 (二) ...

    JavaWeb重点叙述

    JavaWeb重点叙述里包括 jsp部分 servlet的生命周期 简述forward和redirect的区别 理解jsp的运行原理 jsp include指令和include动作的区别 创建servlet的步骤 了解Tomcat jsp的九个内置对象和四大作用域等

    JSP程序设计与案例实战

    内容摘要:JSP程序设计与案例实战PPT,里面覆盖了网页前端“三剑客”知识点、如何安装配置JSP运行环境、JSP脚本元素(JSP表达式、声明、Script)及其指令(include指令、page指令、taglib指令)、JSP隐式对象(out、...

Global site tag (gtag.js) - Google Analytics