`
dbzhuan
  • 浏览: 21351 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
最近访客 更多访客>>
社区版块
存档分类
最新评论

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指令静态导入和动态导入的区别详解.docx

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

    JSP静态导入与动态导入使用详解

    JSP静态导入(JSP指令标记include)  JSP页面第一次被请求时,会被JSP引擎转译成Servlet的Java文件,然后再被编译成字节码文件执行。JSP指令标记为JSP页面转译提供整个页面的相关信息。  include指令用于在JSP页面...

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

    与静态导入不同,动态导入在运行时完成,它不会将被导入页面的编译指令合并到主页面中,而是仅在请求处理阶段将被导入页面的`&lt;jsp:body&gt;`部分插入到当前页面。动态导入更灵活,因为它是运行时的行为,所以它可以响应...

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

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

    jsp简单静态网页

    - **静态导入**:可以使用JSP的`&lt;%@ include file="..." %&gt;`指令将HTML片段导入到JSP页面中,保持页面结构的清晰。 - **模板元素**:在JSP中,可以使用HTML模板元素来定义静态内容,而将动态内容通过JSP表达式或...

    jsp虚静态

    【jsp虚静态】是一个在JavaServer Pages (JSP)开发中涉及到的概念,它与静态导入(static import)在Java编程中的用法相似,但应用于JSP页面。在JSP中,"虚静态"并不是一个标准术语,而是用来描述一种简化访问Java类...

    jsp-api.jar 在使用jsp时导入的jar包

    **标题解析:**"jsp-api.jar" 是Java服务器页面(JSP)的API库,它包含了一组类和接口,使得开发者能够在Java Web应用程序中创建动态网页。这个jar包是Tomcat服务器的一部分,版本为9.0.58,表明它是针对Tomcat 9的...

    jsp实现动态树形菜单

    【标题】"jsp实现动态树形菜单"涉及的是在Web开发中使用JSP技术构建一个可以自动生成层次结构的交互式菜单系统。JSP(JavaServer Pages)是Java平台上的服务器端脚本语言,用于创建动态网页。动态树形菜单在网站中常...

    JSP 动态网站技术入门与提高

    1. **JSP页面结构**:JSP页面主要由静态内容(如HTML、CSS、JavaScript)和动态元素(如Java代码片段、JSP指令、JSP动作)组成。动态元素在服务器端执行,然后将结果插入到静态内容中返回给客户端。 2. **JSP生命...

    JSP动态网站开发实用教程

    2. **指令(Directives)**:JSP页面中的指令是配置信息,比如`&lt;%@ page %&gt;`, `&lt;%@ include %&gt;`, 和`&lt;%@ taglib %&gt;`,它们分别用来设置页面属性、导入其他文件以及引入自定义标签库。 3. **动作(Actions)**:例如...

    JSP动态网页基础教程

    JSP页面主要由两部分组成:静态内容(HTML、CSS、JavaScript等)和动态内容(Java代码)。JSP引擎在服务器端运行时,会将JSP文件转换为Servlet源码,然后编译为Servlet类。当客户端请求JSP页面时,服务器执行相应的...

    JSP版PowerDiamond生成静态wap wml页面

    总的来说,"JSP版PowerDiamond生成静态wap wml页面"涉及的是早期移动互联网时代的网页开发技术,它结合了JSP的动态性与WAP/WML的适应性,为移动设备提供了访问互联网内容的方式。随着技术的进步,现在的移动应用和...

    JSP动态网站制作的教程讲解

    - `page`指令:配置JSP页面的属性,如导入Java包、设置编码等。 - `include`指令:用于包含其他文件,可以是静态的HTML或JSP文件。 - `taglib`指令:引入自定义标签库,增强页面功能。 3. **JSP脚本元素** - `...

    从零开始——JSP动态网页制作基础培训教程-源代码

    JSP页面由静态内容(HTML、CSS、JavaScript)和动态内容(Java代码)组成。在JSP页面中,动态内容通常包含在`&lt;% %&gt;`、`&lt;%= %&gt;`、`! %&gt;`等标签内。`&lt;% %&gt;`用于编写Java代码块,`&lt;%= %&gt;`用于输出表达式的值,`! %&gt;`...

    使用JSP建设动态网站教程

    - `page` 指令:设置整个JSP页面的属性,如语言、导入的包、错误页面等。 - `include` 指令:用于包含其他静态或动态资源。 - `taglib` 指令:引入自定义标签库,便于重用和管理代码。 3. **JSP动作元素** - `...

    一个jsp编写的网站,用MyEclipse编写的课直接导入

    【标题】中的“一个jsp编写的网站,用MyEclipse编写的课直接导入”表明这是一个基于JSP(JavaServer Pages)技术开发的网站项目,且该项目已经在集成开发环境(IDE)MyEclipse中完成,方便用户直接导入进行进一步的...

    jsp网页超级给力的。自己期末作业

    1. **JSP页面结构**:JSP页面由静态HTML和动态Java元素组成。静态元素如HTML标签负责页面的布局和外观,而动态元素如JSP指令、脚本元素和表达式则处理数据和逻辑。 2. **JSP指令**:例如`&lt;%@ page %&gt;`, `...

Global site tag (gtag.js) - Google Analytics