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/");
}
靜態文件的路徑:

用靜態方式去訪問,http://localhost:8080/static/generateOrder.html
里面引用的路徑為:

如果用http://localhost:7500/message去訪問
@Controller
public class SpsMessageUtilsController {
@RequestMapping("/message")
public String getMessage() {
return "static/generateOrder2";
}
}

原因:轉發和重定向的區別之一是:采用轉發,URL不會發生變化。即從一個servlet轉發到一個jsp頁面,url仍為servlet的地址。這樣,原來jsp頁面中使用到相對路徑的地方要進行修改。否則,是找不到文件的。
