做视频文件上传一直报这个错误:
java.lang.IllegalStateException: A filter or servlet of the current chain does not support asynchronous operations.
后来在网上查了原因分析如下:主要是 为servlet或者filter设置启用异步支持:<async-supported>true</async-supported>
1、
如果使用web.xml设置过滤器,则可以设置<async-supported>标签为true:
<filter>
<filter-name>AsyncFilter</filter-name>
<filter-class>cc.openhome.AsyncFilter</filter-class>
<async-supported>true</async-supported>
</filter>
2、
使用@WebServlet来标注,则可以设置其asyncSupported为true。
例如: @WebServlet(urlPatterns = "/some.do", asyncSupported = true)
若其前端有过滤器,则过滤器亦需标示其支持异步处理,如果使用@WebFilter,同样可以设置其asyncSupported为true。
例如: @WebFilter(urlPatterns = "/some.do", asyncSupported = true) public class AsyncFilter implements Filter{ ...
总结了方法进行检查,有一个编码的过滤一直被我忽略了 <filter-name>encodingFilter</filter-name>对其也设置了<async-supported>true</async-supported> 。
重启问题,ok不报错了!