1、Spring Boot 集成 JSP WEB頁面

1、Springboot 官方已經不建議使用JSP 開發web 項目,建議使用模板 ,例如freemarker velocity

2、考慮當前研發成員對框架的熟悉情況,以及後期項目架構調整的計劃,還是暫時使用JSP

3、Springboot 構建JSP web 配置

構建項目:file-->new -->project-->spring initializr ,填寫項目名稱、包名等路徑,然後選擇Web組件

(1) 在src/main/java 下新建webapp,並新建webapp的子目錄 WEB-INF
(2) 打開file-->project Structure-->Modules 新建一個web目錄

項目結構圖如下:

(3) 在application.properties中 配置路徑解析器,指定靜態資源訪問了路徑

 

#mvc頁面訪問路徑解析

spring.mvc.view.prefix=/WEB-INF/views/

spring.mvc.view.suffix=.jsp

 

#靜態資源路徑配置

spring.mvc.static-path-pattern=/static/**

 

在controller中映射對應jsp頁面,在瀏覽器中即可訪問

 

 

4、打包項目(重要--有坑)

(1)springboot 項目一般基於內置tomcat直接運行,打包爲jar包形式,運行時執行命令: java -jar *****<項目名稱>.jar 即可運行。

(2)如果我們新建了webapp後,在IDEA中運行沒問題,打包時發現 webapp無法被加載到最後打包形成的jar中。

打包jar解壓後的目錄結構:唯獨沒有webapp下的內容

(3)依賴maven的resouce 插件手動加載webapp下的內容到BOOT-INF(嘗試失敗)

根據web項目的一般目錄結構,WEB-INF下的views及web.xml 應該放到BOOT-INF 和classpath 文件夾處在同一個目錄即可

通過以上配置,文件資源加載到BOOT-INF下了,項目可正常啓動,但jsp 頁面無法解析,不能正常訪問頁面

(4)修改maven打包方式爲war,同樣以命令 java -jar *******<項目名稱>.war 運行,web項目可正常運行且頁面可正常訪問 (終極解決方式)

解壓war包查看目錄結構:我們熟悉的web項目結構又回來了

 

總結:在idea中打包爲何種方式均可,部署項目時,maven須以war包形式打包,仍然可以使用命令運行,也可將內置tomcat架包移除後,將war包放在tomcat 服務器下運行

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