web.xml中支持异步的目的是什么?

jia*_*afu 38 java asynchronous web.xml servlets

<servlet>
        <description>xxx</description>
        <servlet-name>xxx</servlet-name>
        <servlet-class>com.xxx.yyy</servlet-class>
        <async-supported>true</async-supported>
</servlet>
Run Code Online (Sandbox Code Playgroud)

async-supportedservlet的web.xml配置文件的目的是什么?我可以在什么情况下使用它?

Aci*_*ier 49

具有讽刺意味的是,我正在寻找如何在tomcat的web.xml中编写此属性的语法,这是我从谷歌打开的第一个搜索项 - 它也是正确编写的(它有效),谢谢.

但是,为了回答您的问题,这允许servlet存储传入的请求以供以后响应.它释放了用于处理请求的线程,因此可以在其他地方使用它,直到服务器准备好发送响应.

出于实际目的,使用此配置,您可以设置一个servlet,该servlet将(实际上)数据送到客户端(在客户端将初始请求发送到服务器之后).

该技术取代了客户端不必要的定时请求,以获取可能以不确定的间隔变化的数据.它通过不挂在线程上以可扩展的方式完成它.


一些示例用例包括:

聊天应用程序,当一个客户端键入消息时,您希望它立即显示给另一个客户端.

电子邮件应用程序,允许客户端在电子邮件服务器收到电子邮件后立即查看电子邮件.

我还使用它从编程逻辑控制器向浏览器发送输入更改更新,以实现自动化任务.

这是一个很好的教程.也包括java中的一些螺母和螺栓.

  • 注意:如果有任何过滤器映射到您的异步请求,那么每个过滤器在其`<filter>`部分中也需要`<async-supported> true </ async-supported>` (8认同)