解決spring-boot項目靜態資源不會被瀏覽器緩存問題


先說下項目用到的技術  spring-boot+spring-security+spring-data-jpa+jsp+mysql大概就是這樣。

在項目啟動之后我發現所有的靜態資源在刷新頁面之后都會向服務器獲取,而不是從緩存中獲取,這樣會導致項目部署到服務器上,訪問頁面變得很慢,在查閱資料之后,找到解決方法:

在WebMvcConfigurer這個類里重寫一個方法,因這個類是實現了WebMvcConfigurer這個接口:代碼我貼下面了,看不懂的可以去復制到IDE中去看源碼注釋。

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
//解決spring-boot緩存靜態資源問題
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry
                .addResourceHandler("/assets/**")//括號里是精彩資源存放的位置名字是自己的,可能一致也可能不一致
                .addResourceLocations("/assets/")
                .setCachePeriod(31556926);//表示緩存的時間(秒)
    }
}

這樣就解決了,瀏覽器不緩存靜態資源的問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM