`

JSP中的4个include

    博客分类:
  • JSP
 
阅读更多

1:RequestDispatcher.include

通过GenericServlet.getServletContext方法获得一个ServletContext对象,然后通过ServletContext.getRequestDispatcher方法封装一个Servlet,并获得一个RequestDispatcher对象。

该方法封装的资源既可以是静态的,也可以是动态的。

RequestDispatcher  rd=getServletContext().
                                  getRequestDispatcher("/IncludedServlet");
rd.include(request,response);

rd=getServletContext().getRequestDispatcher("/includeHtml.html");
rd.include(request,response);

 注意:

1:
在使用include方法时,Servlet引擎并不会调整HttpServletRequest中的消息,调用include方法就相当于Servlet引擎在本Servlet的service方法中又调用了被包含的Servlet的service方法,并将本Servlet的service方法的2个参数传入了被调用者的service方法。

2:

被调用者中设置的响应消息头将被忽略。

 

2:PageContext.include

在PageContext类中引入了一个include方法来简化和替代RequestDispatcher.include方法的调用。

abstract  public  void  inclued (String  relativeUrlPath)  
                                            throws  ServletException , IOException;

该方法调用之前先将out对象缓冲区中的数据刷新。

abstract  public  void  include (String  relativeUrlPath , boolean  flush)
                                            throws  ServletException , IOException;

该方法提供一个flush参数。来控制在调用之前是否刷新out对象缓冲区。


include方法的relativeUrlPath参数必须是相对路径。

 

3:include指令

include指令用于将其他的文件静态的加入到当前的JSP程序中。

<%@ include  file="relativeUrl"  %>

include指令只有file一个属性,这个属性是一个相对路径。

注意
   1:被引入的文件可以是任何扩展名,JSP编译器会按处理JSP页面的方式处理被引入的文件。
   2:include指令是静态引入文件的,也就是说,被引入的文件内容将作为使用include指令的
      JSP所生成的servlet源代码的一部分而存在。
   3:如果当前的JSP程序中未通过contentType属性设置字符集编码,那么在被引入的JSP程序
      中通过 page指令设置的pageEncoding属性值将作为当前JSP页面的编码格式。
   4:被引入的JSP文件中如果含有中文字符,必须在被引用的JSP文件中使用page指令的
      conteType或pageEncding指定页面的字符集编码。在使用include指令的JSP文件中设置的
      字符集编码并不能代表被引用文件的字符集编码。

 

4:include标签

<jsp:include>标签用于将另一个静态或动态资源插入到当前的JSP页面中,插入的过程是动态的,也就是说,只有当JSP程序执行到该标签时才执行插入动作。

<jsp:inlcude page="relativeURL"  flush="true|false" />

<jsp:include page="relariveURL"  flush="true|false" >
    <jsp:param name="name"  value="value">
</jsp:include>

page属性表示一个相对路径
flush属性表示在插入资源之前是否清空out缓冲区,默认值是false
第2种语法格式可以向relativeURL所指定的web资源传递参数

 

 

 这4个include的区别

1:RequestDispatcher.include和pageContext.include在功能上是完全相同的,后者只是为了
   简化前者而存在的,因此这2个include可以看做一个,统称为include方法。
2:include方法和include标签都不能在被引入的页面中改变响应状态码,也不能改变http响应头,
   而include指令却可以改变这些信息。
3:include指令在引用JSP文件时,无论被引用的文件的扩展名是不是.jsp,都会将其按JSP页面来
   处理,而include方法和include标签所引用的JSP文件的扩展名必须是.jsp才可以,如果是其他
   的扩展名,就会将其当成静态文件处理。如将.jsp改成.myjsp后,只有include指令正常输出,
   include方法和include标签都将.myjsp中的内容按原样输出到了客户端。
4:当相对路径所指的资源不存在时,include指令会抛出异常,而include方法和include标签会向
   客户端输出一条提示信息后继续执行后面的代码。

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    jsp:include与include实探

    在Java Web开发中,`jsp:include`和`&lt;jsp:include&gt;`标签是两种常见的页面包含机制,它们用于将一个或多个动态或者静态资源合并到一个JSP页面中。这两种方式虽然看似相似,但有着本质的区别,理解它们的用法和区别...

    JSP:include和include指令区别

    在JavaServer Pages (JSP) 技术中,`&lt;jsp:include&gt;` 和 `&lt;%@ include %&gt;` 是两个用于页面组合的指令,它们虽然都用于将一个或多个文件的内容插入到主页面中,但它们的工作机制和使用场景有所不同。理解这两者的区别...

    jsp的Include方式

    在JSP中,`Include` 方式是实现页面组合的重要技术,它允许我们把多个页面的内容合并到一个主页面中,从而实现代码复用和页面布局的灵活管理。本文将深入探讨JSP的`Include` 方式的概念、类型以及使用方法。 1. **...

    jsp的include的两种用法

    因此,`&lt;%@ include file=” ”%&gt;` 会将被包含文件的实际内容(代码段)参加到当前 JSP 文件中,合成一个文档,然后被 JSP 容器将它转换成 Servlet。 例如,在 test.jsp 文件中,我们可以使用 `&lt;%@ include file=”...

    jsp中include指令静态导入和动态导入的区别详解.docx

    JSP 中 Include 指令静态导入和动态导入的区别详解 JSP 中的 Include 指令可以实现静态导入和动态导入两种方式。静态导入和动态导入是 JSP 中 Include 指令的两种不同的实现方式,它们之间有着明显的区别。 静态...

    jsp include 乱码问题的解决

    在JSP中,`&lt;jsp:include&gt;`标签是用于在页面间进行内容包含的,但有时可能会遇到“乱码”问题,这通常涉及到字符编码的处理。本文将详细解析JSP `include` 乱码问题的成因以及解决方法。 首先,我们要理解乱码产生的...

    2.4 include指令 JSP+AJAX

    2.4 include指令 JSP+AJAX2.4 include指令 JSP+AJAX2.4 include指令 JSP+AJAX2.4 include指令 JSP+AJAX

    JSP基础语法-include指令

    在Java Server Pages(JSP)技术中,`include`指令是一项重要的功能,它允许开发者将一个JSP页面的内容嵌入到另一个JSP页面中,从而实现代码的重用和模块化。通过`include`指令,可以有效地管理大型项目中的公共组件...

    jsp中两种包含关系(include动作和include指令)的区别

    `&lt;%@ include file="..."%&gt;` 是一个JSP指令,它在编译时(页面转换为Servlet时)静态地将一个文件的内容插入到JSP页面中。这意味着被包含的页面只会被包含一次,除非JSP文件重新编译。例如: ```jsp &lt;%@ include ...

    JSP中动态include与静态include的区别介绍

    动态INCLUDE 用法:&lt;jsp page=”included.jsp” flush=”true”&gt; 说明:它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数,先编译之后再进行处理。 原因:1、静态include的结果是把其他jsp引入...

    jsp include文件时的一个乱码解决方法.docx

    在 JSP 开发中,include 文件是一个常用的技术手段,可以将公共的代码或者组件包含到不同的页面中,以提高代码的复用性和维护性。然而,在使用 JSP include 文件时,经常会遇到乱码的问题,尤其是在 Tomcat 服务器上...

    j2ee15:jsp04,session的访问控制,分页查询,page include·

    标题“j2EE15:jsp04,session的访问控制,分页查询,page include”涉及了四个关键的Java Web开发概念。首先,我们来深入理解这些概念: 1. **Session的访问控制**: 在Web应用中,session是用于跟踪用户状态的一种...

    JSP下动态INCLUDE与静态INCLUDE的区别分析

     用jsp:include动作实现 &lt;jsp include page=”included.jsp” flush&gt;它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE   用include伪码实现,定不会检查所含文件的变化,...

    Java Web初级编程:JSP 页面元素.pptx

    Java Web 初级编程 JSP 页面元素 JAVA Web 编程是当前 Web 开发中非常重要的一...Page 指令和 Include 指令是 JSP 页面元素中非常重要的两种指令,它们用于在 JSP 页面中指定不同的指令,以便控制 JSP 页面的行为。

    Java Web 实验四 掌握<jsp:include>动作的使用

    在Java Web开发中,`&lt;jsp:include&gt;`动作是一个非常重要的元素,用于动态地将一个页面包含到另一个页面中。这个动作使得开发者可以实现页面的重用和模块化设计,提高代码的可维护性。本实验的目标是让学生掌握`&lt;jsp:...

    JSP中include指令和include行为的区别

    通常当应用程序中所有的页面的某些部分(例如标题、页脚和导航栏)都相同的时候,我们就可以考虑用include。具体在哪些时候用&lt; %@ include file=” ”%&gt;,哪些时候用&lt; jsp:include page=” ” flush=...

    可以include的jsp独立分页

    有很详细的注释解释,是中国人都应该看的懂,在你需要的分页的页面嵌入这个jsp,通过修改它的默认属性,和使用它的内置方法,就可以达到分页效果,而且可以有自己的样式效果,以下是例子: 你的页面头顶部加入&lt;%@include ...

    JSP常见的三个编译指令page、include、taglib

    jsp中include指令静态导入和动态导入的区别详解JSP编译指令page、include详解JSP中动态include与静态include的区别介绍JSP指令元素(page指令/include指令/taglib指令)复习整理基于jsp:included的使用与jsp:param乱码...

    JSP中include指令静态导入和动态导入的区别.pdf

    在JSP中,`include`指令用于将一个或多个页面的内容合并到主页面中,以实现页面的模块化。这有助于提高代码复用性并简化维护。`include`指令有两种形式:静态导入和动态导入,它们在处理和执行时有所不同。 1. **...

    jsp数据分页源代码

    `&lt;jsp:include&gt;`是一个动作标签,用于在运行时将一个静态或动态资源插入到JSP页面中。 2. **分页原理**: 数据分页通常包括两个主要部分:前端的分页展示和后端的数据查询。前端负责显示分页链接,后端根据用户的...

Global site tag (gtag.js) - Google Analytics