JSP初学者5
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, 但这些页面可以是其他资源所产生的 结果。服务器按照正常的方式对指向被包含资源的URL进行解释, 因而这个URL可以是Servlet或JSP页面。服务器以通常的方式运行被包含的页面, 将产生的输出放到主页面中, 这种方式与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"/>形式
3. 使用include动作还是include指令?
使用include指令,如果被包含的文件发生改变,那么,用到它的所有Jsp页面都需要更新。
仅当include动作不能满足要求时,我们才应该使用include指令。
有 些开发人员认为include指令生成的代码执行起来比使用include动作的代码更快。 尽管原则上由可能的确如此,但性能上的差异很小,以致难以测 量,同时, include动作在维护上的优势十分巨大,当两种方法都可以使用时,include动作几乎肯定是首选的方法。
对于文件包含,应该尽可能地使用include动作。仅在所包含的文件中定义了主页面要用到的字段或方法, 或所包含的文件设置了主页面的响应报头时,才应该使用include指令。
JSP初学者5的更多相关文章
- JSP初学者3
reponse代表服务器对客户端的响应.大部分时候,程序无须使用response来响应客户端请求,因为有更简单的响应对象——out,它代表页面输出流. 但out无法响应生成非字符内容(out是JspW ...
- JSP初学者2
<jsp:useBean id="name" class="classname" scope="page|request|session|app ...
- JSP初学者4
Filter可认为是Servlet的“加强版”,他主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理,是个典型的 处理链. 使用Filter完整的流程是:Filte ...
- JSP初学者1
native2ascii.exe 是 Java 的一个文件转码工具,是将特殊各异的内容 转为 用指定的编码标准文体形式统一的表现出来,它通常位于 JDK_home\bin 目录下, 安装好 Java ...
- JSP 基础概念归纳 5分钟看完
1. 符合 j2ee 标准的 web-app 的目录结构 WEB-INF classes web.xml lib servlet 开发过程 从 httpservlet 继承, 重写 doget / d ...
- 初学者:JSP登陆界面
学生登陆查询系统 1 程序的主要功能及特点 实现一个登录界面的基本功能,具体要求: 登录界面login.jsp含有表单,用户能够输入用户名和密码,并提交表单给verify.jsp. Verify.js ...
- 一位资深程序员大牛给予Java初学者的学习路线建议
java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈 ...
- JAVA教师:给JAVA初学者的忠告
我带过不少JAVA,C++班的课,来学习的同学很多都是初学者,一部分是急着找工作的,一部分是很感兴趣的.他们都想在短短一两个星期内掌握Java,这是不切实际的.而且这样做很容易让自己心浮气燥,难以静下 ...
- html5 EvnetSource 与 JSP页面结合使用
最近一直在研究前端的技术,特别是html5的技术,本人觉得html5的发展将越来越好,废话少说.看到了EventSource,根据官方的说法是服务器向客户端的推送服务.自己想找一些例子看看,发现都是P ...
随机推荐
- jquery 中 $('div','li')是什么意思?
Javascript 专业回答 2013-07-18 10:59 这个写法没有错误,而且那个人跟你说的也没错,是选择li里面所有div 前面几位都学艺不精,都说错了 要搞清楚$('div','l ...
- 洛谷 P1503 鬼子进村
题目背景 小卡正在新家的客厅中看电视.电视里正在播放放了千八百次依旧重播的<亮剑>,剧中李云龙带领的独立团在一个县城遇到了一个鬼子小队,于是独立团与鬼子展开游击战. 题目描述 描述 县城里 ...
- zip与unzip
- (IDEA) VCS-->Import Into Version Control没有Share Project(Subversion)这个选项。
在VCS-->Import Into Version Control,会发现只有Import Into Subversion选项,并没有Share Project(Subversion)这个选项 ...
- Android配置横屏资源与Activity生命周期
屏幕旋转会改变设备配置(device configguration).设备设置的特征有:屏幕方向.屏幕像素密度.屏幕尺寸.键盘类型.底座模式以及语言等. 当屏幕发现旋转时(设备配置更改),And ...
- tensorflow基础-placeholder
placeholder: 要给节点输入数据时用 placeholder,在 TensorFlow 中用placeholder 来描述等待输入的节点,只需要指定类型即可,然后在执行节点的时候用一个字典来 ...
- bzoj1087 互不侵犯King 状压dp+bitset
题目传送门 题目大意:中文题面. 思路:又是格子,n又只有9,所以肯定是状压dp,很明显上面一行的摆放位置会影响下一行,所以先预处理出怎样的二进制摆放法可以放在上下相邻的两行,这里推荐使用bitset ...
- myEclipse注册码地址2019年最新
myEclipse注册码地址2019年最新 https://www.sojson.com/myeclipse8.5/
- TeamCity 持续集成工具
https://www.jetbrains.com/teamcity/ null
- 多重if 与 switch case的区别
多重if:可以做等值操作也可以做区间操作 switch case:只能做等值操作