[JSP]JSP中include指令和include动作的差别
include指令是编译阶段的指令,即include所包括的文件的内容是编译的时候插入到JSP文件里,JSP引擎在推断JSP页面未被改动,否则视为已被改动。
因为被包括的文件是在编译时才插入的。因此假设仅仅改动了include文件内容。而没有对JSP改动,得到的结构将不会改变,所以直接运行已经存在的字节码文件。而没有又一次编译。因此对不常常变化的内容,用include指令是合适的,假设须要的内容是常常变化的。则须要动作元素<jsp:include>.以下将具体区分他们之间的不同
1.include指令
include能够在JSP页面转换成Servlet之前,将JSP代码插入当中。
它的主要长处是功能强大。所包括的代码能够含有整体上影响主页面的JSP构造,比方属性、方法的定义和文档类型的设定。它的缺点是难于维护仅仅要被包括的页面发生更改,就得更改主页面,这是由于主页面不会自己主动地查看被包括的页面是否发生更改。
语法:<%@ include file="sample.jsp" %>
2.include动作
jsp:include动作是在主页面被请求时,将次级页面的输出包括进来。虽然被包括的页面的输出中不能含有JSP,但这些页面能够是其它资源所产生的 结果。
server依照正常的方式对指向被包括资源的URL进行解释。因而这个URL能够是Servlet或JSP页面。server以通常的方式执行被包括的页面。 将产生的输出放到主页面中,这样的方式与RequestDispatcher类的include方法一致。
它的长处是在被包括的页面发生更改时,无须对主页 面做出改动。它的缺点是所包括的是次级页面的输出,而非次级页面的实际代码,所以在被包括的页面中不能使用不论什么有可能在总体上影响主页面的JSP构造。
语法: <jsp:include page="sample.jsp" flush="true"> <jsp:param name="name" value="value"/> </jsp:include>
当中參数设置能够没有,假设没有參数设置,则必须採用<jsp:include page="sample.jsp" flush="true"/>形式
主要有两个方面的不同;
一:运行时间上:
<%@ include file=”relativeURI”%> 是在翻译阶段运行
<jsp:include page=”relativeURI” flush=”true” /> 在请求处理阶段运行.
二:引入内容的不同:
<%@ include file=”relativeURI”%>
引入静态文本(html,jsp),在JSP页面被转化成servlet之前和它融和到一起.
<jsp:include page=”relativeURI” flush=”true” />引入运行页面或servlet所生成的应答文本.
三: 使用include动作还是include指令?
使用include指令,假设被包括的文件发生改变,那么,用到它的全部Jsp页面都须要更新。
仅当include动作不能满足要求时,我们才应该使用include指令。
有 些开发者觉得include指令生成的代码运行起来比使用include动作的代码更快。
虽然原则上由可能的确如此。但性能上的差异非常小,以致难以測 量,同一时候。include动作在维护上的优势十分巨大,当两种方法都能够使用时,include动作差点儿肯定是首选的方法。
对于文件包括。应该尽可能地使用include动作。仅在所包括的文件里定义了主页面要用到的字段或方法,或所包括的文件设置了主页面的响应报头时,才应该使用include指令。
既然include指令产生难以维护的代码,为什么人们还要使用它呢?
由于include指令更为强大。include指令同意所包括的文件里含有影响主页面的Jsp代码。比方响应报头的设置和字段、方法的定义。
样例://subpage.jsp
<%! int num=0; %>
//mainpage.jsp
<html>
<body>
<%@ include file="subpage.jsp" %>
<%= num %>
</body>
</html>
当然使用include动作时这是不可能的,由于num变量没有定义。主页面不能成功的转换成servlet。
[JSP]JSP中include指令和include动作的差别的更多相关文章
- 浅谈JSP中include指令与include动作标识的区别
JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...
- 分别应用include指令和include动作标识在一个jsp页面中包含一个文件。
分别应用include指令和include动作标识在一个jsp页面中包含一个文件. hello.jsp <%@ page language="java" import=&qu ...
- 牛客网Java刷题知识点之什么是JSP的3大常用指令、JSP的6大哪些动作、JSP中include指令和include动作有什么区别
不多说,直接上干货! JSP的3大常用指令 包含指令(Include directive):用来包含文件和合并文件内容到当前的页面. 页面指令(Page directive):用来定义JSP页面中特定 ...
- include 指令和 include 动作引入 jsp 页面时中文乱码
include指令:<%@ include file="new.jsp" %> include动作:<jsp:include page="new.jsp ...
- JSP -- include指令与include动作的区别
JSP -- include指令与include动作的区别 (1)格式的区别: include指令:<%@include file = "文件名"%> include动 ...
- 【Head First Servlets and JSP】笔记24:include指令与include动作 & param动作 & foward动作
include指令与include动作 1.样例代码 <%@ page contentType="text/html;charset=UTF-8" language=&quo ...
- JavaWeb学习----JSP脚本元素、指令元素、动作元素
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- JSP脚本元素、指令元素、动作元素
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- 2017.9.18 include指令和include动作有什么区别?
问题:include指令和include动作有什么区别? 答:include指令合并静态文档或Jsp页面中的内容,可以用于包括动态生成的输出结果,因此可以包含一个Servlet include指令在编 ...
- include指令和include动作有什么区别?
include指令 称为文件加载指令,可以将其他的文件插入jsp网页,被插入的文件必须保证插入后形成的新文件符合jsp页面的语法规则. include指令语法格式:<%@incl ...
随机推荐
- hdu 1732 bfs
题意:推箱子游戏 代码写错居然卡内存!! 搞了两天了 #include <iostream> #include <cstdio> #include <cstring> ...
- OpenGL 模型视图投影矩阵 仿射矩阵
矩阵基础知识 要对矩阵进行运算,必须先要了解矩阵的计算公式,这个知识的内容涉及到了线性代数. 我们知道在Cocos2dx中,有关于平移,旋转,缩放等等操作,都必须要进行矩阵的乘法. 只需要一张图就能理 ...
- Codeforces Round #234 (Div. 2) B. Inna and New Matrix of Candies SET的妙用
B. Inna and New Matrix of Candies time limit per test 1 second memory limit per test 256 megabytes i ...
- 《学习OpenCv》 笔记(1)
P1-P17 废话 可跳过 不过讲了如何搭建环境,如果你没有搭建的话,可以查看我的另外一个博文,详细讲了如何构建OpenCv的编程环境 P19 开始编写第一个代码
- 使用Layui和Vue实现分页
原理就是利用Layui的分页组件和Vue组件的模板渲染功能. 我下面直接贴代码,比较直观. index.html <!DOCTYPE html> <html> <head ...
- mysql慢查询配置
1.慢查询有什么用? 能记录下所有执行超过long_query_time时间的SQL语句, 帮你找到执行慢的SQL, 方便我们对这些SQL进行优化. 2. 如何开启慢查询? 首先我们先查看MYSQL服 ...
- JetBrains 系列软件汉化包
原文地址:https://blog.csdn.net/pingfangx/article/details/78826145 JetBrains 系列软件汉化包 关键字: Android Studio ...
- git 忽略文件 .gitignore 以及规则
git提供了文件忽略系统,当对工作区某个目录或文件设置了忽略后,在执行status查看状态时,被忽略的文件即使存在也不会显示出来. 这样我就可以把那些不需要上传,不需要保留的文件或目录忽略掉(比如一些 ...
- 制作MACOSX10.10.3/10.9安装启动盘U盘的教程
下载MACOSX 10.10.3/10.9镜像文件,下载地址http://www.chinamac.com/download/mac14032.html1.准备好你需要的大于等于6G以上的U盘或者移动 ...
- RocketMQ的部署方式及持久化方式
RocketMQ 的 Broker 有三种集群部署方式: 1. 单台 Master 部署: 2. 多台 Master部署: 3. 多 Master 多 Slave 部署:采用第 3 种部署方式时, M ...