为了实现代码重用,需要将某些代码和数据放在一个或多个Servlet中,以供其他Servlet使用,提供了RequestDispatcher.include方法,首先通过getServletContext方法获取ServletContext对象,然后通过ServletContext.getRequestDispatcher方法获取RequestDispatcher对象。

以下代码中,IncludingServlet类演示了如何使用Include方法包含web资源。

//包含了一个Servlet:IncludedServlet,和一个HTML页面

protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
// 设置Context-type字段值,类型为text/html,编码格式为utf-8
// response.setHeader("Content-type", "text/html;charset:utf-8");
response.setContentType("text/html;charset=utf-8");
// 获取PrintWriter对象
PrintWriter out = response.getWriter();
// response.setCharacterEncoding("UTF-8");
// 向客户端输出信息
out.println("hello world<br/>");
// 向客户端输出请求URI
out.println("Including URI:" + request.getRequestURI() + "<p/>");
// 封装名为IncludedServlet的Servlet
RequestDispatcher rd = this.getServletContext().getRequestDispatcher("/IncludedServlet");
rd.include(request, response);
// 封装名为IncludedHTML.html页面
rd = getServletContext().getRequestDispatcher("/IncludedHTML.html");
rd.include(request, response);
}

1.里面包含两个web资源,映射路径为“/IncludedServlet”的Servlet类和一个名为IncludedHTML.html的静态页面

2.getRequestDispatcher方法的参数值必须以“/”开头。

IncludedServlet类的代码

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//设置Context-type字段值,类型为text/html,编码格式为UTF-8
response.setContentType("text/html;charset=UTF-8");
//获取PrintWriter对象
PrintWriter out=response.getWriter();
//向客户端输出带HTML代码的信息
out.println("<b>crazy</b><br/>");
//向客户端输出请求URI
out.println("IncludedServlet URI:"+request.getRequestURI()+"<p/>");


}

IncludedHTML.html的代码

<!-- 利用表格显示相关信息 -->
<table border="1">
<tr>
<td>name</td>
<td>sex</td>
</tr>
<tr>
<td>zhang</td>
<td>male</td>
</tr>
<tr>
<td>zheng</td>
<td>female</td>
</tr>
</table>

运行结果如图

Servlet---RequestDispatcher.include方法的更多相关文章

  1. 关于“javax.servlet.include.request_uri”属性值 include 请求 RequestDispatcher.include

    在springMVC的DispatcherServlet类的doService方法中有如下代码: 1 2 3 4 5 6 7 8 9 10 if (WebUtils.isIncludeRequest( ...

  2. SpringMVC——使用RequestDispatcher.include()和HttpServletResponseWrapper动态获取jsp输出内容

    介绍本篇内容前,先抛出我遇到的问题或者说是需求!(精读阅读本篇可能花费您15分钟,略读需5分钟左右) 一:需求说明 有一个Controller有两个方法 第一个方法通过指定的路径和参数去渲染jsp内容 ...

  3. JAVA记录-Servlet RequestDispatcher请求转发

    RequestDispatcher接口提供将请求转发送到另一个资源的功能,它可能是html,servlet或jsp等. 此接口也可用于包括另一资源的内容.它是servlet协作的一种方式. 在Requ ...

  4. Servlet RequestDispatcher需要注意的情况

    Servlet RequestDispatcher需要注意的情况: 如果使用getServletContext().getRequestDispatcher("/a.do")得到R ...

  5. Servlet生命周期方法,request.getRequestDispatcher

    1,request.getRequestDispatcher 方法全称javax.servlet.ServletRequest.getRequestDispatcher(String) 2,在web. ...

  6. Servlet体系及方法

    时间:2016-11-11 15:07 --Servlet体系Servlet(interface):    实现类:GenericServlet.HttpServletServletConfig(in ...

  7. 《Entity Framework 6 Recipes》中文翻译系列 (26) ------ 第五章 加载实体和导航属性之延缓加载关联实体和在别的LINQ查询操作中使用Include()方法

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 5-7  在别的LINQ查询操作中使用Include()方法 问题 你有一个LINQ ...

  8. WEB启动时就加载servlet的dopost方法

    web启动的时候可以加载servlet的init方法,无法加载dopost方法,如果你需要什么内容在启动的时候执行,可以将内容放到init方法里面,dopost方法,是在客户端使用post请求的时候才 ...

  9. Servlet的init()方法如何才会在服务器启动时执行

    如果要想让 servlet 的 init () 方法在服务器启动 时就被执行,则需要在 web.xml 中相应的 servlet 下配置 <servlet > <servlet -n ...

随机推荐

  1. Ubuntu导入证书

    (*.cer) 首先我们得进入JAVA_HOME目录(查看/etc/profile文件),然后进去以下路径/opt/jdk1.5.0_11/jre/lib/security/ 将证书放进去,假如说是1 ...

  2. iframe用法总结

    <iframe>是框架的一种形式,也比较常用到. 例子1. <iframe width=420 height=330 frameborder=0 scrolling=auto src ...

  3. DIV的不能包住子集解决办法

    在div的样式中加上:overflow:hidden,或者float:left或right

  4. JSP之->初识JSP

    JSP 引用百度百科的介绍: JSP(Java Server Pages)是由Sun Microsystems公司倡导.许多公司参与一起建立的一种动态网页技术标准.JSP技术有点类似ASP技术,它是在 ...

  5. scanf_s 可能会出现的死循环

                                        VS2015中提供了scanf_s().在调用时,必须提供一个数字以表明最多读取多少位字符. scanf_s("%s& ...

  6. 黑马程序员——OC语言基础语法 面向对象的思想

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结)(一)基础语法 1)关键字 @interface.@implementati ...

  7. 例子:Basic Lens sample

    本例演示了如何自己扩展一个Camera Lens. 1. UI界面是一个MediaViewer <controls:MediaViewer x:Name="MediaViewer&qu ...

  8. Object方法equals、hashCode

    java知识背景: 1)hashCode()方法返回的是Jvm的32位地址 2)==比较的是对象在jvm中的地址 3)Object的equals()比较的就是jvm物理地址 4)比较2个对象使用equ ...

  9. VMware Workstation安装MAC OS X系统

    http://jingyan.baidu.com/article/ff411625b9011212e48237b4.html

  10. JQ对象到底是什么

    jQuery对象是什么,举个例子,$('#id') 返回的就是jQuery对象,这个东西是整个jQuery的核心所在,所以我先来分析它. var jQuery = function( selector ...