使用Spring引导的java服务索引页
我已经看遍了所有的地方,但我不知道我在打包的spring boot jar文件中提供index.html
页面的方式有什么不对。这是我的应用程序结构:
当我运行mvn clean install
时,它会正确地打包jar,并将index.html
文件放入jar中的静态文件夹中
这是我的MVC配置:
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
registry.addResourceHandler("/static/**").addResourceLocations("/static/");
registry.addResourceHandler("/app/**").addResourceLocations("/app/");
registry.addResourceHandler("/**").addResourceLocations("/");
}
有什么我做得不好的吗
# 1 楼答案
在spring boot项目中,只需扩展WebMVCConfigureAdapter并覆盖addResourceHandlers即可实现此功能,如下所示
可在http://localhost:8080/static/index.html上访问索引页
# 2 楼答案
尝试将“类路径”添加到资源位置
# 3 楼答案
我相信你应该读一下,如何为静态内容服务:
http://docs.spring.io/spring-boot/docs/1.4.2.RELEASE/reference/htmlsingle/#boot-features-spring-mvc-static-content
总而言之,浏览器正在缓存静态资源,如CSS文件或html文件
为了打破这种行为,请尝试先清理浏览器缓存,在谷歌浏览器中进入“设置”,然后清除浏览数据
其次,将这些行添加到应用程序中。属性文件以破坏缓存:
或者添加以下内容:
# 4 楼答案
好的,多亏了多方的帮助,我把它修好了!以下是我为帮助其他人所做的:
1)在POM中添加此资源。我仍然不知道为什么我需要这个,但没有这个我的应用程序将无法运行。Spring boot应该自动执行此操作,但显然不是
2)在我的MVC配置中,我添加了以下内容(与下面的答案类似):
在添加这两个东西之后,我的应用程序开始提供文件