IDEA啟動(dòng)后控制臺(tái)不報(bào)錯(cuò),但是頁(yè)面訪問(wèn)404的解決方案
這種情況多為導(dǎo)入的SSM項(xiàng)目,Springboot項(xiàng)目較少出現(xiàn)這種情況
項(xiàng)目場(chǎng)景
提示:idea直接導(dǎo)入項(xiàng)目,路徑錯(cuò)誤:
控制臺(tái)頁(yè)面:

日志頁(yè)面:

瀏覽器頁(yè)面:

問(wèn)題描述
打開(kāi)一個(gè)項(xiàng)目發(fā)現(xiàn)404報(bào)錯(cuò),我覺(jué)得不是路徑錯(cuò)了就是單詞寫(xiě)錯(cuò)了
但是咱們跑代碼都是寫(xiě)得相對(duì)路徑
后來(lái)經(jīng)過(guò)一位大佬的指點(diǎn),他告訴我:找到 controller層寫(xiě)首頁(yè)的位置,試試那個(gè)方法
我不敢說(shuō)恍然大悟,只是突然覺(jué)得好像自己傻了 ??
然后我就根據(jù)大佬的指點(diǎn)去controller里面找登錄的代碼:

@RequestMapping(value="/login",method=RequestMethod.GET)
public String login(Model model) {
model.addAttribute(new Admin());
return "login";
}
然后在login.jsp中找到返回首頁(yè)的代碼:

<div id="btn"> <a href="#" rel="external nofollow" class="easyui-linkbutton">登錄</a> <input type="button" name="Button" value="返回首頁(yè)" onclick=window.location.href="index.jsp" rel="external nofollow" > </div>
然后我在idea里面設(shè)置的路徑是:

所以最后兩個(gè)地址分別是:
http://localhost:8080/bus_ssm/login.jsp#http://localhost:8080/bus_ssm/index.jsp#
原因分析
雖然一開(kāi)始寫(xiě)對(duì)了,但我感覺(jué)沒(méi)跑通的原因很有可能是項(xiàng)目其他地方?jīng)]配置好,但我后來(lái)打開(kāi)該項(xiàng)目的時(shí)候并沒(méi)有配置其他地方,至于到底是哪的問(wèn)題,還需要我多一些項(xiàng)目看下
根據(jù)這個(gè)項(xiàng)目明白路徑的重要性,請(qǐng)求路徑分為絕對(duì)路徑和相對(duì)路徑,但項(xiàng)目運(yùn)行需要相對(duì)路徑
另外就是看一下自己進(jìn)的包是不是對(duì)的
你進(jìn)的是①號(hào)包還是②號(hào)包?

絕對(duì)路徑
絕對(duì)路徑是目標(biāo)文件在電腦硬盤(pán)上的真實(shí)路徑
例:我項(xiàng)目中的index.jsp路徑就是:
【E:\桌面\公交車(chē)查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\bus_ssm\WebContent\index.jsp】

絕對(duì)路徑是從系統(tǒng)盤(pán)符開(kāi)始寫(xiě),一直寫(xiě)到文件名稱并包括后綴名
目錄或文件名稱之間用捺斜杠 \ 分開(kāi)
絕對(duì)路徑可以右鍵點(diǎn)擊文件選擇【Copy Path/Reference…】

也可以用傳統(tǒng)的方法在電腦中找到這個(gè)文件,在上方復(fù)制路徑或者右鍵文件屬性,并把文件名包括后綴復(fù)制進(jìn)去


