`

JSP中include指令和include行为

    博客分类:
  • jsp
阅读更多

include指令<%include file=""%>,这种方式的引入属于静态导入,include行为<jsp:include>,这种方式的导入属于动态的导入,这里涉及到一个jsp的原理上的问题。现在就先回顾一下:

        当我在地址栏中输入一个jsp的地址的时候,点击回车,会提交一个请求给我的web容器(如:tomcat,resin)等,这个容器会把这个以jsp结尾的请求对应到一个jsp引擎(其实也是一个servlet)来处理,这个servlet一定会去先把要回应请求的jsp转义成为servlet(此时 include指令被解释执行),然后,把这个servlet编译为class文件,由虚拟机解释执行,处理用户的请求(此时include行为执行),然后再生成响应。

        所以说,静态导入是在转译时发生的,是代码级的导入,这个指令的作用就是让jsp引擎去按照这个指令去做一些事情。而include动作是在请求处理阶段发生的,也就是说,include动作会产生两个servlet,两者之间可以传参数,引入的是处理后的结果。

        现在知道了原理,那么在编程的时候到底会产生什么样的效果呢?

        举个例子就知道了:

        比如说我有一个根据股票的行情随时改变的一个servlet(这个servlet会去从某个数据源取得变化的数据),这个servlet需要显示到我的主页的一个角上,每10秒钟更新一次信息,这是很正常的需求。大家都知道静态导入的优点是速度相对于动态导入的速度快。如果我用静态导入的方法,导入这个 servlet的话,会生成一个class文件,这个class文件,当我第二次请求的时候,由于是静态导入,jsp引擎不会去检查我的导入文件的最新时间,而是直接用已经生成的class响应请求。而动态导入的时候,每次去请求的时候,都会去比较导入文件的最新更新的时间,如果这个文件修改过,则会重新生成新的class文件,再去响应请求。也就是说,动态导入之所以速度上要慢,是由于要多做一个判断,对比导入文件的最新时间。我一直只这么认为的,结果今天做了个试验,推盘了我的结论,其实无论动态导入还是静态导入都会去检查生的jsp的更新时间与生成的servlet更新时间的早晚,根据比较结果来决定是否重新生成。而动态导入和静态导入的本质区别就在于,动态导入之所以叫做动态是由于它的参数是动态传递的,这样就可以使程序更加的灵活,而且它的参数本身还可以是动态的也就是说参数可以是脚本。而静态的则没有这项特权。而且,动态导入可以是一个.do的请求,而静态导入不能够。

        因此,得出结论,静态导入适合导入不会变化的资源,例如一个html文件,而动态导入适合导入一个时常变化的资源,如servelt和jsp。

分享到:
评论

相关推荐

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

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

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

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

    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...

    2.4 include指令 JSP+AJAX

    2.4 include指令 JSP+AJAX2.4 include指令 JSP+AJAX2.4 include指令 JSP+AJAX2.4 include指令 JSP+AJAX

    JSP基础语法-include指令

    ### JSP基础语法-include指令详解 在Java Server Pages(JSP)技术中,`include`指令是一项重要的功能,它允许开发者将一个JSP页面的内容嵌入到另一个JSP页面中,从而实现代码的重用和模块化。通过`include`指令,...

    JSP中include指令静态导入和动态导入的区别.pdf

    在JSP中,`include`指令用于将一个或多个页面的内容合并到主页面中,以实现页面的模块化。这有助于提高代码复用性并简化维护。`include`指令有两种形式:静态导入和动态导入,它们在处理和执行时有所不同。 1. **...

    JSP的include指令的使用方法

    使用include指令可以将常用的代码段或组件包含到多个JSP页面中,从而实现代码的重用,提高开发效率和维护性。 include指令的基本语法为: ```jsp &lt;%@ include file="URL" %&gt; ``` 在这里,`file`属性指定了要被...

    jsp:include与include实探

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

    jsp的include的两种用法

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

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

    JSP中的include指令有两种方式:静态导入和动态导入。了解它们之间的区别,对于开发高效且易于维护的Web应用至关重要。 首先,我们要了解什么是静态导入。在JSP中,静态导入是通过指令%@include file=...

    JSP指令和动作熟悉

    在JavaServer Pages (JSP) 技术中,指令(Directives)和动作(Actions)是两种关键元素,用于扩展和控制页面的行为。本篇将详细介绍JSP中的`page`指令,以及`include`指令与相关动作`&lt;jsp:include&gt;`, `&lt;jsp:forward...

    jsp include 乱码问题的解决

    在JSP中,`&lt;jsp:include&gt;`标签是用于在页面间进行内容包含的,但有时可能会遇到“乱码”问题,这通常涉及到字符编码的处理。本文将详细解析JSP `include` 乱码问题的成因以及解决方法。 首先,我们要理解乱码产生的...

    Java Web应用开发 13 课堂案例-使用page指令和include指令.docx

    在Java Web应用开发中,Page指令和Include指令是两个重要的JSP元素,它们在构建动态网页时发挥着关键作用。本案例旨在通过实践操作来学习这两个指令的使用方法。 Page指令,以`&lt;%@ page %&gt;`开头,用于设置整个JSP...

    JSP常见的三个编译指令page、include、taglib

    jsp中include指令静态导入和动态导入的区别详解JSP编译指令page、include详解JSP中动态include与静态include的区别介绍JSP指令元素(page指令/include指令/taglib指令)复习整理基于jsp:included的使用与jsp:param乱码...

    实验2 JSP指令标记与JSP动作标记(3.20)

    **include指令** - **定义**: `include`指令用于静态地包含其他资源的内容。 - **语法**: ```jsp &lt;%@ include file="relativePath" %&gt; ``` - **实验应用**: - 在`first.jsp`、`third.jsp`和`second.jsp`中分别...

    JSP指令元素(page指令/include指令/taglib指令)复习整理

    2. **include指令**: - `include`指令用于在JSP页面中动态地插入其他文件的内容。被包含的文件可以是文本文件、HTML文件或JSP页面。在转换为Servlet时,被包含的文件内容会与主JSP页面合并。这提供了代码重用和...

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

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

Global site tag (gtag.js) - Google Analytics