如何在ApacheTomcat8服务器上部署Spring Boot后端和Angular 6前端应用程序?

时间:2018-07-19 07:56:31

标签: angular spring-boot tomcat angular-cli

我开发了一个带有弹簧靴后端和尖角6前端的应用程序,一切都很完美。

但是我唯一的问题是如何在服务器apache上部署后端和前端以及前端和后端如何通信?

我有用于角度的dist和用于春季的战争,所以将它们放在apache上,但是当我单击dist时,页面登录出现,但是我与后端没有任何联系。

我该怎么做?

请帮助我。

谢谢:)

1 个答案:

答案 0 :(得分:0)

为了在后端和前端之间进行通信,您需要在web.xml文件中使用CORS过滤器,该过滤器允许您从任何服务器进行通信(因为angular项目在不同的端口上运行)。下面是CORS的代码进行过滤,尝试将其添加到您的web.xml文件中并进行检查。

<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>
    <init-param>
        <param-name>cors.allowed.methods</param-name>
        <param-value>GET,POST,HEAD,OPTIONS,PUT,DELETE</param-value>
    </init-param>
    <init-param>
        <param-name>cors.allowed.headers</param-name>
        <param-value>Content-Type,X-Requested-With,accept,Origin,authorization,serviceUrl,Access-Control-Request-Method,Access-Control-Request-Headers,Last-Modified</param-value>
    </init-param>
    <init-param>
        <param-name>cors.exposed.headers</param-name>
        <param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value>
    </init-param>
    <init-param>
        <param-name>cors.support.credentials</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>CorsFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>