Jsp Include指令 与动作区别

在说include指令和动作之前,我们先来了解下 jsp的生命周期。

jsp生命周期

分为5个阶段

  • 解析 servle容器检查页面语法
  • 翻译将jsp编译成servlet源文件
  • 编译 servlet容器将servlet源文件,生成为servlet类
  • 运行加载对应的servlet类,创建实例,调用方法
  • 销毁调用servelt销毁方法,销毁实例

以上为基础,进入正题

jsp的include有两种形式分别为

  • <%@include file=" " %>
  • <jsp:include page="" flush="true"/>

前者是指令,后者是动作元素虽然他们都能实现将外部文档包含到jsp文档中的功能。名称也相识。区别在哪里呢,如何使用。现在我们一起来看看吧

通常当应用程序中所有的页面的某部分都相同时,可以考虑用include,具体在哪些时候用指令,哪些时候用个动作。

首先要明白他们之间的区别,只有了解用法才能更深刻理解如何去选择

include指令

指令是在jsp页面转换成servle源文件之前进行的。读入指定页面内容,和原页面融合到一起,进行翻译。(生命周期翻

译阶段),生成一个servle源文件。

优点:功能强大,包含所有页面代码。它的缺点是难于维护只要被包含的页面发生更改,就得更改主页面,这是因为

主页面不会自动地查看被包含的页面是否发生更改。

include动作

Jsp:include动作是在主页面被请求时,将次级页面的输出包含进来。

服务器对指向url的资源解释。(该url可以使servlet,jsp或html)。将产生的输出放到主页面中。这种方式与转发类中的include类似。

req.getRequestDispatcher("").include(arg0,arg1)//转发

优点:它的优点是在被包含的页面发生更改时,无须对主页面做出修改。

对比指令和动作

从上可以看出,他们的根本不同在于被调用的时间。

动作在请求期间被激活,而指令是在页面转换期间被激活。

小结:

两者之间的差异决定着他们在使用上的区别。明白他们的作用时间 和包含的内容。在使用时,就可以通过考虑各方面的因素,来决定使用哪一种方式。尽管各自都有一定的优缺点,在实际使用中,还是应优先考虑使用jsp:include动作,这是因为它在代码维护上的优势远胜过其在功能上的不足

时间: 2024-10-05 04:19:24

Jsp Include指令 与动作区别的相关文章

include指令与动作的区别

include指令与动作有什么区别 include指令:<%@include file="filename"%> 称为文件加载指令,可以将其他的文件插入JSP网页,被插入的文件必须保证插入后形成的新文件符合JSP页面的语法规则. include动作:<jsp:include page="文件的名字"/> 在页面得到请求时动态包含一个文件. include指令是静态包含,静态包含不能传递参数. include动作是动态包含,动态包含可以再两个文

Java学习-035-JavaWeb_004 -- JSP include 指令

inclue 指令是将不同的文件插入到 JSP 网页中,这些文件可以是文本文件.HTML文件.JSP 文件,指令语法如下: <%@include file="相对路径"%> 下面创建几个文件,以此来演示 include 指令,目录结构如下所示: webapps |-- jsp |-- include.jsp |-- include_file.jsp |-- index.html |-- source_txt |-- include.txt include.jsp 文件内容如

include指令和动作的区别

include指令:用于包含一个文本或代码的文件.称为文件加载指令,可以将其他的文件插入JSP网页.功能:该指令标签作用是在该标签的位置处,静态插入一个文件. include动作:动态包含一个文件,即将当前JSP页面,被包含的文件各自独立编译为字节码文件.当执行到该动作标签处,才加载执行被包含文件的字节码. 总而言之,他两的区别就是:是两种不同的包含,程序的执行性质是完全不同的,一个是静态包含,一个是动态包含,静态包含不能传递参数,但动态包含可以在两文件之间传递参数.

JSP之include指令和动作

//include_ <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName

jsp 三大指令和动作标签

jsp三大指令 一个jsp页面中可以有0-N个指令 1.page--->最复杂:<%@page language="" ...%> *pageEncoding和contentType pageEncoding:指定当前jsp页面的编码,只要不说谎,就不会有乱码!在服务器要把jsp编译成.java时需要使用pageEncoding contentType:它表示添加一个响应头:Content-Type ,相当于response.setContentType() *imp

JSP之指令、动作元素、内置对象、变量作用域

1.指令(三大指令) 指令                                指令描述 <%@ page ... %>                 定义网页依赖属性,比如脚本语言.error页面.缓存需求等等 <%@ include ... %>              包含其他文件 <%@ taglib ... %>                引入标签库的定义 例如: <%@ page language = "java"

JSP编译指令与动作指令

下面这个面试经常问到,要理解. 上面这个效果一样,重点.   <jsp:include>动作在请求期间被执行,而include指令在编译期页面间被执行.

jsp include指令标签

假设须要在JSP页面内某处总体嵌入一个文件,就能够考虑使用这个指令标签. 该指令标签例如以下: <%@ include file ="文件的名字"%> 该指令标签的作用是在JSP页面出现该指令的位置处,静态插入一个文件. 被插入的必须是可訪问的和可使用的.即该文件必须和当前JSP页面在同一web服务文件夹中.所谓静态插入,就是指当前JSP页面和插入的部分合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成为一个JSP页面文件. 比方,假设一个JSP页面使用i

JSP指令、动作和对象

JSP基本指令 jsp命令指令用来设置与整个jsp页面相关的属性,它并不直接产生任何可见的输出,而只是告诉引擎如何处理其余JSP页面.其一般语法形式为: <%@ 指令名称 属性=“值”%> 三种命令指令分别是page.include.taglib. 一.page指令 功能:设定整个JSP网页的静态属性. 语法:<%@ page 标签元素=“值”%>,比如 <%@ page language=“java”%> 标签元素:language.import.contentTyp