springboot內建tomcat配置虛擬路徑

2022-08-14 04:18:12 字數 1189 閱讀 4171

在springboot中預設的靜態資源路徑有:classpath:/metainf/resources/classpath:/resources/classpath:/static/

classpath:/public/,從這裡可以看出這裡的靜態資源路徑都是在classpath中(也就是在專案路徑下指定的這幾個資料夾)

試想這樣一種情況:乙個**有檔案上傳檔案的功能,如果被上傳的檔案放在上述的那些資料夾中會有怎樣的後果?

此時可能最佳的解決辦法是將靜態資源路徑設定到磁碟的基本個目錄。

在springboot中可以直接在配置檔案中覆蓋預設的靜態資源路徑的配置資訊:

spring.mvc.static-path-pattern=/**

spring.resources.static-locations=classpath:/meta-inf/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:這裡寫自己的上傳檔案路徑(注意要以/結尾)

spring.mvc.static-path-pattern=/**表示所有的訪問都經過靜態資源路徑;

spring.resources.static-locations在這裡配置靜態資源路徑,前面說了這裡的配置是覆蓋預設配置,所以需要將預設的也加上否則staticpublic等這些路徑將不能被當作靜態資源路徑,在這個最末尾的file:$之所有要加file:是因為指定的是乙個具體的硬碟路徑,其他的使用classpath指的是系統環境變數。

由於前面已經在靜態資源路徑中上傳了乙個名為1.jpg的,也使用server.port=1122設定了埠號為1122,所以可以通過瀏覽器開啟:http://localhost:1122/1.jpg訪問到剛剛上傳的。但是要注意,如果你在springboot的配置檔案中加了屬性server.context-path,即專案名,那麼訪問的時候一定要加上這個配置的屬性值,不然404.

參考部落格:

SpringBoot內建tomcat配置SSL證書

1.將阿里雲網域名稱 cyclothe.com 解析成www.cyclothe.com 到你的伺服器下 2.將網域名稱對應的443 80 埠開發安全組,瀏覽器預設對80埠隱藏 5.配置你的yml檔案 server port 443 服務埠 ssl key store password 你的證書密碼 ...

springboot的嵌入式伺服器tomcat配置

配置上下面這個即可.configuration public class errorpagesconfig 但需要注意的是 webserve ctorycustomizer的泛型為webserve ctory.tomcatservletwebserve ctory只是現成的tomcat的配置,如果你...

配置spring boot內建web容器

1 對server的幾個常用的配置做個簡單說明 專案contextpath,一般在正式發布版本中,我們不配置 server.context path myspringboot 錯誤頁,指定發生錯誤時,跳轉的url。請檢視basicerrorcontroller原始碼便知 server.error.p...