首页处理
看源码,可以找到一个欢迎页的映射,就是首页。
@Bean
public WelcomePageHandlerMapping welcomePageHandlerMapping(ApplicationContext applicationContext,
FormattingConversionService mvcConversionService, ResourceUrlProvider mvcResourceUrlProvider) {
WelcomePageHandlerMapping welcomePageHandlerMapping = new WelcomePageHandlerMapping(
new TemplateAvailabilityProviders(applicationContext), applicationContext, getWelcomePage(),// getWelcomePage 获得欢迎页
this.mvcProperties.getStaticPathPattern());
welcomePageHandlerMapping.setInterceptors(getInterceptors(mvcConversionService, mvcResourceUrlProvider));
return welcomePageHandlerMapping;
}
private Optional<Resource> getWelcomePage() {
String[] locations = getResourceLocations(this.resourceProperties.getStaticLocations());
/*
::是java8 中新引入的运算符
Class::function的时候function是属于Class的,应该是静态方法。
this::function的funtion是属于这个对象的。
简而言之,就是一种语法糖而已,是一种简写
*/
return Arrays.stream(locations).map(this::getIndexHtml).filter(this::isReadable).findFirst();
}
// 欢迎页就是一个location下的的 index.html 而已
private Resource getIndexHtml(String location) {
return this.resourceLoader.getResource(location + "index.html");
}
欢迎页,静态资源文件夹下的所有 index.html 页面;被 /** 映射。
比如我访问 http://localhost:8080/ ,就会找静态资源文件夹下的 index.html
关于网站图标说明:
官方文献:
Custom Favicon
As with other static resources, Spring Boot looks for a
favicon.icoin the configured static content locations. If such a file is present, it is automatically used as the favicon of the application.
与其他静态资源一样,Spring Boot在已配置的静态内容位置中查找favicon.ico。如果存在这样的文件,它将自动用作应用程序的favicon图标。
- 放一个图标在静态资源目录下
TIP:旧版本需要关闭默认图标
#关闭默认图标
spring.mvc.favicon.enabled=false
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!