Bootstrap

springboot(二):过滤器、静态资源配置的原理、springmvc视图解析器的配置

一、重写servlet和过滤器

看我博客:https://editor.csdn.net/md/?articleId=122193096

二、2、静态资源的配置

认情况下,Spring Boot 将在 classpath 或者 ServletContext 根目录下从名为 /static (/public、/resources 或 /META-INF/resources)目录中服务静态内容。它使用了 Spring MVC 的 ResourceHttpRequestHandler,因此您可以通过添加自己的 WebMvcConfigurerAdapter 并重写 addResourceHandlers 方法来修改此行为。
问题1:为什么静态文件会找resources下的文件
ResourceHttpRequestHandler下的—》addResourceHandlers 方法下的—》ResourceProperties对象 --》

	private static final String[] CLASSPATH_RESOURCE_LOCATIONS = { "classpath:/META-INF/resources/",
			"classpath:/resources/", "classpath:/static/", "classpath:/public/" };

等级从高到低

三、springMvc的扩展

1、自定义视图解析器
a、自定义视图解析器配置类

package com.bear.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**  自定义视图解析器
 * <简述>
 * <详细描述>
 *
 * @author LiuShanshan
 * @version $Id$
 */
@Configuration
public class MyViewConfig implements WebMvcConfigurer {

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        System.out.println("进入视图解析器");
        registry.addViewController("/msb").setViewName("success");
    }
}

b、定义接口

    /**
     *<简述> 自定义视图解析器调用此接口, 返回的字符串将会调用templates文件夹中的html
     *<详细描述>
     * @author Liushanshan
     * @param
     * @return java.lang.String
    */
    @RequestMapping("/success")
    public String view(){
        System.out.println("调用success方法");
        return "success";
    }

c、定义跳转页面
templates文件夹中放入success.html文件

;