文档章节

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

陈狐
 陈狐
发布于 2017/08/11 15:54
字数 416
阅读 17
收藏 0

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

本文转载自:http://blog.sina.com.cn/s/blog_735ce0930101196w.html

陈狐
粉丝 1
博文 54
码字总数 12914
作品 0
武汉
私信 提问
jsp常用标签

:把另一个资源的输出内容插入进当前jsp页面的输出内容之中,这种在jsp页面执行时的引入方式叫做动态引入 动态引入和静态引入的区别: 静态引用是在编译jsp前简单地把源代码包含进来 动态引用...

晨曦之光
2012/05/16
408
0
@include与jsp:include的区别

1.可以使用一个JSP指令或者一个标准行为,在JSP页面中引入其他的页面片段。 2. include指令:在翻译阶段(将JSP页面转换成servlet的阶段),JSP的include指令会读入指定的页面中的内容,并将...

随智阔
2014/03/08
54
0
Java程序员从笨鸟到菜鸟之(十八)JSP基本语法与动作指令

本文来自:曹胜欢博客专栏。转载请注明出处:http://blog.csdn.net/csh624366188 Jsp,通常的被大家认为是做网页的前台界面,我刚学习的时候,说实话,真没把他当回事,学的也是囫囵吞枣,有时...

长平狐
2012/11/12
102
0
(JavaEE-07)JSP.md

JSP JSP全称是Java Server Pages,它和Servlet技术一样,都是SUN公司定义的一种用于开发动态Web资源的技术。JSP的编写就像编写HTML一样简单,但是与HTML不同的是,在JSP中,可以编写Java代码...

_-Leon-_
2014/07/04
107
0
和的区别

<%@include%>和jsp:include的区别,发现了一些东西的。 <%@include%>:页面请求之前预编译,所有代码包含进来之后,一起进行处理,把所有代码合在一起,编译成一个servlet jsp:include:所有...

Alex_曰生
2015/04/04
239
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud 笔记之Spring cloud config client

观察者模式它的数据的变化是被动的。 观察者模式在java中的实现: package com.hxq.springcloud.springcloudconfigclient;import org.springframework.context.ApplicationListener;i...

xiaoxiao_go
今天
4
0
CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
今天
4
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
今天
7
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
今天
7
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部