`
desert3
  • 浏览: 2156042 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

@include指令和jsp:include动作的区别 以及 Web容器处理JSP文件请求的执行过程

    博客分类:
  • Java
 
阅读更多
Think of the include directive as a header file of languages like C/C++. When using the include directive, the combined contents of the original JSP page and all its included resources are translated into the same implementation servlet i.e. the contents of the included resource is copy pasted before translation to a servlet. The important thing here is that all this happens during translation time and only static content is supported.

The include action <jsp:include> is almost similar to the include directive except for a few subtle differences. The include action is executed at request time as opposed to translation time. Thus instead of the content of the include file being included in the calling JSP, the output of the JSP is included or passed to the JSPWriter of the calling page. This allows us to include both static and dynamic content into the JSP page. Using the jsp action also allows you to explicitly pass parameters to the included page.

    <jsp:include page="/index.jsp">
    <jsp:param name="name" value="sos" />
    </jsp:include>


区别:
一:执行时间上:
<%@ include file=”relativeURI”%> 是在翻译阶段执行
<jsp:include page=”relativeURI” flush=”true” /> 在请求处理阶段执行.

二:引入内容的不同:
<%@ include file=”relativeURI”%>
只能引入静态内容(html,jsp)
在翻译阶段,所有通过include指令导入的内容会百合成,并翻译成一个统一的Servlet
<jsp:include page=”relativeURI” flush=”true” />
能同时引入静态内容和动态内容
在请求处理,引入执行页面或servlet所生成的应答文本到目标页面的JSPWriter中



Web容器处理JSP文件请求的执行过程主要包括以下4个部分:
1.客户端发出Request请求
2.JSP Container 将JSP转译成Servlet的源代码
3.将产生的Servlet源代码经过编译后,并加载到内存执行
4.把结果Response(响应)至客户端

在执行JSP网页时,通常可以分为两个时期:翻译时期(Translation Time)和请求时期(Request Time)。

◆翻译时期:JSP网页转移成Servlet类。
◆请求时期:Servlet类执行后,响应结果至客户端。

翻译期间做了两件事情:
◆翻译时期:将JSP网页转移为Servlet源代码 .java.
◆编译时期:将Servlet 源代码 .java编译成 Servlet类 .class.

当JSP网页在执行时,JSP Container会做检查工作,如果发现JSP网页有更新修改时,JSP Container才会再次编译JSP成Servlet; 如果JSP没有更新时,就直接执行前面所产生的Servlet。
分享到:
评论

相关推荐

    JSP:include和include指令区别

    在JavaServer Pages (JSP) 技术中,`&lt;jsp:include&gt;` 和 `&lt;%@ include %&gt;` 是两个用于页面组合的指令,它们虽然都用于将一个或多个文件的内容插入到主页面中,但它们的工作机制和使用场景有所不同。理解这两者的区别...

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

    在JavaServer Pages (JSP) 技术中,存在两种包含关系:`&lt;jsp:include&gt;` 动作和 `jsp:include` 指令。它们都是用来将一个页面的内容插入到另一个页面中的,但它们的工作方式和适用场景有所不同。 **1. `&lt;jsp:include...

    jsp:include与include实探

    在Java Web开发中,`jsp:include`和`&lt;jsp:include&gt;`标签是两种常见的页面包含机制,它们用于将一个或多个动态或者静态资源合并到一个JSP页面中。这两种方式虽然看似相似,但有着本质的区别,理解它们的用法和区别...

    Java Web 实验四 掌握<jsp:include>动作的使用

    在Java Web开发中,`&lt;jsp:include&gt;`动作是一个非常重要的元素,用于动态地将一个页面包含到另一个页面中。这个动作使得开发者可以实现页面的重用和模块化设计,提高代码的可维护性。本实验的目标是让学生掌握`&lt;jsp:...

    JSP指令和动作熟悉

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

    jsp简单语法,servlet,JSP概述,JSP页面构成,注释,指令,脚本元素,动作元素,错误处理

    - **指令**:用于配置页面或者影响JSP编译过程,如`&lt;%@ page %&gt;`, `&lt;%@ include %&gt;`, `&lt;%@ taglib %&gt;`等。 - **动作元素**:用于调用JSP组件,如`&lt;jsp:include&gt;`, `&lt;jsp:forward&gt;`, `&lt;jsp:param&gt;`等。 **3. 注释** ...

    jsp的include的两种用法

    相比之下,`&lt;jsp:include page=” ” flush=”true”/&gt;` 是 JSP 的动作元素,它可以在运行时将指定的 JSP 文件包含到当前 JSP 文件中。这个过程发生在执行阶段,而不是翻译阶段。这意味着 `&lt;jsp:include page=” ” ...

    Java Web应用开发 14 课堂案例-使用include动作.docx

    在Java Web应用开发中,`jsp:include`动作是一个重要的元素,它允许开发者在JSP页面中动态地插入其他文件内容。...同时,通过对比`jsp:include`动作和`include`指令,能够更全面地掌握JSP中包含其他文件的两种方式。

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

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

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

    JSP 中 Include 指令静态导入和动态导入的区别详解 JSP 中的 Include 指令可以实现静态导入和动态导入两种方式。静态导入和动态导入是 JSP 中 Include 指令的两种不同的实现方式,它们之间有着明显的区别。 静态...

    JSP基本语法指令和动作元素_couldzfw_JSP基本语法、指令和动作元素_

    **JSP(Java Server Pages)** 是...通过学习和实践这些基本语法、指令和动作元素,开发者能够创建功能丰富的JSP页面,实现服务器端的数据处理和动态内容生成。对于Web开发初学者来说,熟练掌握这些概念是至关重要的。

    实验2_Jsp语法 -页面基本结构、指令标记和动作标记

    本次实验主要聚焦于JSP(JavaServer Pages)的基本语法学习,涵盖了页面的基本结构、指令标记以及动作标记的运用。实验旨在使参与者能够熟练掌握如何在JSP页面中嵌入成员变量、Java程序片段及表达式,同时深入了解`...

    JSP基础语法-include指令

    通过理解JSP中的`include`指令,尤其是静态包含和动态包含的区别,开发者可以更灵活地管理项目中的代码结构,提高代码的模块化程度,从而提升项目的整体性能和开发效率。在后续的学习中,可以进一步探索JSP的其他...

    Java Web程序设计任务驱动教程课后习题参考答案 - 蓝敏、周伟敏、杨茜

    * include 指令和&lt;jsp:include&gt;动作的区别:执行时间、引入内容等 * JSP 程序里有三种注释:HTML 注释、Java 注释、JSP 隐藏注释 服务器交互 * 使用 response 对象进行重定向的方法:sendRedirect * session 对象...

    JSP基础语法

    include 指令有两种形式:@include 指令和 &lt;jsp:include&gt; 指令。 3.4.1 @include 指令 @example: Includedemo01.jsp 3.4.2 &lt;jsp:include&gt; 指令 @example: Includedemo02.jsp、includedemo03.jsp 3.4.3 两种包含...

    Java Web初级编程:JSP 页面元素.pptx

    Java Web 初级编程 JSP 页面元素 JAVA Web 编程是当前 Web 开发中非常重要的一...Page 指令和 Include 指令是 JSP 页面元素中非常重要的两种指令,它们用于在 JSP 页面中指定不同的指令,以便控制 JSP 页面的行为。

    JSP指令web开发基础篇

    ### JSP指令与Web开发基础知识点详解 #### JSP(JavaServer Pages)简介 JSP是一种基于Java技术的服务器端脚本技术,用于创建动态网页。它允许开发者将Java代码嵌入到HTML文档中,从而使得静态网页能够展示动态内容...

    2007年图书:JSP_JSF_Tomcat Web编程从入门到精通

    《2007年图书:JSP_JSF_Tomcat Web编程从入门到精通》这本书主要涵盖了Java服务器页面(JSP)、JavaServer Faces(JSF)以及Tomcat应用服务器在Web开发中的应用,旨在帮助初学者及有一定基础的开发者深入理解和掌握...

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

    `&lt;jsp:include&gt;`标签会每次请求时都检查被包含文件的变化,确保内容是最新的,即使内容是动态生成的。这使得`jsp:include`更适合用于包含那些需要实时更新的内容,例如新闻动态、用户反馈或者由数据库驱动的数据。 ...

Global site tag (gtag.js) - Google Analytics