不使用Servlet过滤器,是否可以配置Tomcat 9.0.12(也许通过catalina.properties
)以允许所有CORS请求,所有标头以及几乎每个请求?
答案 0 :(得分:0)
Tomcat通过添加CorsFilter确实支持CORS。 在下面的示例中,配置足够灵活以拦截所有请求(请注意url-pattern):
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
现在,这显然必须在Web应用程序级别(Web应用程序的web.xml中的更改)完成。
如果要“全局”应用此过滤器(针对可能部署在tomcat上的所有WAR),则可以选择配置tomcat本身,以便它将捕获所有可能的HTTP请求:
将上述配置添加到conf/web.xml
中,就可以完成。
旁注:
如果您扩展了此过滤器或其他内容,并且由于某些原因需要一些其他依赖,则它们当然不会出现在WAR中,而必须位于tomcat本身的类路径中,因此请将所需的库放入{{1} }文件夹(同样,仅当您需要类似的东西时)