`
welody
  • 浏览: 21218 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

jsp:include vs include file

    博客分类:
  • JSP
阅读更多
参考:http://developer.51cto.com/art/200902/111134.htm

简单总结一下:

准备知识:
1.翻译阶段
jsp容器负责将jsp页面转化成servlet(*.jsp-->*_jsp.java.称为jsp页面实现类:JSP Page implementation class),并编译这个servlet(*_jsp.java-->*_jsp.class)
2.请求处理阶段
调用jsp页面实现类以处理每个请求并产生应答

<%@ include file="*.jsp" %>
引入的jsp在宿主jsp的翻译阶段,与宿主jsp合成了一个*_jsp.java文件;
此时宿主jsp还未编译。


<jsp:include page="" flush="true"/>
引入的jsp与宿主jsp分开翻译,转化成两个不同的*_jsp.java文件;
直到宿主jsp编译后运行时,才会引入。


文章中有些语焉不详之处,经过测试,注意以下几点:
1.include file 引入的页面,其代码原封不动的插在引入的位置,所以jsp中定义的path,basepath只能保留一组,否则会提示重复定义;
jsp:include 引入页面,是在运行时把编译后的结果插入进来,不会出现上述问题。

2.形象一点,include file 好像是把两个页面合并在一起然后同一编译,所以在引入页面有效的request对象,引入之后,仍然能够被宿主jsp访问;
jsp:include则是分开编译,所以request对象无法共享。

3.include file 是静态插入,只在第一次引入时编译一次,如果后来发生了变化,在页面上无法及时的显示出来;
jsp:include是动态引入,jsp容易会监视引入页面的变化,及时将改变反映到页面上来。

可见二者各有所长啊。
分享到:
评论

相关推荐

    JSP:include和include指令区别

    &lt;%@ include file="menu.jsp" %&gt; ``` 这种方式提高了效率,因为不需要每次都重新计算包含的文件,但它缺乏动态性。 在性能方面,由于`&lt;jsp:include&gt;` 在运行时处理,如果包含的页面执行了复杂的逻辑,那么这可能...

    用jsp:include控制动态内容的方法.docx

    nt test&lt;/title&gt;&lt;/head&gt;&lt;body&gt;This content is statically in the main JSP file. &lt;jsp:include page="included.html"/&gt;&lt;/body&gt;&lt;/html&gt;]]&gt;)正如你所见,清单2使用了传统的`&lt;%@include file="..."%&gt;`伪指令来包含...

    jsp的include的两种用法

    JSP 中的 Include 有两种用法,分别是 `&lt;%@ include file=” ”%&gt;` 和 `&lt;jsp:include page=” ” flush=”true”/&gt;`。这两种用法都可以用于引入其他 JSP 文件,但是它们之间存在着一些关键的区别。 首先,让我们...

    springMVC使用jsp:include嵌入页面的两种方法(推荐)

    &lt;%@ include file="header.jsp" %&gt; ``` 在这个例子中,`header.jsp`的内容会被直接插入到当前页面的这个位置,形成一个完整的静态页面。 2. 动态嵌入子页面 动态嵌入则是通过`&lt;jsp:include&gt;`标签实现的,这允许在...

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

    `&lt;%@ include file="..."%&gt;` 是一个JSP指令,它在编译时(页面转换为Servlet时)静态地将一个文件的内容插入到JSP页面中。这意味着被包含的页面只会被包含一次,除非JSP文件重新编译。例如: ```jsp &lt;%@ include ...

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

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

    include 两种用法的区别

    在JSP中有两种不同的`include`用法:`&lt;%@ include file="..." %&gt;` 和 `&lt;jsp:include page="..." flush="true"/&gt;`。这两种方式虽然都可以达到将一个页面包含进另一个页面的效果,但它们在执行时间和引入内容方面存在...

    jsp学习大全精华.doc

    &lt;jsp:include page="file-url|&lt;%=expression%&gt;" flush="true" /&gt; ``` `flush`属性默认为`false`,当设置为`true`时,表示在包含之前清空缓冲区。同样,`jsp:param`可用于传递参数: ```html &lt;jsp:include ...

    JSP下动态INCLUDE与静态INCLUDE的区别分析

     用jsp:include动作实现 &lt;jsp include page=”included.jsp” flush&gt;它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE   用include伪码实现,定不会检查所含文件的变化,...

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

    静态导入使用的语法是:`%@include file="relativeURLSpec"%`。在静态导入中,被包含的页面的编译指令也会被包含进来。例如,在 include1.jsp 中,我们使用静态导入将 error.jsp 文件包含进来。 在 Tomcat 下运行该...

    JSP指令和动作熟悉

    &lt;%@ include file="filename.jsp" %&gt; ``` 这里,"filename.jsp"是被包含的文件名。这种方式的包含是在JSP转换为Servlet时进行的,因此被包含的文件在编译时就已确定。 然后是动态包含,通过`&lt;jsp:include&gt;`动作实现...

    12-File-Inclusion-Chinese.pdf

    &lt;%@ include file="/WEB-INF/header.jsp" %&gt; &lt;!-- 主体内容 --&gt; ... &lt;%@ include file="/WEB-INF/footer.jsp" %&gt; ``` #### 三、`jsp:include`与`&lt;%@ include %&gt;`的比较 通常情况下,`jsp:include`比`&lt;%@ include...

    include 详析

    1. **编译与运行时的区别**:`&lt;%@ include file="% %&gt;`在编译时执行,而`&lt;jsp:include&gt;`在运行时执行,这决定了它们在性能和灵活性上的不同表现。 2. **数据流管理**:使用`&lt;jsp:include&gt;`时,需要注意被包含页面...

    jsp页面错误信息

    ; charset=gb2312"%&gt; &lt;head&gt;&lt;title&gt;聆音博客-失败提示&lt;/title&gt;&lt;/head&gt; &lt;tr&gt;&lt;td colspan="2"&gt;&lt;jsp:include page="view... &lt;tr &gt;&lt;td colspan="2"&gt;&lt;%@ include file="view/AdminEnd.jsp" %&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/html&gt;

    JSP基础语法-include指令

    静态包含使用`&lt;%@ include file="要包含的文件" %&gt;`语法进行定义。在JSP页面被编译成Servlet之前,服务器会将被包含的文件内容插入到包含页面中相应的位置,形成一个新的整体页面。这意味着在编译阶段,被包含的文件...

    WEB开发 之 Actions的使用.docx

    这与JSP指令`&lt;%@ include file="..." %&gt;`不同,后者在JSP转换为Servlet时静态地包含文件。`jsp:include`允许一定的灵活性,但不支持包含包含一般JSP代码的文件。例如,以下代码展示了如何在网页中插入多个新闻条目:...

    JSP一个实例

    第二种方法是使用`&lt;%@ include file="..." %&gt;`指令,这在编译时就将被包含的页面内容合并到当前页面中,效率相对较高。 2. **jsp:forward 指令** `jspSyntax_forward.jsp`则演示了`jsp:forward`动作的使用。`&lt;jsp:...

    JSP指令web开发基础篇

    - `&lt;%@ include file="页面地址" %&gt;` 是先将被包含的页面的源代码插入到包含它的页面中,然后再一起编译执行。 #### &lt;jsp:param&gt; 动作元素详解 - **语法**: ```jsp &lt;jsp:param name="name" value="value"/&gt; ``...

    Jsp7打动作的资料

    包含分为指令`&lt;%@ include file=""&gt;`和动作`&lt;jsp:include page=""&gt;`。 - **包含指令**: 在JSP转换为Servlet源码之前执行,将JSP代码直接插入到主页面中。这意味着被包含的页面可以影响主页面的整体结构,如...

    关于JSP的PPT教程.ppt

    &lt;%@ include file="header.jsp"%&gt; ``` - **taglib指令**:引入自定义标签库,定义标签前缀和URI。这使得可以使用自定义标签来扩展JSP功能。例如: ```jsp &lt;%@ taglib uri="http://java.sun....

Global site tag (gtag.js) - Google Analytics