jsp 静态引入<%@ include %> 动态引入<jsp:include> 区别

1. 首先先介绍下,jsp机制:

servlet容器,先将jsp转化成servlet,然后编译成.class文件,放置容器缓冲区【tomcat的work目录下】。

每次调用jsp时,服务器会读取编译好的servler.class,处理jsp的请求。

2. <%@ include file="page.jsp"%>

在servlet容器转化jsp为servlet时,将引入的jsp源码全部添加到当前jsp,一并转化成一个servlet,然后编译。

【可以理解为整合一个servlet,一起编译,一次执行】

3.<jsp:include page="page.jsp"/>

发送请求给当前jsp,servlet调用当前jsp servlet编译后文件,到引用位置,调用编译后的page.jsp的servlet。class文件。【可以理解为,各自单独编译,互相调用编译的文件】

总结:

以下是对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的前缀进行解释,如果它不是以斜杠开头,那么就是页面相关的路径,就根据引入这个文件的页面所在的路径进行解释。

时间: 2024-10-29 19:11:51

jsp 静态引入<%@ include %> 动态引入<jsp:include> 区别的相关文章

关于jsp:include 动态引入的值传递问题(数据共享问题)

<jsp:include page="search.jsp" flush="true"> <jsp:param name="gh" value='<%=request.getParameter("index")%>'/> </jsp:include> jsp传值方式如上,传值给search.jsp,search接收方式如下: 例子: $(function(){ var a=<

18 jsp——静态引入和动态引入

引入啥? 在开发过程中,一些重复的部分,我们可以给他解耦为一个独立的jsp,在需要的地方引入,可以减少代码的冗余度. 比如,网站页脚的网站声明部分,每个页面都有,我们就可以给它解耦出来. 静态引入 引入格式 在需要引入的地方:<%@include file="要引入的jsp文件的相对路径" %> 底层原理: 将两个页面的jsp整合在一起,合并为一个servlet. 注意:由于合并为一个servlet,所以引入的jsp页面中不能有和主页面的变量同名的变量. 动态引入 引入格式

转载 -jsp静态包含和动态包含的区别

原博地址:http://blog.csdn.net/baidu_21578557/article/details/51226678 主要从以下5方面进行分析: 1.语法: 静态包含:<%@ include file=""%> 动态包含:<jsp: include page=""%> 2.静态包含时,包含页面和被包含页面中的html.head,body等标签总共只有出现一次,否则会报错:而动态包含不会. 3.静态包含不会检查所包含文件中的变化:

JSP静态导入与动态导入

JSP静态导入(JSP指令标记include) JSP页面第一次被请求时,会被JSP引擎转译成Servlet的Java文件,然后再被编译成字节码文件执行.JSP指令标记为JSP页面转译提供整个页面的相关信息. include指令用于在JSP页面静态插入一个文件,被插入的文件可以是JSP页面.HTML页面.文本文件或一段Java代码.使用了include指令的JSP页面在转换成Java文件时,将被插入的文件在当前JSP页面出来该指令的位置做整体的插入,合并成一个新的JSP页面,然后JSP引擎再将这

Jsp静态包含和动态包含的区别

一.静态包含指令<%@include file=“fileurl”%> 1.两个jsp页面的<%@page contentType=“text/html:charset=gbk”%>应该保持一致 2.不能通过fileurl向被包含的jsp页面传递参数,因为此静态包含是发生在jsp页面转换为servlet的转 换期间,此时的参数是服务器端设置的死的参数,完全没有经过客户端,这种参数是没有意义的,如<%@include  file=“fileurl?user=admin”%>

IT兄弟连 JavaWeb教程 JSP静态包含和动态包含的区别

JSP静态包含(<%@ include>和JSP动态包含<jsp:include>同样都可以用来包含文件,但是他们之间是存在很大差别的.下面将对include指令与include动作的区别进行详细介绍: ●  include指令通过file属性指定被包含的文件,并且file属性不支持任何表达式:include动作标识通过page属性指定被包含的文件,而且page属性支持JSP表达式. ●  使用include指令时,被包含的文件内容会原封不动地插入到包含页中,然后JSP编译器在将合

【普】静态IP和动态IP有什么区别?

动态IP和静态IP的区别在于:动态IP需要在连接网络时自动获取IP地址以供用户正常上网,而静态IP是ISP在装机时分配给用户的IP地址,可以直接连接上网,不需要获取IP地址. 静态IP又称为固定IP,是运营商的专线业务提供的一种IP形式,安装专线后运营商会提供固定IP及对应的子网掩码.网关,然后我们将固定IP的信息配置在本地连接里,这样我们电脑开机时就会少了获取IP的过程.其实固定IP大多数是用来做网站.运行各种服务的服务器. 众所周知,我们上网时输入的都是网址的,而DNS服务器则通过网址知道你

jsp的静态包含与动态包含:&lt;%@ include file=&quot;&quot; %&gt;和&lt;jsp:include page=&quot;&quot;&gt;&lt;/jsp:include&gt;区别与分析

<%@ include file="" %>是将文件原封不动的copy进现有的文件中,像是拼接好后,再编译成为servlet运行. <jsp:include page=""></jsp:include>是编译后的servlet运行到该句时,跳转到指定的jsp编译的那个servlet继续运行,然后将运行结果,copy到现在的jsp中,故包含与被包含文件都是单独运行的. 在开发过程中,我们需要正确选择使用.举个例子: 比如在工程项目中

jsp静态导入和动态导入

动态导入:JSP:include仅仅是包含给界面的body 体不管里面有什么东西,统一编译出来被包含进来的界面编译指令会作用消失. 静态导入:@include要包含有该界面的解析的指令.这里面的神马都会包含进来的,title也要包含,甚至于title直接被篡改了.并且页面会被编译为两个servlet类的.编译指令依旧是有作用的,这就是为什么会有连个servlet界面了