ในฤดูใบไม้ผลิทุกคำขอจะไปผ่านDispatcherServlet เพื่อหลีกเลี่ยงการร้องขอไฟล์แบบคงที่ผ่าน DispatcherServlet (contoller ด้านหน้า) เรากำหนดค่าเนื้อหา MVC แบบคงที่
ฤดูใบไม้ผลิ 3.1. แนะนำ ResourceHandlerRegistry เพื่อกำหนดค่า ResourceHttpRequestHandlers สำหรับการให้บริการทรัพยากรแบบคงที่จาก classpath, WAR หรือระบบไฟล์ เราสามารถกำหนดค่า ResourceHandlerRegistry โดยทางโปรแกรมภายในคลาสคอนฟิกูเรชันบริบทเว็บของเรา
- เราได้เพิ่ม
/js/**
รูปแบบลงใน ResourceHandler ให้รวมfoo.js
ทรัพยากรที่อยู่ในwebapp/js/
ไดเร็กทอรี
- เราได้เพิ่ม
/resources/static/**
รูปแบบลงใน ResourceHandler ให้รวมfoo.html
ทรัพยากรที่อยู่ในwebapp/resources/
ไดเร็กทอรี
@Configuration
@EnableWebMvc
public class StaticResourceConfiguration implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
System.out.println("WebMvcConfigurer - addResourceHandlers() function get loaded...");
registry.addResourceHandler("/resources/static/**")
.addResourceLocations("/resources/");
registry
.addResourceHandler("/js/**")
.addResourceLocations("/js/")
.setCachePeriod(3600)
.resourceChain(true)
.addResolver(new GzipResourceResolver())
.addResolver(new PathResourceResolver());
}
}
การกำหนดค่า XML
<mvc:annotation-driven />
<mvc:resources mapping="/staticFiles/path/**" location="/staticFilesFolder/js/"
cache-period="60"/>
Spring Boot MVC Static Contentหากไฟล์อยู่ในโฟลเดอร์webapp / resourcesของ WAR
spring.mvc.static-path-pattern=/resources/static/**
super.configureMessageConverters(converters)
จะแปลรหัสนี้ได้อย่างไร? ตอนนี้ไม่มีที่super
จะอ้างถึง