springboot2.X访问静态文件配置

时间:2022-12-30 22:49:47

config配置:

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
    /**
     * 跨域配置
     * @return
     */
    @Bean
    public CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", buildConfig());
        return new CorsFilter(source);
    }

    private CorsConfiguration buildConfig() {
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedOrigin("*");
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedMethod("*");
        return corsConfiguration;
    }
    
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        //需要配置1:----------- 需要告知系统,这是要被当成静态文件的!
        //第一个方法设置访问路径前缀,第二个方法设置资源路径
        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
        registry.addResourceHandler("/templates/**").addResourceLocations("classpath:/templates/");
    }

 静态文件的路径:

springboot2.X访问静态文件配置

用静态方式去访问,http://localhost:8080/static/generateOrder.html

里面引用的路径为:

springboot2.X访问静态文件配置

如果用http://localhost:7500/message去访问

@Controller
public class SpsMessageUtilsController {
	@RequestMapping("/message")
	public String getMessage() {
		return "static/generateOrder2";
	}

}

  

springboot2.X访问静态文件配置

原因:转发和重定向的区别之一是:采用转发,URL不会发生变化。即从一个servlet转发到一个jsp页面,url仍为servlet的地址。这样,原来jsp页面中使用到相对路径的地方要进行修改。否则,是找不到文件的。