如何優雅的使用springboot項目內置tomcat

問題:之前,咱們在使用SSM框架的時候,都是經過外置的tomcat進行部署,若是想訪問文件,直接拖到項目的根目錄下面便可。假如咱們須要放一個apk文件,而後讓別人下載,只需將apk放到項目根目錄下面,瀏覽器經過http://ip:port/projectName/xx.apk便可下載。如今使用spring boot進行項目開發,因爲springboot 內嵌了tomcat,爲了方便部署,所以咱們大多數狀況下只需將項目打成jar包運行。這樣就存在一個問題,咱們該如何將這個apk放到服務器上,別人經過瀏覽器進行下載呢? 1、springboot的項目結構java

|———main|———java———代碼
	|———src |	|
	|	|	|
	|	|	|———resources———靜態資源配置
project |	|———test
	|———pom.xml

2、打成jar包後的結構spring

|———META-INF
	|		|——lib
project |		|
	|———BOOT-INF----|
			|——classes——(項目結構java下面的class文件和resources下面的文件)

3、classpath指的是哪兒 classpath顧名思義,就是class的路徑,打包前指的就是resources,打包後指的就是classes。 4、apk文件放在哪兒打包部署後能夠正常訪問 springboot配置文件爲咱們提供了默認的靜態資源訪問路徑,固然咱們也能夠進行修改。默認的路徑爲下面這四個地址,當咱們想訪問靜態資源的時候會從上往下一個地址接一個地址的去找:瀏覽器

{
"classpath:/META-INF/resources/", 
"classpath:/resources/", 
"classpath:/static/", 
"classpath:/public/"
};

若是想要自定義的話,則在application.properties中設置tomcat

spring.resources.static-locations=自定義路徑

咱們把apk放到以上任意一個文件夾中均可以正常訪問到。我最常作的是在resources下面建一個resources的文件夾,而後用http://ip:port/projectName/xx.apk去訪問。以下圖所示 filespringboot

這樣咱們就能輕鬆實現瀏覽器訪問jar中的靜態資源了,而不用安裝tomcat,用war包的形式去運行項目咯。服務器

相關文章
相關標籤/搜索