Dispatch 方法

可以使用 AsyncContext 中下面的方法来转发请求:

dispatch(path)

这个 dispatch 方法的 String 参数描述了一个在 ServletContext 作用域中的路径。这个路径必须是相对于 ServletContext 的根路径并以’/’开头。

dispatch(servletContext, path)

这个 dispatch 方法的 String 参数描述了一个在 ServletContext 指定作用域中的路径。这个路径必须是相对于 ServletContext 的根路径并以’/’开头。

dispatch()

这个方法没有参数,它使用原来的URI路径。如果 AsyncContext 已经通过 startAsync(ServletRequest, ServletResponse) 初始化,且传递过来的请求是 HttpServletRequest 的实例,那么这个请求分发到HttpServletRequest.getRequestURI() 返回的 URI。否则转发到容器最后一次转发的URI。

AsyncContext 接口中的 dispatch 方法可被等待异步事件发生的应用程序调用。如果 AsyncContext 已经调用了 complete() 方法,必须抛出IllegalStateException 异常。所有不同的 dispatch 方法会立即返回并且不会提交响应。

请求对象暴露给目标 servlet 的路径元素(path elements)必须反映AsyncContext.dispatch 中指定的路径

查询字符串

请求调度机制是在调度请求时负责聚焦(aggregating)查询字符串。

调度请求参数

使用 AsyncContext 的 dispatch 方法调用过的 servlet 能够访问原始请求的路径。

下面的request属性必须设置:

javax.servlet.async.request_uri

javax.servlet.async.context_path

javax.servlet.async.servlet_path

javax.servlet.async.path_info

javax.servlet.async.query_string

这些属性的值必须分别与 HttpServletRequest 的 getRequestURI、getContextPath、 getServletPath、getPathInfo、getQueryString 方法的返回值相等,这些方法在从客户端接收到的请求对象上调用,值传递给调用链中的第一个 servlet 对象。

这些属性都可以从分发的 servlet 通过请求对象的 getAttribute 方法获得。注意,这些属性必须反映原始请求中的信息,甚至是多个分发的情况。

java dispatch_Dispatch 方法相关推荐

  1. 零基础全方位学习java的方法

    java技术岗是一个就业率非常高的岗位,因此有很多人都想要学习java技术,其中不乏一些零基础同学,零基础小白都不清楚自己该如何学习java,那么下面小编就为大家详细的介绍一下零基础全方位学习java ...

  2. 几种任务调度的 Java 实现方法与比较

    综观目前的 Web 应用,多数应用都具备任务调度的功能.本文由浅入深介绍了几种任务调度的 Java 实现方法,包括 Timer,Scheduler, Quartz 以及 JCron Tab,并对其优缺 ...

  3. 2021-02-23关于java的方法区,为什么叫方法区,是否与实际用途相悖?

    关于java的方法区,为什么叫方法区,是否与实际用途相悖? 在java中,栈中存放的是用来保存方法运行时状态的栈帧,存储了局部变量表,操作数栈等,而方法区存放的是已加载的类的基本信息.常量.静态变量等 ...

  4. 大数据笔记2019.5.9 Java中方法的使用

    方法: 1.方法的概念:(函数/过程) 封装了一段特定的业务逻辑功能 尽可能的独立,一个方法只让干一件事: 方法可以被反复的重新的调用 减少代码的重复,有利于代码的维护,减少团队开发的成本提高开发的效 ...

  5. java ubuntu 14.04,Ubuntu 14.04安装java的方法

    摘要 腾兴网为您分享:Ubuntu 14.04安装java的方法,掌上电力,虚拟按键,新东方,小度等软件知识,以及公务用车平台,手机秀色直播,新视觉影院,浩辰cad批量打印,bartender2016 ...

  6. java中方法的参数传递

    java中方法的参数传递方式只有一种:值传递: 对于基本类型来说,传递的是实参的副本(值传递),故在方法内修改传递进来的值并不会影响实参本身: 对于引用类型来说,传递进来的是引用变量的副本(也是值传递 ...

  7. Java中方法重载和方法重写的区别

    文章目录 1 Java中方法重载和方法重写的区别 1 Java中方法重载和方法重写的区别 主要区别如下: 方法重载: 在同一个类中 方法名相同 参数个数.顺序.类型不同 返回值类型.访问修饰符任意 方 ...

  8. java中que_重写java Eques()方法-不工作吗?

    重写java Eques()方法-不工作吗? 我遇到了一个有趣的(非常令人沮丧的)问题equals()方法,它导致了我认为经过良好测试的类崩溃,并导致了一个错误,我花了很长时间才找到它. 为了完整起见 ...

  9. 几种任务调度的 Java 实现方法与比较--转载

    前言 任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务.本文由浅入深介绍四种任务调度的 Java 实现: Timer ScheduledExecutor 开源工具包 Quartz ...

  10. Java 获得方法调用者名称

    2019独角兽企业重金招聘Python工程师标准>>> Java 获得方法调用者名称 博客分类: java public static void getMSG() {StackTra ...

最新文章

  1. java final关键字_终于明白 Java 为什么要加 final 关键字了!
  2. 快速打开IIS的方法
  3. 不修改数组找出重复的数字
  4. java并发中的Synchronized关键词
  5. 同类型的mapping不上
  6. LeetCode 788. Rotated Digits
  7. 笔记本删除隐藏分区 释放固态硬盘空间
  8. 静态方法和类方法之间的区别
  9. Sprintf函数用法
  10. 计算机辅助设计和工程图学,工程制图与计算机辅助设计
  11. asp.net单点登录
  12. 实习期间的一些思考整理(1)2018.4.8~4.9
  13. 什么是TorchScript
  14. 赵小楼《天道》《遥远的救世主》解读(40)芮伟峰的“父爱”和芮小丹的“活出自我”
  15. DM数据库:dm.ini参数(一)
  16. cad命令栏怎么调出来_期货文华软件K线图上随着最新价格跳动的黄虚线怎么调出来...
  17. 绝地求生——PUBG吃鸡游戏模糊,画质很差
  18. linux系统如何卸载所有程序,Linux系统中完全卸载删除程序的命令
  19. 外贸人如何快速熟悉行业产品?
  20. 《Kotlin实战》读书笔记第二章

热门文章

  1. 算法笔记方法论4 枚举法 详细笔记
  2. 开发常用的google插件
  3. 2012 windows 端口聚合_如何在WindowsServer2012中实现NIC组合
  4. BubbleGum96 开箱杂谈与软件资源
  5. 建立一个学生的简单信息表 c语言,简单的学生信息表
  6. 【stata】如何快速上手stata软件
  7. 图片马赛克去除工具_黑科技!利用 AI 技术,马赛克终于可以去掉了
  8. win7配置TomCat环境
  9. 安卓图片轮播(banner)
  10. 胃溃疡能通过食疗自愈吗?