您的位置:首页 > Web前端 > JavaScript

Jsp Include指令 与动作区别

2014-09-07 21:07 302 查看
在说include指令和动作之前,我们先来了解下 jsp的生命周期。

jsp生命周期

分为5个阶段

解析 servle容器检查页面语法
翻译将jsp编译成servlet源文件
编译 servlet容器将servlet源文件,生成为servlet类
运行加载对应的servlet类,创建实例,调用方法
销毁调用servelt销毁方法,销毁实例

以上为基础,进入正题
jsp的include有两种形式分别为

<%@include file=" " %>
<jsp:include page="" flush="true"/>

前者是指令,后者是动作元素虽然他们都能实现将外部文档包含到jsp文档中的功能。名称也相识。区别在哪里呢,如何使用。现在我们一起来看看吧
通常当应用程序中所有的页面的某部分都相同时,可以考虑用include,具体在哪些时候用指令,哪些时候用个动作。
首先要明白他们之间的区别,只有了解用法才能更深刻理解如何去选择

include指令

指令是在jsp页面转换成servle源文件之前进行的。读入指定页面内容,和原页面融合到一起,进行翻译。(生命周期翻
译阶段),生成一个servle源文件。
优点:功能强大,包含所有页面代码。它的缺点是难于维护只要被包含的页面发生更改,就得更改主页面,这是因为
主页面不会自动地查看被包含的页面是否发生更改。

include动作

Jsp:include动作是在主页面被请求时,将次级页面的输出包含进来。
服务器对指向url的资源解释。(该url可以使servlet,jsp或html)。将产生的输出放到主页面中。这种方式与转发类中的include类似。

req.getRequestDispatcher("").include(arg0,arg1)//转发


优点:它的优点是在被包含的页面发生更改时,无须对主页面做出修改。

对比指令和动作

从上可以看出,他们的根本不同在于被调用的时间。
动作在请求期间被激活,而指令是在页面转换期间被激活。

小结:

两者之间的差异决定着他们在使用上的区别。明白他们的作用时间 和包含的内容。在使用时,就可以通过考虑各方面的因素,来决定使用哪一种方式。尽管各自都有一定的优缺点,在实际使用中,还是应优先考虑使用jsp:include动作,这是因为它在代码维护上的优势远胜过其在功能上的不足
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: