首页 > 编程语言 >springmvc 开启异步请求报错 Java code using the Servlet API or by adding "true" to servlet and fil

springmvc 开启异步请求报错 Java code using the Servlet API or by adding "true" to servlet and fil

时间:2023-08-16 16:46:59浏览次数:48  
标签:xml web code servlet springframework filter 报错 true

报错内容:

java.lang.IllegalStateException: Async support must be enabled on a servlet and for all filters involved in async request processing. This is done in Java code using the Servlet API or by adding "true" to servlet and filter declarations in web.xml.

解决方法:

需要在web.xml 的filter 和DispatcherServlet 中配置  

<async-supported>true</async-supported>

官网地址:https://docs.spring.io/spring-framework/reference/web/webmvc/mvc-ann-async.html

如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 3          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd
 4 http://xmlns.jcp.org/xml/ns/javaee " version="4.0">
 5     <filter>
 6         <filter-name>CharacterEncodingFilter</filter-name>
 7         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
 8         <async-supported>true</async-supported>
 9         <init-param>
10             <param-name>encoding</param-name>
11             <param-value>utf-8</param-value>
12         </init-param>
13     </filter>
14     <filter-mapping>
15         <filter-name>CharacterEncodingFilter</filter-name>
16         <url-pattern>/*</url-pattern>
17     </filter-mapping>
18     <context-param>
19         <param-name>contextConfigLocation</param-name>
20         <param-value>classpath:spring.xml,classpath:shiro.xml,classpath:task.xml</param-value>
21     </context-param>
22     <listener>
23         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
24     </listener>
25     <servlet>
26         <servlet-name>springDispatcherServlet</servlet-name>
27         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
28         <async-supported>true</async-supported>
29         <init-param>
30             <param-name>contextConfigLocation</param-name>
31             <param-value>classpath:springmvc.xml</param-value>
32         </init-param>
33         <load-on-startup>1</load-on-startup>
34     </servlet>
35     <servlet-mapping>
36         <servlet-name>springDispatcherServlet</servlet-name>
37         <url-pattern>/</url-pattern>
38     </servlet-mapping>
39     <!-- 404错误 -->
40     <error-page>
41         <error-code>404</error-code>
42         <location>/404.jsp</location>
43     </error-page>
44 
45     <filter>
46         <filter-name>HiddenHttpMethodFilter</filter-name>
47         <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
48         <async-supported>true</async-supported>
49     </filter>
50     <filter-mapping>
51         <filter-name>HiddenHttpMethodFilter</filter-name>
52         <url-pattern>/*</url-pattern>
53     </filter-mapping>
54     <!-- 添加日志监听器 -->
55     <context-param>
56         <param-name>logbackConfigLocation</param-name>
57         <param-value>classpath:logback.xml</param-value>
58     </context-param>
59     <listener>
60         <listener-class>ch.qos.logback.ext.spring.web.LogbackConfigListener</listener-class>
61     </listener>
62     <!-- shiro 配置 start-->
63     <filter>
64         <filter-name>shiroFilter</filter-name>
65         <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
66         <async-supported>true</async-supported>
67         <init-param>
68             <param-name>targetFilterLifecycle</param-name>
69             <param-value>true</param-value>
70         </init-param>
71     </filter>
72 
73     <filter-mapping>
74         <filter-name>shiroFilter</filter-name>
75         <url-pattern>/*</url-pattern>
76     </filter-mapping>
77     <!-- shiro 配置 end-->
78 
79 
80 </web-app>

 

标签:xml,web,code,servlet,springframework,filter,报错,true
From: https://www.cnblogs.com/lixiuming521125/p/17622238.html

相关文章

  • vscode1.80.2 Install terminal quit with output: 过程试图写入的管道不存在
    莫名其妙的错误。如果你尝试了各种修改密钥认证方法,修改密码,修改文件权限都不行,那恭喜你,大家同道中人,遇到了同一个错误。修改ssh的config文件,一般在你的.ssh路径下,windows是C:\Users\用户名\.ssh\config,linux是~/.ssh/config。如果是从code界面上打开,是在远程资源管......
  • vnc Unable to licence server: "XML error 0:0 Error: First Tag not found"问题的解
    windows上安装了vncserver,本来每天访问很正常,忽然一天无法访问了。没办法只能卸载重装。但是发现重装以后,不会自动弹出对话框提示输入注册码。手工触发“EnterVNCServerlicensecode”,提示"XMLerror0:0Error:FirstTagnotfound"。调查后,发现是因为windowseventlog这......
  • Educational Codeforces Round 107 (Rated for Div. 2)
    EducationalCodeforcesRound107(RatedforDiv.2)A-ReviewSite思路:数1和3的个数#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong//#defineint__int128#definedoublelongdoubletypedefpair<int,int>PII;typedefpair&l......
  • 漏洞复现-深信服DC数据中心管理系统 XML注入漏洞
    0x01产品简介深信服是数据中心管理系统是DC为AC饿外置数据中心,主要用于海量日志数据的异地扩展备份管理,多条件的组合的高效查询,统计和趋势报表生成,设备运行状态监控等功能。0x02漏洞概述深信服是数据中心管理系统DC存在xml外部实体注入漏洞。由于后端对传入的xml对象进......
  • 报错TypeError: Cannot read properties of null (reading 'length')
    可能是某个数组属性不存在,但是判断了他的长度,比如下方代码<templatev-if="arr.length"><divv-for="(item,idx)inarr":key="idx">{{item}}</div></template>解决方法  v-if="arr......
  • vscode提取扩展时出错XHR failed
    0前言  今天在vscode中安装插件的时候,出现“vscode提取扩展时出错XHRfailed”错误,接着查了一些资料,大部分都解释是代理的问题,我试了下关闭代理服务器,发现问题解决了。代理!代理!代理!1XHR是什么?1.1概念全称为XMLHttpRequest,用于与服务器交互数据,是ajax功能实现所依......
  • 【YOLOv5】一些网上找不到答案的报错解决方案
    AssertionError:Labelclass4exceedsnc=4in/xxxxxx解决方法原因一般是由于数据集的标签文件出现的类别数与自己设置的nc类别数不符。例如我原本要检测5类目标,则标签序号为0、1、2、3、4,nc数设置为5,如图:而‘4’这一类mAP太低,所以想去掉,于是只把nc数改为4,所以出现报错。......
  • 判断文件是否是XML格式以及判断字符串是否是XML格式
    首先截取文件后缀名。后缀是XML文件再进入此判断,避免不必要的资源占用。/***判断一个文件是否是XML文件**@paramfile*@return*/privatestaticbooleanisXmlDocument(Filefile){booleanflag;try{DocumentBuilderFactoryfactory=Docume......
  • 2023-08-16 flutter之执行命令【flutter doctor】报错:Android sdkmanager tool not fo
    步骤如下: 注:请确保你有足够的空间安装并运行as工具。 ......
  • LeetCode 714.买卖股票的最佳时机含手续费
    1.题目:给定一个整数数组 prices,其中 prices[i]表示第 i 天的股票价格;整数 fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。注意:这里的一笔交易......