Angular 4项目战争,当创建为战争时,刷新时会产生白标错误

时间:2017-11-02 16:59:54

标签: angular tomcat

Angular 4项目 我们为angular 4项目创建了dist文件夹。

我们通过在web.xml中包含WEB-INF文件夹创建了Angular4 dist文件夹的.war文件,并在tomcat中部署了.war文件并正确部署。

但是当我们在主页上的不同网址上刷新应用程序的中间时,它会显示白标错误。我无法为此找到解决方案。

任何人都有任何想法。关于如何解决这个问题

189.233.33.22.com/test/customer

1 个答案:

答案 0 :(得分:1)

这里的问题是因为Angular路由器和Tomcat。 Tomcat首先读取url并导致404,这将是它自己的白标错误/ 404页面,而不是你的Angular入口点。

最简单的解决方案是捆绑你的index.html(尽管在这种情况下最好是.jsp,所以你可以在你的WAR和设置Tomcats自定义404页面中添加200 OK响应,而不是404 *)在你的web.xml中指向它

<error-page>
    <error-code>404</error-code>
    <location>/index.jsp</location>
</error-page>

这样,Tomcat将指向你的Angular入口点,Angular路由将完成其余的工作。

* re:200OK,在文件顶部添加<% response.setStatus(200); %>将允许Tomcat使用正确的HTTP响应代码进行响应(因为它在技术上不是404,只需确保在Angular中正确处理404s )。