`
javaeye_hua
  • 浏览: 82291 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

<jsp:include page=""> 与<%@ include file=""%>理解

阅读更多

1. 首先先介绍下,jsp机制:

 servlet容器,先将jsp转化成servlet,然后编译成.class文件,放置容器缓冲区【tomcat的work目录下】。

每次调用jsp时,服务器会读取编译好的servler.class,处理jsp的请求。

2. <%@ include file="page.jsp"%>

   在servlet容器转化jsp为servlet时,将引入的jsp源码全部添加到当前jsp,一并转化成一个servlet,然后编译。

【可以理解为整合一个servlet,一起编译,一次执行】

3.<jsp:include page="page.jsp"/>

   发送请求给当前jsp,servlet调用当前jsp servlet编译后文件,到引用位置,调用编译后的page.jsp的servlet。class文件。【可以理解为,各自单独编译,互相调用编译的文件】

 

总结:

以下是对include 两种用法的区别,主要有两个方面的不同:

执行时间上:

<%@ include file=”relativeURI”%> 是在翻译阶段执行

<jsp:include page=”relativeURI” flush=”true” /> 在请求处理阶段执行.

引入内容的不同:

<%@ include file=”relativeURI”%>引入静态文本(html,jsp),在JSP页面被转化成servlet之前和它融和到一起.

<jsp:include page=”relativeURI” flush=”true” />引入执行页面或servlet所生成的应答文本.

另外在两种用法中file和page属性都被解释为一个相对的URI.如果它以斜杠开头,那么它就是一个环境相关的路径.将根据赋给应用程序的URI的前缀进行解释,如果它不是以斜杠开头,那么就是页面相关的路径,就根据引入这个文件的页面所在的路径进行解释。

编译class格式类似java内部类:如附件图示。

 

  • 大小: 2.1 KB
1
0
分享到:
评论

相关推荐

    JSP:include和include指令区别

    1. 动态与静态:`&lt;jsp:include&gt;` 动态包含,`&lt;%@ include %&gt;` 静态包含。 2. 执行时机:`&lt;jsp:include&gt;` 在请求时,`&lt;%@ include %&gt;` 在编译时。 3. 内容变化:`&lt;jsp:include&gt;` 适合动态内容,`&lt;%@ include %&gt;` 适合...

    include 两种用法的区别

    &lt;%-- 或者使用静态包含:&lt;%@ include file="date.jsp" %&gt; --%&gt; &lt;/head&gt; &lt;body&gt; &lt;p&gt;今天的日期是:&lt;/p&gt; &lt;/body&gt; &lt;/html&gt; ``` 如果使用`&lt;jsp:include page="date.jsp" flush="true"/&gt;`,那么每当访问`test.jsp...

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

    nt test&lt;/title&gt;&lt;/head&gt;&lt;body&gt;This content is statically in the main JSP file.&lt;br/&gt;&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 文件,但是它们之间存在着一些关键的区别。 首先,让我们...

    jsp页面错误信息

    &lt;%@ page language="java" contentType="text/html; charset=gb2312"%&gt; &lt;html&gt; ... &lt;tr &gt;&lt;td colspan="2"&gt;&lt;%@ include file="view/AdminEnd.jsp" %&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;/center&gt; &lt;/body&gt; &lt;/html&gt;

    JSP指令和动作熟悉

    本篇将详细介绍JSP中的`page`指令,以及`include`指令与相关动作`&lt;jsp:include&gt;`, `&lt;jsp:forward&gt;`, `&lt;jsp:fallback&gt;`, `&lt;jsp:plugin&gt;`。 首先,`page`指令是JSP中最高级别的指令,它用于定义整个JSP页面的属性。`...

    jsp基本语法(指令,包括各种动作,表达式,内置对象等)

    jsp:include 动作与`&lt;%@ include %&gt;`类似,但可以动态地包含页面。 **JSP语法**: ```jsp &lt;jsp:include page="page.jsp" flush="true"/&gt; ``` **示例**: ```jsp &lt;jsp:include page="header.jsp" flush="true"/&gt; ``` ...

    JSP图书管理系统

    &lt;td height="277" align="center" valign="top"&gt;&lt;%@include file="changxiao.jsp"%&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;br&gt; &lt;table width="208" height="356" border="0" cellpadding="0" cellspacing="0" background=...

    第六章 JSP技术.docx

    - `&lt;jsp:include page="header.jsp" /&gt;` 和 `&lt;jsp:include page="footer.jsp" /&gt;` 会在运行时动态加载`header.jsp`和`footer.jsp`的内容。 - 这种方式称为动态包含,因为包含的动作是在运行时发生的,而不是在编译时...

    ssh2demolala

    &lt;%@include file="header.jsp"%&gt; &lt;table width="759" border="0" cellspacing="0" cellpadding="0"&gt; &lt;tr&gt; &lt;td align="center"&gt; &lt;s:form action="Useradd"&gt; &lt;table width="400" border="0" cellspacing="0" ...

    JSP指令web开发基础篇

    - **用途**:通常与 `&lt;jsp:include&gt;`、`&lt;jsp:forward&gt;` 和 `&lt;jsp:plugin&gt;` 等动作元素配合使用,用于传递参数。 #### &lt;jsp:forward&gt; 动作元素详解 - **语法**: ```jsp &lt;jsp:forward page="页面地址"/&gt; ``` - **...

    jsp学习大全精华.doc

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

    12-File-Inclusion-Chinese.pdf

    根据提供的文件信息,本篇文章将围绕“在JSP页面中包含文件”的主题展开,深入探讨JSP中的两种主要包含机制:`jsp:include`动作标签与`&lt;%@ include %&gt;`指令,以及它们在实际开发中的应用场景。 ### JSP页面中的文件...

    Jsp7打动作的资料

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

    3JSP语法课件

    &lt;%@ include file="header.jsp" %&gt; ``` **2.2 动作元素** 动作元素允许开发者在运行时动态地插入文件、重定向请求、收集用户输入等,主要的动作元素包括: - **jsp:include**:动态地包含另一个文件。 - **jsp:...

    JSP教案大纲.

    - **Include指令**:`&lt;%@ include file="filename" %&gt;` 用于静态包含其他文件,使JSP页面实现模块化。被包含的文件会先被解析,然后再合并到主页面中。 - **Taglib指令**:Taglib指令允许定义自定义标签库及其...

    include 详析

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

    关于JSP的PPT教程.ppt

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

    JSP试题及答案

    &lt;%@ include file="header.jsp" %&gt; &lt;jsp:include page="footer.jsp" flush="true" /&gt; ``` 上述代码中,`header.jsp`在每个页面顶部被静态包含,而`footer.jsp`则在请求处理完成后动态插入。 **试题三:JSP动作...

Global site tag (gtag.js) - Google Analytics