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. Linux设备驱动程序 之 open和release

    open方法 open方法提供给驱动程序以初始化的能力,在大部分驱动程序汇总,open应该完成以下工作: 1. 检查特定设备的错误,如设备为准备就绪或者硬件问题: 2. 如果设备是首次打开,则对其进行 ...

  2. Python 串口通讯

    摘要: pyserial module: https://github.com/tbusf/pyserial Python使用pyserial进行串口通信:http://blog.csdn.net/l ...

  3. react 闲谈

    从事前端一段时间了,公司用的框架都是vue,但是不知为何对react却情有独钟,这是不是所谓的吃着碗里的看着锅里的 哈哈哈 从头好好总结下react吧 小白一个 大神勿喷 瞎说一 react是由两部分 ...

  4. ObjectId初探

    ObjectId MongoDB每个集合存储的每个文档必须有一个"_id"键,默认是个ObjectId对象. "_id"作为当前文档在集合的唯一标识. 71st ...

  5. 更改mysql 数据库 utf8

    mysql> alter database 数据库名 character set utf8;

  6. 关于虚拟机可以ping通本机,本机可以ping通虚拟机,但是虚拟机就是不能上网

    1  需要确定虚拟的防火墙已经关闭 2 修改vi /etc/sysconfig/network-scripts/ifcfg-eth0配置文件  增加以下参数 BOOTPROTO=none------- ...

  7. 如何写resultful接口

    一.协议 API与客户端用户的通信协议,总是使用HTTPS协议,以确保交互数据的传输安全. 二.域名 应该尽量将API部署在专用域名之下: https://api.example.com 如果确定AP ...

  8. Spring-Kafka —— 消费重试机制实现

    消息处理问题 在从Kafka主题接收消息之后立即处理消息的消费者的实现非常简单.不幸的是,现实要复杂得多,并且由于各种原因,消息处理可能会失败.其中一些原因是永久性问题,例如数据库约束失败或消息格式无 ...

  9. TextInput组件的常用属性

    1.TextInput组件基本介绍: TextInput是一个允许用户在应用中通过键盘输入文本的基本组件.本组件的属性提供了多种特性的配置,譬如自动完成.自动大小写.占位文字,以及多种不同的键盘类型( ...

  10. Python multiprocess模块(上)

    multiprocess模块 一. Process模块介绍 1. 直接使用Process模块创建进程 (1)主进程和子进程 (2)if __name__ == "__main__" ...