關於idea啓動springboot項目時jsp頁面出現404問題的原因及解決措施

前提概要:

  1. 最近使用springboot搭建聚合項目時遇到需要用jsp做視圖的場景,在web層的pom.xml中已經引入了jsp的相關依賴:
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>
  1. 啓動的main方法所在的項目不是maven的頂級項目(我這裏是web層項目,jsp視圖所在的項目,頂級項目是XXX-parent)

問題場景

  • 當該項目是通過eclipse搭建並啓動時,並不會出現標題中所講的問題;
  • 然而,當該項目是通過idea開發工具搭建並啓動的情況下,在加載jsp頁面時會出現404狀態提示:
    瀏覽器加載頁面時的404提示

原因

簡單來說就是在idea裏啓動項目後,
如果SpringBoot在子模塊,直接main啓動子模塊會在C:\Users{用戶名}\AppData\Local\Temp這個目錄下,會生成tomcat目錄,但是如果翻看tomcat目錄,會發現在目錄裏沒有自動生成jsp的java和class文件.什麼都沒有;
而eclipse會自動生成jsp的java文件和class文件,這就造成了上述的問題場景。

解決措施

在Run/Debug Configurations面板中設置該程序的Working Directory選項爲程序目錄爲$MODULE_WORKING_DIR$,如下:
在這裏插入圖片描述
此時再次訪問能跳轉jsp頁面url,會發現jsp頁面已經能成功渲染出來了,而且再次翻看C:\Users\{用戶名}\AppData\Local\Temp中最新生成的tomcat目錄內容,能看到已經編譯出jsp的相關文件了:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章