相對(duì)路徑
相對(duì)路徑是相對(duì)于當(dāng)前工作目錄或參考點(diǎn)目錄的路徑。它不包含完整的從文件系統(tǒng)根目錄開(kāi)始的路徑信息
在Web應(yīng)用中,相對(duì)路徑又具有特殊的含義,比如在Servlet中相對(duì)路徑的幾個(gè)寫(xiě)法規(guī)則
- 【 / 】表示根目錄
- 【 ./ 】表示當(dāng)前文件所在的目錄
- 【 . ./ 】表示當(dāng)前文件所在的上層目錄
在Java應(yīng)用程序中,如果要從程序運(yùn)行時(shí)的工作目錄開(kāi)始計(jì)算文件路徑,則相對(duì)路徑可能如:src/main/resources/config.properties,其中假設(shè)配置文件相對(duì)于程序啟動(dòng)時(shí)的工作目錄下的src/main/resources路徑。
例如,在Web應(yīng)用內(nèi)引用一個(gè)資源文件,可能會(huì)使用相對(duì)路徑:./images/logo.jpg 或 ../css/style.css。
根據(jù)目標(biāo)文件位置我們可以在斜杠后面加上上下層目錄的名稱或文件名稱(帶后綴名)
//采用${pageContext.request.contextPath}的寫(xiě)法保障了從根開(kāi)始找起,以后無(wú)論把index.jsp拖到哪,都是從根開(kāi)始找
<form action="${pageContext.request.contextPath}/index" method="post">
相對(duì)路徑在寫(xiě)的時(shí)候會(huì)有以 “/” 開(kāi)頭和不以 “/” 開(kāi)頭的寫(xiě)法
// 以 "/" 開(kāi)頭的相對(duì)路徑: <a href="/hello/index.html" rel="external nofollow" >鏈接1</a> // 不以 "/" 開(kāi)頭的相對(duì)路徑: <a href="index.html" rel="external nofollow" >鏈接1</a>
在Java項(xiàng)目中,通常會(huì)寫(xiě)在controller包中
css文件或style標(biāo)簽內(nèi)引用的圖片路徑,只允許使用相對(duì)路徑。
總結(jié)
絕對(duì)路徑是目標(biāo)文件在電腦硬盤(pán)上的真實(shí)路徑
相對(duì)路徑是指目標(biāo)文件相對(duì)于當(dāng)前文件的路徑
不知道路徑前提先把環(huán)境配置好,然后再去看controller包里面首頁(yè)是怎么寫(xiě)的
不同操作系統(tǒng)使用的斜杠不同(Linux系統(tǒng)是/,Window系統(tǒng)是\)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java程序結(jié)構(gòu)與常量變量難點(diǎn)解析
JAVA的基本結(jié)構(gòu)就是順序結(jié)構(gòu),除非特別指明,否則就按照順序一句一句執(zhí)行順序結(jié)構(gòu)是最簡(jiǎn)單的算法結(jié)構(gòu),語(yǔ)句與語(yǔ)句之間,框與框之間是按從上到下的順序進(jìn)行的,它是由若干個(gè)依次執(zhí)行的處理步驟組成的,它是任何一個(gè)算法都離不開(kāi)的一種基本算法結(jié)構(gòu)2021-10-10
基于SpringBoot實(shí)現(xiàn)一個(gè)方法級(jí)耗時(shí)監(jiān)控器
本文介紹基于SpringBoot實(shí)現(xiàn)的輕量級(jí)耗時(shí)監(jiān)控器,通過(guò)AOP攔截方法并分級(jí)存儲(chǔ)數(shù)據(jù),提供可視化統(tǒng)計(jì)界面,支持調(diào)用次數(shù)、耗時(shí)、失敗次數(shù)分析及多維排序,適合中小型項(xiàng)目快速集成,無(wú)需復(fù)雜配置,需要的朋友可以參考下2025-09-09
SSH框架網(wǎng)上商城項(xiàng)目第11戰(zhàn)之查詢和刪除商品功能實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了SSH框架網(wǎng)上商城項(xiàng)目第11戰(zhàn)之查詢和刪除商品功能實(shí)現(xiàn)的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06
SpringBoot集成tensorflow實(shí)現(xiàn)圖片檢測(cè)功能
TensorFlow名字的由來(lái)就是張量(Tensor)在計(jì)算圖(Computational?Graph)里的流動(dòng)(Flow),它的基礎(chǔ)就是前面介紹的基于計(jì)算圖的自動(dòng)微分,本文將給大家介紹Spring?Boot集成tensorflow實(shí)現(xiàn)圖片檢測(cè)功能,需要的朋友可以參考下2024-06-06
Swagger在java中的運(yùn)用及常見(jiàn)問(wèn)題解決
Swagger插件是一款深受Java開(kāi)發(fā)者喜愛(ài)的工具,它在前后端分離的開(kāi)發(fā)模式下發(fā)揮著重要作用,這篇文章主要介紹了Swagger在java中的運(yùn)用及常見(jiàn)問(wèn)題的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-06-06
區(qū)塊鏈常用數(shù)據(jù)庫(kù)leveldb用java來(lái)實(shí)現(xiàn)常規(guī)操作的方法
這篇文章主要介紹了區(qū)塊鏈常用數(shù)據(jù)庫(kù)leveldb用java來(lái)實(shí)現(xiàn)常規(guī)操作,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02

