1. 首先先介绍下,jsp机制:
servlet容器,先将jsp转化成servlet,然后编译成.class文件,放置容器缓冲区【tomcat的work目录下】。
每次调用jsp时,服务器会读取编译好的servler.class,处理jsp的请求。
2. <%@ include file="page.jsp"%>
在servlet容器转化jsp为servlet时,将引入的jsp源码全部添加到当前jsp,一并转化成一个servlet,然后编译。
【可以理解为整合一个servlet,一起编译,一次执行】
由于两个文件编译在一起,那么主文件与引入文件共享页面的一些参数。
例如:主页面有 String str; 则page.jsp 中可以直接访问。
3.<jsp:include page="page.jsp"/>
发送请求给当前jsp,servlet调用当前jsp servlet编译后文件,到引用位置,调用编译后的page.jsp的servlet。class文件。【可以理解为,各自单独编译,互相调用编译的文件】
可以向引入页面传递参数:
<jsp:include page="test.jsp">
<jsp:param value="${param.test}" name="name"/>
</jsp:include>
总结:
以下是对include 两种用法的区别,主要有两个方面的不同:
执行时间上:
<%@ include file=”relativeURI”%> 是在翻译阶段执行
<jsp:include page=”relativeURI” flush=”true” /> 在请求处理阶段执行.
引入内容的不同:
<%@ include file=”relativeURI”%>引入静态文本(html,jsp),在JSP页面被转化成servlet之前和它融和到一起.
<jsp:include page=”relativeURI” flush=”true” />引入执行页面或servlet所生成的应答文本.
另外在两种用法中file和page属性都被解释为一个相对的URI.如果它以斜杠开头,那么它就是一个环境相关的路径.将根据赋给应用程序的URI的前缀进行解释,如果它不是以斜杠开头,那么就是页面相关的路径,就根据引入这个文件的页面所在的路径进行解释。
这两种用法的地址是URI与环境相关,如果要引入与环境无关的外部内容可以用:
1 <c:import url="www.sample.com/MyHtml.html" var="thisPage"/>
可以向其中传递参数:
<c:import url="http://java.sun.com" >
<c:param name="test" value="1234" />
</c:import>
2 <iframe src="http://www.cnedu.cn/web/biaoqian/0/371.htm" width="100%" height="100" frameborder="0" scrolling="no" ></iframe>
引用:http://javaeye-hua.iteye.com/blog/528297
分享到:
相关推荐
在使用Boost 1.49 include文件时,首先确保你有合适的C++编译环境,并且知道如何将头文件路径添加到编译器的搜索路径中。然后,只需在源代码中包含所需的Boost库头文件,例如: ```cpp #include ``` 接着,根据库...
### ASP 动态 Include 文件解析 #### 标题与描述中的知识点 - **ASP (Active Server Pages):** ASP 是一种服务器端脚本环境,可以在 Web 服务器上执行脚本程序,生成动态网页内容。它是由微软开发的技术,主要...
**openssl-lib-include文件详解** 在IT行业中,OpenSSL是一个重要的开源库,它提供了丰富的安全协议、加密算法以及用于安全通信的工具。OpenSSL-0.9.8r是该库的一个版本,发布于2011年,尽管较旧,但仍然在某些环境...
标题中的“C语言本地头文件库include文件”指的是C语言的标准库头文件,这些文件通常位于编译环境的`include`目录下,通过`#include`预处理器指令引入到源代码中。 首先,我们来了解一下`#include`预处理器指令的...
JSP Include 文件时的一个乱码解决方法 在 JSP 开发中,include 文件是一个常用的技术手段,可以将公共的代码或者组件包含到不同的页面中,以提高代码的复用性和维护性。然而,在使用 JSP include 文件时,经常会...
**include文件** 在`freetype`库中,`include`文件夹包含了头文件,这些头文件定义了库的接口,允许开发者在自己的项目中调用`freetype`的功能。例如,`ft2build.h`是`freetype`的一个关键头文件,它提供了导入其他...
编译好的google 的libyuv库的so文件和 libyuv的头文件,方便android 开发,来源于博客:https://blog.csdn.net/zhangpengzp/article/details/82356281
在ASP.NET中,开发者通常会使用服务器控件如DropDownList来实现,但有时为了减少服务器负担或者避免加载Include文件,可能会寻找其他方法。本解答将深入探讨如何在ASP页面上不依赖Include文件生成选择列表。 首先,...
include文件** `include`目录下的文件包含了OpenCV库的头文件,这些文件定义了OpenCV的类、结构体、函数原型和其他声明。当你在C++代码中使用`#include <opencv2/...>`时,实际上是在引入这些头文件。通过这些...
3. **include文件**:包含头文件的目录,这些头文件定义了OpenCV库中的函数、类和常量,供开发者在编写代码时进行引用。例如,`#include <opencv2/opencv.hpp>`会引入OpenCV的主要接口,使得你可以使用如`cv::Mat`...
为android平台编译的ffmpeg so库 和 对用的 include文件,方便直接在android studio中进行ndk开发,来源于博客https://blog.csdn.net/zhangpengzp/article/details/82289224 使用so的方法: ...
在这个压缩包中,我们有两个关键文件:`makefile.include` 和 `vasp.6.1.2.tar.gz`。 `makefile.include` 是一个Makefile的包含文件,它通常包含了构建程序时的编译规则、路径设置、编译选项等信息。在Vasp的安装...
在编程中,"include" 文件是至关重要的,它们通常包含了预定义的常量、数据结构以及函数声明,使得程序员能够在代码中直接调用 MySQL 的功能。 MySQL 5.1 的 `include` 文件夹包含了一系列头文件,这些头文件为 C ...
编译后的libLas文件,包括liblas.dll,include文件,liblas.lib,应用于VS2013 debug x64平台,简单配置后就可以实现几行代码读写.las激光点云数据,具体读写程序参考官网或其他博客,非常方便。
经常有这样的要求,根据不同的需求要求include不同的文件如各个人的不同设置,所以要求能动态include文件受<! #include file=”filename.asp” –> 宏限制 必须存在该文件并且会预先编译(不管前面是否加以条件...
另见已编译好的库文件 release:http://download.csdn.net/detail/hzh0512/4442832 debug:http://download.csdn.net/detail/hzh0512/4442857 压缩率5.7%,真爽!
include file中包含64位的头文件
### ASP 动态 Include 文件与多模板实现 在 Web 开发中,为了提高代码的复用性和维护性,开发者常常需要将一些通用的功能模块化,以便在不同的页面或项目中重复利用。对于使用 Active Server Pages (ASP) 进行开发...
如果文件路径以`./`或`../`开头,它将在`include_path`设置的路径中查找,否则,它会首先在当前工作目录下寻找,然后在脚本所在的目录中寻找。 - **检查`include_path`**:`include_path`是PHP配置中的一个设置,它...
然而,include文件中的变量作用域是一个需要特别关注的问题,因为它决定了变量是否能够在被include的文件中被访问和操作。 首先,我们要了解变量的作用域在PHP中的基本概念。PHP中的变量作用域主要分为局部作用域和...