在Spring MVC中测试Servlet3.0异步

本文探讨了SpringMVC项目中异步请求的实现方式,包括Servlet3.0异步支持的两种配置方法:通过web.xml设置和在请求中设置属性;并介绍了如何在SpringMVC中配置异步支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在Spring MVC项目需要用到异步请求,所以准备测试一下Spring MVC的异步支持以及Servlet 3.0异步支持有何不同。

1.在开启Servlet 3.0异步支持的时候有两种方法

a.通过在web.xml中的Servlet及filter中设置

<servlet>
  <servlet-name>dispatcher</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
  <async-supported>true</async-supported>
</servlet>
<filter>
  <filter-name>encodingFilter</filter-name>
  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  <async-supported>true</async-supported>
</filter>

b.在请求中设置servlet请求的属性

req.setAttribute("org.apache.catalina.ASYNC_SUPPORTED", true);
AsyncContext ctx = req.startAsync();
new Thread(new Executor(ctx)).start();
Executor类继承Runnable,实现run方法处理异步的业务逻辑。
2.在Spring MVC中开启支持在Web.xml中的Servlet及Filter中都要同时配置
<async-supported>true</async-supported>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值