更新時(shí)間:2021-12-29 10:41:33 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1694次
下面是idea軟件創(chuàng)建的項(xiàng)目目錄,這里總結(jié)了一下轉(zhuǎn)發(fā)與重定向的問(wèn)題,詳解如下。

首先解釋一下每個(gè)文件夾的作用,如果你是用的是idea創(chuàng)建的springboot項(xiàng)目,會(huì)在項(xiàng)目創(chuàng)建的一開(kāi)始resources文件夾下自動(dòng)創(chuàng)建static以及templates文件夾。也就是說(shuō)項(xiàng)目初始時(shí)有java、resource、static以及templates 這幾個(gè)文件夾。
一般static下存放js以及css樣式文件,templates存放html頁(yè)面。
以上是默認(rèn)會(huì)創(chuàng)建的文件夾以及其作用
首先static文件夾以及templates文件夾是受保護(hù)的,也就是說(shuō)相當(dāng)于你將文件放到了傳統(tǒng)的ssh或ssm項(xiàng)目的WEB-INF下了。所以也就是說(shuō)這兩個(gè)文件夾下的文件是無(wú)法通過(guò)url直接訪問(wèn)的,以至于在springmvc下使用重定向會(huì)報(bào)404。
在講重定向與轉(zhuǎn)發(fā)之前先講一下目錄優(yōu)先級(jí)的情況,webapp>META-INF/resources>resources>static>public(親測(cè)有效)
方法一
我們可以在resources下創(chuàng)建一個(gè)名為public的文件夾,顧名思義,放在此文件夾下的文件是共有的,可以直接通過(guò)url訪問(wèn),當(dāng)然也可以springmvc重定向訪問(wèn)啦。
方法二
在main下創(chuàng)建webapp文件夾,將文件放到此文件夾下,效果同上。
注!文件夾名字是固定的,起別的名字還是會(huì)報(bào)404或者無(wú)效
首先呢public與wenapp這二個(gè)在使用過(guò)程中一般創(chuàng)建一個(gè)目錄就好了,如下圖。

訪問(wèn)index1.html頁(yè)面http://localhost:8888/index1.html

可以看到直接訪問(wèn)到是webapp下的index.html頁(yè)面。因?yàn)閣ebapp優(yōu)先級(jí)大于public優(yōu)先級(jí)。webapp>public
@RequestMapping(“/test1”)
public String test1(){
return “index”;
}
轉(zhuǎn)發(fā)是不需要手動(dòng)加html的,此時(shí)springboot發(fā)現(xiàn)是轉(zhuǎn)發(fā),默認(rèn)配置下他會(huì)自動(dòng)去templates文件夾下找到對(duì)應(yīng)的文件進(jìn)行轉(zhuǎn)發(fā),如果return后寫的是index.html會(huì)報(bào)404。
@RequestMapping(“/test2”)
public String test2(){
return “redirect:index1.html”;
}
首先,添加redirect:這個(gè)毋庸置疑是mvc的語(yǔ)法問(wèn)題,其次這里需要注意的是需要手動(dòng)添加.html,否則會(huì)報(bào)404,而重定向則會(huì)自動(dòng)去public文件夾下尋找。至于與webapp優(yōu)先級(jí)別則同上述。
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)