最近需要写个接口给外包的php调用,其中涉及到ajax跨域调用接口时响应不返回信息的问题,因为我的接口是用httpservlet写的,因此想到用第三方jar包用配置的方式解决跨域问题,第三方jar包为 cors-filter-1.7.jar,下载下来引入到项目即可,然后在web.xml配置文件中配置相关filter,配置如下:
很简单,完成上面的配置即可解决ajax的跨域问题。
<!-- CORS Filter ajax跨域问题-->
<filter>
<filter-name>CORS Filter</filter-name>
<filter-class>com.thetransactioncompany.cors.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,Authorization</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CORS Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
很简单,完成上面的配置即可解决ajax的跨域问题。