正常静态资源可以参考其它博主的配置,写的很好,
静态资源配置不生效的原因我运到的有以下几点,做个记录
1、权限框架没有配置
@Bean("shiroFilter") public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) { ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean(); shiroFilter.setSecurityManager(securityManager); //oauth过滤 Map<String, Filter> filters = new HashMap<>(); filters.put("oauth2", new OAuth2Filter()); shiroFilter.setFilters(filters); Map<String, String> filterMap = new LinkedHashMap<>(); //其它配置 filterMap.put("/upload/**", "anon"); filterMap.put("/**", "oauth2"); shiroFilter.setFilterChainDefinitionMap(filterMap); return shiroFilter; }
2、添加了@EnableWebMvc注解
Spring Boot 提供了对 Spring MVC 的自动配置,这些自动配置使用与大多数应用。
…
对静态资源映射支持…
…
默认首页index.html。
…
如果需要…的自定义配置,可以使用@Configuration注解WebMvcConfigurer,但是不要添加@EnableWebMvc注解。…
如果想要完全控制 Spring MVC,可以同时添加@Configuration和@EnableWebMvc注解
@Configuration //@EnableWebMvc public class CorsConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("*") .allowedHeaders("*") .allowCredentials(true) .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") .maxAge(3600); } }
3、配置文件里格式千万要正确,检查一下空格
spring: mvc: throw-exception-if-no-handler-found: true static-path-pattern: /upload/** resources: static-locations: classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:D:/Work/hqxd/hqxd_project/files