参考:http://developer.51cto.com/art/200902/111134.htm
简单总结一下:
准备知识:
1.翻译阶段
jsp容器负责将jsp页面转化成servlet(*.jsp-->*_jsp.java.称为jsp页面实现类:JSP Page implementation class),并编译这个servlet(*_jsp.java-->*_jsp.class)
2.请求处理阶段
调用jsp页面实现类以处理每个请求并产生应答
<%@ include file="*.jsp" %>
引入的jsp在宿主jsp的翻译阶段,与宿主jsp合成了一个*_jsp.java文件;
此时宿主jsp还未编译。
<jsp:include page="" flush="true"/>
引入的jsp与宿主jsp分开翻译,转化成两个不同的*_jsp.java文件;
直到宿主jsp编译后运行时,才会引入。
文章中有些语焉不详之处,经过测试,注意以下几点:
1.include file 引入的页面,其代码原封不动的插在引入的位置,所以jsp中定义的path,basepath只能保留一组,否则会提示重复定义;
jsp:include 引入页面,是在运行时把编译后的结果插入进来,不会出现上述问题。
2.形象一点,include file 好像是把两个页面合并在一起然后同一编译,所以在引入页面有效的request对象,引入之后,仍然能够被宿主jsp访问;
jsp:include则是分开编译,所以request对象无法共享。
3.include file 是静态插入,只在第一次引入时编译一次,如果后来发生了变化,在页面上无法及时的显示出来;
jsp:include是动态引入,jsp容易会监视引入页面的变化,及时将改变反映到页面上来。
可见二者各有所长啊。
分享到:
- 2009-11-13 18:56
- 浏览 1149
- 评论(0)
- 论坛回复 / 浏览 (0 / 1577)
- 查看更多
相关推荐
%@ include file=” ”%> < jsp:include page=” ” flush=”true”/> 前者是指令元素、后者是行为元素。具体它们将在何处用?如何用及它们有什么区别?这应该是很多人看到它都会想到的问题。下面一起来...
1.<%@include file="head.jsp" %> 2.<jsp:include page="head.jsp" /> 或者: <jsp:include page="jieshou.jsp"> <jsp:param name="canshu" value="magci" /> </jsp:include> 两者的区别: 1.<%@include ...
用jsp:include动作实现 <jsp include page=”included.jsp” flush>它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE 用include伪码实现,定不会检查所含文件的变化,...
; charset=gb2312"%> <head><title>聆音博客-失败提示</title></head> <tr><td colspan="2"><jsp:include page="view... <tr ><td colspan="2"><%@ include file="view/AdminEnd.jsp" %></td></tr> </html>
<%@ include file=""%> 4 动作 1 forward <jsp:forward page=""/> 2 include 动态包含 整合 多个jsp[servlet] 输出结果 request.getRequestDispatcher().include(); <jsp:include page=""/>
@include file=”” %> (2)<jsp page=”” flush=”true”/> 2、两者区别 (1)前者是指示元素,后者是行为元素 (2)前者合成一个页面,后者合成一个文件后被JSP容器转化成Servlet 您可能感兴趣的文章:springMVC...
动态INCLUDE 用法:<jsp page=”included.jsp” flush=”true”> 说明:它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数,先编译之后再进行处理。 原因:1、静态include的结果是把其他jsp引入...
JSP基础语法,掌握JSP基本语法 掌握JSP基本指令 <jsp:include pate=“uri”/> <%@include file=“uri”%> <jsp:forward page=“uri”/> 掌握JSP九个内置对象
你的页面头顶部加入<%@include file="你的文件路径" %> 页面的任意部位加入page_title = "你的分页提交参数名称"; 如Action提交时使用 method=query 则page_title="method" 在要显示上一页或页符的地方加入对应的...
如何混合使用Jsp和SSI #include? 在JSP中可以使用如下方式包含纯HTML: <!--#include file="data.inc"--> 但是如果data.inc中包含JSP CODE ,我们可以使用: <%@include file="data.inc"%> 如何执行一个...
动态INCLUDE用jsp:include动作实现 <jsp:in clude page="included.jsp" flush="true" / >它总是会检查所含文件中的变化,适合用于包含动 态页面,并且可以带参数。 静态INCLUDE用include伪码实现,定不会检查所含 ...
一、 简答题 1)解释下面关于J2EE的名词 1、 RMI:2、JTA:3、...3) <%@ include file="filename" %> 和<jsp:include page="includedPage" /> 的区别是? 4) JSP中动态INCLUDE与静态INCLUDE的区别? 5) 什么是Web容器?
4、在JSP如何包含一个静态文件? 静态包含如下:<%@ include file="copyright.html" %> 动态包含如下:<jsp:include page="copyright.html" flush="true"/>
@ include file=URL%> 二 代码 1、date.jsp <%@ page language=java import=java.util.* contentType=text/html; charset=utf-8%> <%@ page import=java.text.* %> <% Date d = new Date()...
Tag File是從JSP 2.0開始新增的功能,主要的目的是讓撰寫JSP網頁的網頁設計人員即使在不懂Java語法的情況下,也可以使用JSP語法來自訂標籤。 簡介 Tag File <jsp: doBody>、<jsp:invoke>與指令元素 Servlet ...
JSP中动态INCLUDE与静态INCLUDE的区别? 动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE...
@include file=”relativeURLSpec”%> 静态导入使用范例include1.jsp: 代码如下:<%@ page contentType=”text/html; charset=utf-8″ language=”java” errorPage=”” %><!DOCTYPE html PUBLIC “-//W3...
jsp 删除文件夹包含文件jsp 删除文件夹包含文件
商品展示静态页面 1 目标 完成网站的商品展示页面静态效果,目标成果如下: 2 步骤 2.1 将common文件夹...showProducts.jsp页面使用include技术将3个页面包含进来,将showProducts.jsp划分成下面的样子: head.jsp le
@ include file=”../xxx.jsp”%> (2)如果b是a的下级目录, 代码如下:<%@ include file=”b/xxx.jsp”%> 您可能感兴趣的文章:JSP常见的三个编译指令page、include、taglibJSP中的include有几种形式?都...