問題觸發場景:IDEA? 2023.3.4 SpringBoot 2.2.4
? ??? ? 上面4張圖片分別是項目結構、Spring Boot啟動配置、SpringMVC配置和頁面展示在項目中存放的位置,表面上看上去沒有太大問題,項目應該會達到預期結果,但是bug總是在不經意間出現,當我訪問后端登錄接口的時候,卻顯示404并且顯示/pages/login.jsp不存在!!!
? ? ? 解決方案:1.開啟debug日志
? ? ? ? 第一時間的我是先看了控制臺打印信息,但是根本不知道哪里出了問題,后來干脆點直接開啟debug日志將所有的信息都打出來。
當開啟debug日志,程序的一舉一動都打印在了控制臺,展示出的信息如下圖
? ? ? 當看到日志信息的時候,首先會看到RealPath這一項的值,這個值就是實際要訪問到的路勁,但是想了想這個路徑應該是項目路勁對應webapp下的\pages\login.jsp,結果卻是臨時生成的文件夾,這個時候迎來第二個問題是哪里設置的這個文件夾?
經查閱相關技術文章:
Spring Boot內嵌tomcat關于getServletContext().getRealPath獲取得到臨時路徑的問題_getservletcontext.getcontextpath獲取不到項目路徑-CSDN博客
在Spring Boot配置的文件夾下要有這三個文件夾,如果沒有就會生成臨時文件夾,以下是相關代碼
解決這個問題首先需要在Spring? Boot啟動的時候設置工作路徑,因為我IDEA版本是2023.3.4版本所以需要添加其他項,如下圖
將工作目錄設置為當前工作目錄后需要在這個目錄下分別有src/main/webapp、public和static目錄,創建完成后順利解決以上問題。