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

日志頁面:

瀏覽器頁面:

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

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

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

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

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

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

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


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

