xml配置跨域
在XML配置中,可以通过添加以下代码来实现跨域请求:
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.headers</param-name>
<param-value>Content-Type,X-Requested-With,Accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>
</init-param>
<init-param>
<param-name>cors.support.credentials</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cors.preflight.maxage</param-name>
<param-value>1800</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
上述代码将CorsFilter过滤器应用到所有URL上,并允许所有来源(cors.allowed.origins设置为*)。您也可以将其设置为特定的来源,例如http://example.com。
此外,还可以通过cors.allowed.methods参数指定允许的请求方法,通过cors.allowed.headers参数指定允许的请求头,通过cors.support.credentials参数来控制是否支持凭据(如cookies、授权头等),通过cors.preflight.maxage参数指定预检请求的最大缓存时间。
以上代码使用了Apache Tomcat的CorsFilter过滤器,如果您使用的是其他容器,可能需要使用相应的跨域解决方案
原文地址: http://www.cveoy.top/t/topic/i0Tz 著作权归作者所有。请勿转载和采集!