首页处理

看源码,可以找到一个欢迎页的映射,就是首页。

@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.ico in 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


SpringBoot      SpringBoot

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!