config配置:
1@Configuration 2public class WebMvcConfig implements WebMvcConfigurer { 3 /** 4 * 跨域配置 5 * @return 6 */ 7 @Bean 8 public CorsFilter corsFilter() { 9 UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); 10 source.registerCorsConfiguration("/**", buildConfig()); 11 return new CorsFilter(source); 12 } 13 14 private CorsConfiguration buildConfig() { 15 CorsConfiguration corsConfiguration = new CorsConfiguration(); 16 corsConfiguration.addAllowedOrigin("*"); 17 corsConfiguration.addAllowedHeader("*"); 18 corsConfiguration.addAllowedMethod("*"); 19 return corsConfiguration; 20 } 21 22 @Override 23 public void addResourceHandlers(ResourceHandlerRegistry registry) { 24 //需要配置1:----------- 需要告知系统,这是要被当成静态文件的! 25 //第一个方法设置访问路径前缀,第二个方法设置资源路径 26 registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); 27 registry.addResourceHandler("/templates/**").addResourceLocations("classpath:/templates/"); 28 }
静态文件的路径:

用静态方式去访问,http://localhost:8080/static/generateOrder.html
里面引用的路径为:

如果用http://localhost:7500/message去访问
1@Controller 2public class SpsMessageUtilsController { 3 @RequestMapping("/message") 4 public String getMessage() { 5 return "static/generateOrder2"; 6 } 7 8}

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