我有一个Spring MVC应用程序,我在其中定义了一个静态资源haandler:
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
if (resourceIdentifier != null) {
registry.addResourceHandler("/admin-ui/**", "/admin-ui/").addResourceLocations(
"file:" + resourceIdentifier.getResourcesLocation() + "/");
}
}
(为简洁起见,我已经省略了HandlerInterceptor
声明的其余部分。)
现在,该应用程序的主要入口点是:
https://foo.mysite.com/admin-ui/index.html
相反,我希望输入点为:
https://foo.mysite.com/admin-ui
目前,这会产生404错误。启用此功能的最简单方法是什么,最好使用ResourceHandlerRegistry
?
答案 0 :(得分:0)
我添加了以下控制器,它部分工作:
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("admin-ui").setViewName("/admin-ui/index.html");
}
我需要在我的应用中进行一些其他更改,因为其他资源(例如,css,js和模板文件)是相对于index.html访问的(即,没有admin-ui/
作为其中一部分路径)。我需要将其更改为服务器根目录的绝对路径,例如在index.html:
<link href="css/bootstrap.min.css" rel="stylesheet">
成了这个:
<link href="/admin-ui/css/bootstrap.min.css" rel="stylesheet">
对应用中的所有网址执行此操作后,我现在可以使用或不使用index.html
来访问该应用。