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. vue 循环Redio

    标准用法,做个笔记.(图示是elementUI,其他框架大同小异) <el-radio-group @change="changePayHandler" v-model=&q ...

  2. 预处理、const、static与sizeof-为什么要引入内联函数

    1:引入内联函数的主要目的是,用它替代C语言中表达形式的宏定义来解决程序中函数调用的效率问题.在C语言里可以使用如下的宏定义: #define ExpressionName(Var1,Var2) (V ...

  3. golang——写文件和读文件

    之前聊过,操作文件——读写文件,直接调用接口即可. 如果是一直写入操作,写入操作一直进行的,免不了会有,有时一大批数据过来,有时没有一条数据. 鉴于此场景,选择用select....channel 的 ...

  4. mybatis 操作其他数据库的数据表

    配置文件里面配置的数据库只是默认数据库,并不是只能操作默认数据库.(被自己蠢死了,唉) 1. 注解方式 使用BaseMapper方式操作数据表时,在表对应的实体类上的 @table 注解描述表名时加上 ...

  5. react-redux学习初步总结

    1.index.js文件中需要引入 a.React(把jsx编译到js需要调用一个函数, 这个函数在React叫React.createElement. 解答地址:https://segmentfau ...

  6. LC 275. H-Index II

    Given an array of citations sorted in ascending order (each citation is a non-negative integer) of a ...

  7. React Native布局详解

    Flexbox 布局 Flex有两个属性:Container  和 Item flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性.采用fle ...

  8. JVM菜鸟进阶高手之路一[z]

    https://mp.weixin.qq.com/s/qD1LFmsOiqZHD8iZX97OfA? 问题现象 代码如下,使用 ParNew + Serial Old 回收器组合与使用 ParNew ...

  9. OpenAPI规范入门

    由于API对于我们的软件运行方式至关重要,因此记录我们的API对于确保我们大型IT组织中的每个人都了解正在发生的事情至关重要,这就是我们使用OpenAPI来帮助记录API规范的原因. 在本文中,我将向 ...

  10. layui上传文件前加入确认提示

    //上传文件 upload: function () { layui.use('upload', function () { var upload = layui.upload; //执行实例 var ...