一、重写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文件