從零開始的Spring Boot學習【十六】【整合外置Tomcat以及使用JSP開發】

我們在創建Spring Boot項目時,默認自帶了一個內置的Tomcat服務器,所以我們不需要打成war包,直接通過Jar即可運行。
但是,如果需要整合JSP進行開發(Spring Boot
默認不支持JSP),我們就需要配置一個外置的Tomcat服務器,然後需要打成war包,就和普通的Web項目一樣,在運行的時候,統一部署到Tomcat服務器上的webapps中。


Spring Boot整合JSP開發步驟:

1.首先我們從新建Spring Boot項目開始,選擇打成war包
 在pom.xml中會自動添加如下依賴(provided表明該包只在編譯和測試的時候用):

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

provided:將項目打包時,不會將內置的Tomcat一起打包(大家可以對比選擇Jar包時的pom.xml文件)。

2.建立基本的web項目所需要的目錄結構

webapp/WEB-INF(需要)
webapp/WEB-INF/web.xml (不需要,Spring Boot實現自動裝配)

大家有沒有發現,在選擇Jar包的時候,項目會自動生成一個DemoApplication.java文件,即是Spring Boot的主配置類啓動程序;但是在選擇War包後,項目自動生成的.java文件就多了一個

啓動服務器Tomcat時, 項目默認不是先啓動主配置類DemoApplication.java,而是會自動調用ServletInitializer類中的configure方法(因爲它有一個監聽器在監聽服務器是否啓動了,它會先做Servlet的初始化),configure方法內部會調用Spring Boot的主配置類,從而啓動Spring Boot。即在啓動Tomcat時會先會進行Servlet的Init,然後再啓動Spring Boot主配置類

在Servers中右鍵New一個Server,選擇自己下載好的Tomcat根路徑即可(因爲要使用外置的Tomcat服務器),我們運行一下。

根據上圖的結果,的確是啓動Tomcat服務器後,調用了Servlet的init,再運行Spring Boot主配置類。好的,我們現在打開application.properties來做一些簡單的配置。

來一波熟悉的SSM框架配置,設置返回的前綴和後綴(上圖在application.properties爲什麼前綴和後綴是以spring.mvc.view開頭,我們不再贅述,感興趣的童鞋可以看我之前的文章)。這兩個設置的意思是我們把.jsp頁面都放在了WEB-INF文件夾下,然後默認的後綴爲.jsp,這樣我們在Controller中,只需要直接返回一個jsp的文件名字就可以了。

我們在testjsp.jsp中我們獲取從Controller傳過來的數據(SpringMVC的知識),jsp中的${requestScope.name }也可以寫成${name}這兩種在這個簡單的項目中是等價的。不過如果要編寫複雜的項目,爲了邏輯關係和清晰的理解,建議還是加上requestScope,這是一種良好的習慣。

好了,測試沒有問題。基於這一點,我們能使用JSP了,讓原先爲SSM框架的項目不需要花費太大的力氣就能整合轉移成Spring Boot項目。

emmm,我們Spring Boot的基礎內容就講到這裏咯。後續還會發布一些關於Spring Boot的文章,但是不再加進“從零開始的Spring Boot學習”系列了,而是作爲一篇單獨的文章進行發佈。

 

關注博主,更多精彩哦!

 

上一章:從零開始的Spring Boot學習【十五】【模板Thymeleaf(三)】

下一章:無(最終章)

 

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