我正在为后端使用spring boot构建Web应用程序,为前端构建angular2,如果访问了无根URL,则弹簧引导返回whitelabel页面(因为servlet容器不知道角度路由),所以我试图替换带有index.html页面的whitelabel页面。
在阅读了一些关于此事的文章后,我尝试了这个但没有工作
@Component
public class CustomizationBean
implements EmbeddedServletContainerCustomizer {
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/index.html"));
}
}
index.html位于src / main / resources / static
下我错过了什么吗?
答案 0 :(得分:1)
以上代码可以很好地显示index.html
页面(而不是白标签错误),但您需要确保在启动期间CustomizationBean
可用于扫描Spring容器{ {1}}
据我所知,在春季启动时扫描是自动的,我有我的 使用@Component进行CustomizationBean注释。
Spring启动,默认情况下只扫描@ComponentScan(basePackages = { "com.yourproject"})
包(myproject
ApplicationLauncher
类所在的位置)下的类,如本文档here中所述。其余的包需要在main