近期正好在做一个系统功能,业主希望可以通过公众号访问操作部分简单功能,所以设计后选择连接跳转到静态移动页面的方式。在部署时选择tomcat容器,结果测试的时候发现了跨域问题,要解决此类问题的话,需要以下操作:
1.首先F12打开网页控制台,确认报错是因为跨域原因。
2.在tomcat中的lib文件夹下增加两个jar包。cors-filter-2.4.jar和java-property-utils-1.9.1.jar
3.修改tomcat里面conf文件夹下的web.xml文件,添加内容:
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
<init-param>
<param-name>cors.allowOrigin</param-name>
<param-value>*</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>Accept,Origin,X-Requested-With,Content-Type,Last-Modified</param-value>
</init-param>
<init-param>
<param-name>cors.exposedHeaders</param-name>
<param-value>Set-Cookie</param-value>
</init-param>
<init-param>
<param-name>cors.supportsCredentials</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4.重启tomcat,再访问页面,错误解决。