Servlet异步处理的应用

Servlet异步处理的应用

更新时间:2017年04月08日

  • 网盘提取码:gtar
  • 适合对象:Java学员、Java爱好者、开发人员
  • qq号:2158476996
一键免费下载

下载介绍

更多>>
Servlet异步处理的应用

Servlet3.0 中,ServletRequest 中提供了一个方法用于获取异步上下文对象。

startAsync 原型:AsyncContext startAsync()throws java.lang.IllegalStateException 意义:获取当前请求的异步上下文对象。 

startAsync 原型:AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) throws java.lang.IllegalStateException 意义:获取指定请求的异步上下文对象。 AsyncContext 是从 Servlet3.0 开始定义的 javax.servlet 包中的一个接口,该接口是实现 Servlet 异步的核心 API。常用的方法有: 

start 原型:void start(java.lang.Runnable run) 意义:开启异步子线程 

addListener 原型:void addListener(AsyncListener listener) 意义:为异步线程添加监听器。该监听器用于监听异步线程的启动、完成、出错、超时事件。 3.3.5 setTimeout 原型:void setTimeout(long timeout) 意义:设置异步操作的超时时限。当到达超时时限,异步 Servlet 主线程将向客户端浏览器 发送响应,不再等待异步子线程的执行。

dispatch 原型:void dispatch(String path) 意义:该方法若使用在异步线程中,其执行相当于 ServletRequest 的 RequestDispacher 对象 的 include()方法的执行效果。即,将指定 path 页面中的数据写入到当前异步 Servlet 主线程 的响应流中,并结束异步线程。在异步线程执行过程中,Servlet 主线程会被阻塞,被占用。 该方法若使用在异步 Servlet 中,则会直接结束 Servlet 主线程,无论异步线程执行情 况如何。同时也会销毁异步对象,销毁请求 request 对象,向客户端响应后销毁响应 response 对象。但不会影响异步线程的执行。

complete 原型:void complete() 意义:结束异步操作,关闭标准输出流。 

getRequest 原型:ServletRequest getRequest() 意义:获取当前的请求对象。

getResponse 原型:ServletResponse getResponse() 意义:获取当前请求的响应对象。

Java相关视频锦集

返回顶部