丝袜人妻一区二区三区_少妇福利无码视频_亚洲理论片在线观看_一级毛片国产A级片

【快學(xué)springboot】6.WebMvcConfigurer配置靜態(tài)資源和解決跨域

前言 雖然現(xiàn)在都流行前后端分離部署,但有時(shí)候還是需要把前端文件跟后端文件一起打包發(fā)布,這就涉及到了springboot的靜態(tài)資源訪(fǎng)問(wèn)的問(wèn)題。 達(dá)到當(dāng)天最大量API KEY 超過(guò)次數(shù)限制不單只是靜態(tài)資源打包,比如使用本地某個(gè)目錄作為文件存儲(chǔ),也可通過(guò)WebMvcConfigurer接口來(lái)配置。

在與前端交互的過(guò)程中,也會(huì)碰到一個(gè)跨域的問(wèn)題。我們也可通過(guò)WebMvcConfigurer接口來(lái)解決跨域的問(wèn)題。

springboot默認(rèn)靜態(tài)文件目錄

Spring Boot 默認(rèn)為我們提供了靜態(tài)資源處理,我建議大家直接使用Spring Boot的默認(rèn)配置即可。默認(rèn)提供的靜態(tài)資源映射如下:

  • classpath:/META-INF/resources
  • classpath:/resources
  • classpath:/static
  • classpath:/public

這些目錄的靜態(tài)資源時(shí)可以直接訪(fǎng)問(wèn)到的。上面這幾個(gè)都是靜態(tài)資源的映射路徑,優(yōu)先級(jí)順序?yàn)椋篗ETA-INF/resources > resources > static > public

使用第一講中spring initilize工具創(chuàng)建的springboot工程,默認(rèn)也給我們創(chuàng)建了classpath:/static這個(gè)目錄

我們往這個(gè)目錄放一個(gè)圖片,

通過(guò)瀏覽器訪(fǎng)問(wèn)http://localhost:8080/

自定義配置靜態(tài)資源配置

以上這些都是springboot默認(rèn)給我們提供的,那么我們有沒(méi)有能力自己自定義一個(gè)靜態(tài)資源映射呢?完全可以。使用WebMvcConfigurer這個(gè)類(lèi)即可實(shí)現(xiàn)自定義靜態(tài)資源配置。

我們新建一個(gè)WebConfig類(lèi)實(shí)現(xiàn)WebMvcConfigurer接口 ,如下:

@Configuration public class WebConfig implements WebMvcConfigurer { }

現(xiàn)在我們什么都不配置,然后重啟應(yīng)用,訪(fǎng)問(wèn)http://localhost:8080/。卻發(fā)現(xiàn)程序報(bào)404了:

這是因?yàn)槲覀兣渲昧薟ebMvcConfigurer,這就替換了springboot原先的默認(rèn)配置。這里我們想要自定義一個(gè)靜態(tài)資源配置,比如,我們/file/**這樣的請(qǐng)求,定向到我的D盤(pán)根目錄下。我們重寫(xiě)WebMvcConfigurer接口的addResourceHandlers方法。如下:

@Override public void addResourceHandlers(ResourceHandlerregistry registry) { regi("/file/**") .addResourceLocations("file:D:\"); }

然后把圖片放到D盤(pán)下:

這里需要注意的是,配置外部的資源要使用file聲明,配置jar包內(nèi)部的使用classpath聲明。

WebMvcConfigurer接口解決跨域問(wèn)題

可以通過(guò)重寫(xiě)WebMvcConfigurer的addCorsMappings方法,可以配置跨域的問(wèn)題。如下:

/** * 跨域支持 */ @Override public void addCorsMappings(CorsRegistry registry) { regi("/**") .allowedOrigins("*") .allowCredentials(true) .allowedMethods("GET", "POST", "DELETE", "PUT", "PATCH") .maxAge(3600 * 24); }

總結(jié)

WebMvcConfigurer接口不單只是能夠配置靜態(tài)資源訪(fǎng)問(wèn)和解決跨域問(wèn)題,它還可以配置很多Web請(qǐng)求相關(guān)的東西,比如攔截器,數(shù)據(jù)轉(zhuǎn)化(MessageConverters)等,礙于篇幅,這里就先不討論了。可以配置的東西,可以通過(guò)接口的方法查看,如下:

SpringBoot 默認(rèn)幫我們做了很多事情,這大大方便了我們的開(kāi)發(fā)。 但是,有時(shí)候我們想要自己定義一些Handler,Interceptor,ViewResolver,MessageConverter,在Spring Boot 2.0之前版本都是靠重寫(xiě)WebMvcConfigurerAdapter的方法來(lái)添加自定義攔截器,消息轉(zhuǎn)換器等。SpringBoot 2.0 后,該類(lèi)被標(biāo)記為@Deprecated?,F(xiàn)在,我們只能靠實(shí)現(xiàn)WebMvcConfigurer接口來(lái)實(shí)現(xiàn)了。

1.《【快學(xué)springboot】6.WebMvcConfigurer配置靜態(tài)資源和解決跨域》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無(wú)關(guān),侵刪請(qǐng)聯(lián)系頁(yè)腳下方聯(lián)系方式。

2.《【快學(xué)springboot】6.WebMvcConfigurer配置靜態(tài)資源和解決跨域》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。

3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來(lái)源地址,http://f99ss.com/gl/2170620.html

上一篇

如何處理照片容量大小看這里!怎么調(diào)整視頻的尺寸?怎么樣可以批量調(diào)賬

下一篇

0.幾個(gè)利息 怎么算法?總結(jié)很全面速看!可轉(zhuǎn)債從入門(mén)到精通——債券利率如何計(jì)算

如何處理靜態(tài)域看這里!詳解使用 Nginx 部署靜態(tài)頁(yè)面的方法 值得收藏!

如何處理靜態(tài)域看這里!詳解使用 Nginx 部署靜態(tài)頁(yè)面的方法 值得收藏!

如何處理靜態(tài)域相關(guān)介紹,Nginx簡(jiǎn)介 Nginx是俄羅斯人編寫(xiě)的非常輕的HTTP服務(wù)器,Nginx發(fā)音為“engine X”的高性能HTTP和反向代理服務(wù)器,也是IMAP/POP3/SMTP代理服務(wù)器。 Nginx 是由俄...