为在IntelliJ中运行的Tomcat启用CORS
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为在IntelliJ中运行的Tomcat启用CORS相关的知识,希望对你有一定的参考价值。
我正在使用Jersey后端API构建一个Angular项目。我遇到了一个问题,我的网络应用程序因为CORS而无法使用IntelliJ和Tomcat调用在调试模式下运行的API。如何访问IntelliJ中运行的Tomcat实例的CORS头选项。
或者,这通常不是SPA用于与后端交谈的模式吗?我应该采用不同的方式来构建我的项目吗?
答案
通过将以下内容添加到我的web.xml文件,我能够从IntelliJ内部运行我的Tomcat服务器以接受CORS请求。
<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>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
IntelliJ对我大吼大叫,并说它不认识那个过滤器类。但它编译和运行完美。另外值得注意的是,您绝对应该更改允许来源的参数值,使其在生产中更具限制性。我允许所有的起源只是因为我在本地运行。
以上是关于为在IntelliJ中运行的Tomcat启用CORS的主要内容,如果未能解决你的问题,请参考以下文章
静态资源未部署到 tomcat-docbase 文件夹 - (IntelliJ 2018 / Spring Boot 2 / Embedded Tomcat)
使用 IntelliJ 部署启用嵌入式 tomcat 的 spring-boot 应用程序
为在 VPC 中运行的私有 AWS OpenSearch 集群的仪表板启用 SAML 身份验证