springboot項目的重定向和轉發

下面是idea軟件建立的項目目錄,這裏總結了一下轉發與重定向的問題,詳解以下。css

首先解釋一下每一個文件夾的做用,若是你是用的是idea建立的springboot項目,會在項目建立的一開始resources文件夾下自動建立static以及templates文件夾。也就是說項目初始時有java、resource、static以及templates 這幾個文件夾。
通常static下存放js以及css樣式文件,templates存放html頁面。
以上是默認會建立的文件夾以及其做用
首先static文件夾以及templates文件夾是受保護的,也就是說至關於你將文件放到了傳統的ssh或ssm項目的WEB-INF下了。因此也就是說這兩個文件夾下的文件是沒法經過url直接訪問的,以致於在springmvc下使用重定向會報404。
在講重定向與轉發以前先講一下目錄優先級的狀況,webapp>META-INF/resources>resources>static>public(親測有效)
那麼如何可以直接訪問到html或者css呢?
方法一 
咱們能夠在resources下建立一個名爲public的文件夾,顧名思義,放在此文件夾下的文件是共有的,能夠直接經過url訪問,固然也能夠springmvc重定向訪問啦。
方法二
在main下建立webapp文件夾,將文件放到此文件夾下,效果同上。
注!文件夾名字是固定的,起別的名字仍是會報404或者無效
首先呢public與wenapp這二個在使用過程當中通常建立一個目錄就行了,以下圖。html

訪問index1.html頁面http://localhost:8888/index1.htmljava

能夠看到直接訪問到是webapp下的index.html頁面。由於webapp優先級大於public優先級。webapp>public
關於springmvc重定向寫法
@RequestMapping(「/test1」)
public String test1(){
return 「index」;
}
轉發是不須要手動加html的,此時springboot發現是轉發,默認配置下他會自動去templates文件夾下找到對應的文件進行轉發,若是return後寫的是index.html會報404。
重定向
@RequestMapping(「/test2」)
public String test2(){
return 「redirect:index1.html」;
}
首先,添加redirect:這個毋庸置疑是mvc的語法問題,其次這裏須要注意的是須要手動添加.html,不然會報404,而重定向則會自動去public文件夾下尋找。至於與webapp優先級別則同上述。git

相關文章
相關標籤/搜索