思路:
1.首先解决springboot服务,controller的跨域问题,使用注解@CrossOrign(origins = "*")解决应用服务跨域问题。
2.解决tomcat本身跨域问题,使用java-property-utils-1.16,cors-filter-2.9.1.jar到tomcat_home/lib,在应用的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>
本文介绍了如何解决SpringBoot应用打成war包部署到Tomcat时的跨域访问问题。首先,通过在SpringBoot的Controller上添加@CrossOrigin注解允许所有来源的请求。其次,将java-property-utils-1.16和cors-filter-2.9.1.jar添加到Tomcat的lib目录,并在web.xml配置过滤器,设置允许的源、方法、头部等参数,确保跨域请求的支持。

1290

被折叠的 条评论
为什么被折叠?



