在web应用的web.xml中配置filter,使返回的头信息中允许跨域访问。
刚开始尝试的是将filter的配置放入到tomcat的web.xml中,但是不起作用。
配置filter时注意filter的顺序,如果不起作用,可将filter的顺序向前调整,因为tomcat加载filter时是有顺序的。
配置如下
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
<init-param>
<param-name>cors.allowGenericHttpRequests</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cors.allowOrigin</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.allowSubdomains</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cors.supportedMethods</param-name>
<param-value>GET, POST, HEAD, PUT, DELETE</param-value>
</init-param>
<init-param>
<param-name>cors.supportedHeaders</param-name>
<param-value>*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
之后将cors-filter-1.7.jar和java-property-utils-1.9.jar放入到tomcat的lib目录下。
重启tomcat即可。