RequestDispatcher接口

  public interface RequestDispatcher

  一、介绍

  定义一个对象,从客户端接收请求并将其发送到服务器上的任何资源(例如servlet,HTML文件或JSP文件)。

  servlet容器创建RequestDispatcher对象,该对象用作位于特定路径或特定名称的服务器资源的包装。

  此接口旨在包装servlet,但servlet容器可以创建RequestDispatcher对象以包装任何类型的资源。

  获取此对象的方法:

  • ServletContext.getRequestDispatcher(java.lang.String)
  • ServletContext.getNamedDispatcher(java.lang.String)
  • ServletRequest.getRequestDispatcher(java.lang.String)

  二、属性

  好多属性,关于URI,关于path

  三、方法

  1、void forward(ServletRequest request,ServletResponse response) throws ServletException, IOException

  将来自servlet的请求转发到服务器上的另一个资源(servlet,JSP文件或HTML文件)。此方法允许一个servlet对请求和另一个资源进行初步处理以生成响应。

  对于通过getRequestDispatcher()获取的RequestDispatcher,ServletRequest对象将其路径元素和参数调整为匹配目标资源的路径。

  forward()应在响应提交给客户端之前调用(在响应正文输出刷新之前)。如果响应已被提交,则此方法将引发IllegalStateException。在转发之前,响应缓冲区中未提交的输出会自动清除。

  请求和响应参数必须与传递给调用Servlet的service方法的对象相同,或者是包装它们的ServletRequestWrapper或ServletResponseWrapper类的子类。

  此方法将给定请求的调度程序类型设置为DispatcherType.FORWARD。

  2、void include(ServletRequest request, ServletResponse response) throws ServletException, IOException

  在响应中包含资源 (servlet、JSP 页、HTML 文件) 的内容。实质上, 此方法启用编程服务器端包含。

  ServletResponse 对象的路径元素和参数与调用者。包含的 servlet 不能更改响应状态代码或设置标头; 否则为任何进行更改的尝试都将被忽略。

  请求和响应参数必须与传递给调用 servlet 的服务方法的对象相同, 或者是包装它们的 ServletRequestWrapper 或 ServletResponseWrapper 类的子类别。

  此方法将给定request的调度器类型设置为 DispatcherType. INCLUDE。

 

Java EE javax.servlet中的RequestDispatcher接口的更多相关文章

  1. Java EE javax.servlet中的ServletContext接口

    ServletContext接口 public interface ServletContext (https://docs.oracle.com/javaee/7/api/javax/servlet ...

  2. Java EE javax.servlet中的ServletResponse接口

    ServletResponse接口 public interface ServletResponse 子接口:HttpServletResponse 实现类:HttpServletResponseWr ...

  3. Java EE javax.servlet中的ServletRequest接口

    ServletRequest接口 public interface ServletRequest 子接口:HttpServletRequest 实现类:HttpServletRequestWrappe ...

  4. Java EE javax.servlet中的ServletConfig接口

    ServletConfig接口 public interface ServletConfig 实现类:GenericServlet.HttpServlet 一.介绍 一个供servlet容器使用配置对 ...

  5. Java EE javax.servlet中的Servlet接口

    Servlet接口 public interface Servlet 其实现类有:FaceServlet.GenericServlet.HttpServlet 一.介绍 Servlet接口定义了所有s ...

  6. Java EE javax.servlet.http中的HttpSession接口

    HttpSession接口 public interface HttpSession (https://docs.oracle.com/javaee/7/api/javax/servlet/http/ ...

  7. Java EE javax.servlet.http中的HttpRequest抽象类

    HttpRequest抽象类 public abstract class HttpServlet extends GenericServlet 实现的接口有:Serializable, Servlet ...

  8. Java EE javax.servlet ServletContainerInitializer接口

    ServletContainerInitializer接口 public interface ServletContainerInitializer 一.介绍 该接口,允许在 web 应用程序的启动阶 ...

  9. Java EE之Servlet

    1.创建Servlet类 Servlet在Java EE API规范中的定义: Servlet是一个运行在Web服务器中的Java小程序.Servlet将会接收和响应来自Web客户端的请求,使用HTT ...

随机推荐

  1. IntelliJ IDEA利用Maven下载所需的JAR包到项目中

    直接复制JetBrains/../conf/settings.xml后修改镜像出现问题,然后用了这里的settings.xml配置文件.

  2. linux 部署jar

    Linux 运行jar包命令如下: 方式一: java -jar xxx.jar 这种方式特点是ssh窗口关闭时,程序中止运行.或者是运行时没法切出去执行其他任务,有没有办法让Jar在后台运行呢: 方 ...

  3. Netfilter 之 iptable_nat

    初始化 iptable_nat_table_init函数通过调用ipt_register_table完成NAT表注册和钩子函数注册的功能:该流程与iptable_filter的函数调用的函数一致,此处 ...

  4. DS博客作业04--树大作业

    1.树的存储结构 本组采用的树的存储结构为链式结构,选择如图所示的结构体 Name为结点的名称 LevelNum为孩子节点的个数 *Children[20]用来指向不同的孩子结点(类似于二叉树的结构体 ...

  5. Java中的<< 和 >> 和 >>> 分析理解

    Java中的<< 和 >> 和 >>> 详细分析 <<表示左移移,不分正负数,低位补0: 注:以下数据类型默认为byte-8位 左移时不管正负,低 ...

  6. CDN之简介

    1. 什么是 CDN? 来自 <什么是 CDN?> CDN(内容交付网络)是一种高度分布式服务器平台,为交付 Web 应用程序.流媒体等内容专门优化.服务器网络分布于众多物理和网络位置,对 ...

  7. shell远程操作另外一台机器上数据

    shell远程操作另外一台机器上的数据,有两种方式: 1 .配置免密登陆,2.使用sshpass 当前存在两台虚拟机,ip地址分别为:192.168.3.32 192.168.3.33 一.免密登陆操 ...

  8. 苹果电脑(Macbook Pro)开机后没有声音的解决

    有时候 Mac 从睡眠状态恢复之后没有声音,这是 Mac OS X 系统的一个 Bug.这是因为 Mac OS X 的核心音频守护进程「coreaudiod」出了问题,虽然简单的重启电脑就能解决,但是 ...

  9. 自动化部署 jenkins 插件简介

    一.什么是持续集成? (1)Continuous integration(CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集 ...

  10. Git(3):分支管理

    Git 分支管理 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作. 创建分支命令 $git branch <branch n ...