web3.0之后新增一个<async-supported>的属性,支持web.xml中filter添加 <async-supported>标签。
标准情况下只要Tomcat7.0+ JDK1.6+就可以支持该功能,然后这次遇到Tomcat启动报无法识别该属性的问题,花费了很长时间定位,这里记录一下原因。
tomcat启动参数中添加的一个参数 : JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=true"
就是该参数最终导致了Tomcat无法识别<async-supported>标签,war包启动失败。
在Tomcat官方文档中查询了一下(https://tomcat.apache.org/tomcat-8.5-doc/config/context.html),该参数的解释如下:
The default value of this system property is false.
If this is true the default values will be changed for:
org.apache.catalina.core.
ApplicationContext.GET_RESOURCE_REQUIRE_SLASH
org.apache.catalina.core.
ApplicationDispatcher.WRAP_SAME_OBJECT
org