为在IntelliJ

时间:2018-03-06 05:11:16

标签: angular tomcat intellij-idea jersey cors

我正在使用Jersey后端API构建一个Angular项目。我遇到了一个问题,我的网络应用程序因为CORS而无法使用IntelliJ和Tomcat调用在调试模式下运行的API。如何访问在IntelliJ中运行的Tomcat实例的CORS头选项。

或者,这通常不是SPA用于与后端交谈的模式吗?我应该采用不同的方式来构建我的项目吗?

1 个答案:

答案 0 :(得分:3)

我能够从IntelliJ内部运行我的Tomcat服务器,通过将以下内容添加到我的web.xml文件来接受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对我大吼大叫,并说它无法识别过滤类。但它编译和运行完美。另外值得注意的是,您绝对应该更改允许来源的参数值,使其在生产中更具限制性。我在这里允许所有的起源只是因为我在本地运行。