搭建 springboot 項(xiàng)目焚志,web頁(yè)面用 jsp 模板
我把自己遇到的問題和解決方法羅列了一下详羡,看看你們會(huì)不會(huì)也遇到這些問題
一殿雪、IDEA 創(chuàng)建? springboot 項(xiàng)目
二、創(chuàng)建 jsp 視圖
三谤牡、創(chuàng)建控制器 controller
四副硅、啟動(dòng)springboot 項(xiàng)目
一、IDEA 創(chuàng)建? springboot 項(xiàng)目
step1:打開IDEA翅萤,new 一個(gè) project
step2:選擇 Spring Initializr ,設(shè)置 jdk(本機(jī)先安裝java jdk)
step3:設(shè)置項(xiàng)目 Group 和 Artifact套么,選擇 Packaging 打包方式
Group 和 Artifact 被稱為“坐標(biāo)”培己,為了保證項(xiàng)目唯一性
Group分為多個(gè)段,一般可設(shè)成兩段违诗,第一段為域漱凝,例如org、com诸迟、cn茸炒,org為非營(yíng)利組織,com為商業(yè)組織阵苇;第二段為公司名稱
Artifact 為項(xiàng)目名稱
step4:選擇 Web -> Web , 添加項(xiàng)目web starter
其他的可根據(jù)自己的需求選擇對(duì)應(yīng)的 starter 進(jìn)行依賴壁公,或者可后期在pom.xml 中配置
step5:點(diǎn)擊 next,然后 finish绅项,通過第一步創(chuàng)建出 springboot 紊册,項(xiàng)目目錄如下:
問題一:在創(chuàng)建 springboot 后,會(huì)加載 Maven 的 jar 包快耿,如果沒有更換成本地安裝的的 Maven 倉(cāng)庫(kù)囊陡,會(huì)加載很慢
解決方法:配置本地 maven 倉(cāng)庫(kù)(提前在本地安裝好Maven,可參考本人整理的maven安裝過程:http://www.reibang.com/p/123892b1661d)
1)點(diǎn)擊菜單欄 File -> Settings 掀亥,搜索 maven
2)修改 Maven home directory :為已安裝的 Maven 的路徑
3)修改 User setting file:選擇 Maven 安裝目錄下的 \ conf \ settings.xml撞反, Local repository 會(huì)自動(dòng)加載
二、創(chuàng)建 jsp 視圖
問題二:剛開始在 templates目錄下想要?jiǎng)?chuàng)建 jsp 文件搪花,想要 new 一個(gè) jsp 遏片,但一直找不到 jsp 模板,原來(lái) springboot 默認(rèn)不推薦使用 jsp文件作為視圖撮竿!
解決方法:引入 jsp 依賴包吮便,創(chuàng)建 webapp 目錄來(lái)進(jìn)行創(chuàng)建 jsp 文件
step6: 在 main 下?新增 webapp 目錄、WEB-INF 目錄幢踏、 jsp 目錄髓需, 創(chuàng)建 jsp 文件
在 main 下新增 webapp 目錄, 在 webapp 目錄下新增 WEB-INF 目錄和 jsp 目錄惑折,則將 jsp 文件創(chuàng)建在 jsp 目錄下
右擊 jsp 目錄 -> new -> JSP/JSPX page 創(chuàng)建 jsp 文件授账,例如本文創(chuàng)建 index.jsp
step7:在 WEB_INF 目錄下新增 web.xml
首先枯跑,右擊 項(xiàng)目? ->? Open Module Settings
選擇Modules? ->? 選擇Web? ->? 點(diǎn)擊 + 號(hào)? ->? 點(diǎn)擊 web.xml
選擇 main\webapp\WEB-INF 目錄惨驶,在后面添加上 web.xml白热,點(diǎn)擊ok
web.xml 內(nèi)容如下:
問題三:在根據(jù)其他人創(chuàng)建 webapp目錄教程中,都把 jsp目錄放在 WEB-INF目錄下粗卜,結(jié)果我運(yùn)行的時(shí)候一直報(bào)錯(cuò)
解決方法:將 jsp 文件夾放在 webapp 目錄下屋确,與 WEB-INF 目錄平級(jí),運(yùn)行成功
step8:在 pom.xml 文件中新增 JSP 和 JSTL 的 Maven 依賴配置
添加? org.apache.tomcat.embed 的 tomcat-embed-jasper 依賴包和 javax.servlet 的 jstl 依賴包
問題四:添加以上兩個(gè)依賴包续扔,發(fā)現(xiàn)引入報(bào)錯(cuò)攻臀,說沒有找到
解決方法:項(xiàng)目中還沒有加載這兩個(gè)依賴包,所以需要重新 import maven
1)點(diǎn)擊菜單欄 View -> 選擇 Tool Window -> 選擇 Maven Project
2)點(diǎn)擊 刷新圖標(biāo)纱昧,reimport? maven
step9:在 application.properties 文件中定義視圖前后綴
配置tomcat端口(默認(rèn)值為8080)刨啸,可以選擇不配置
spring.mvc.view.prefix 和 spring.mvc.view.suffix 是 Spring Boot 約定的視圖前綴和后綴的配置,意思是找到 /jsp/ 目錄下以 .jsp 為后綴的 JSP 文件
三识脆、創(chuàng)建控制器 controller
step10:在 main / java / com.spring.demo 目錄下设联,創(chuàng)建 controller 類
右擊 com.spring.demo 目錄 -> new -> 選擇 pakage,新增 controller 包
右擊 controller 目錄 ->? new -> 選擇 Java Class灼捂,創(chuàng)建 Controller 類 离例,本人創(chuàng)建為 IndexController 類
引入注解 @Controller 和 @RequestMapping,返回 jsp 頁(yè)面
問題五: @Controller 和 @ RestController 的區(qū)別
@Controller:表明該類內(nèi)的所有方法默認(rèn)返回頁(yè)面路徑悉稠,加 @ResponseBody的方法可返回?cái)?shù)據(jù)
@ RestController :是 @ResponseBody 和 @Controller 的組合注解宫蛆,返回 json 數(shù)據(jù),的猛;原先返回 json 數(shù)據(jù)需要 @ResponseBody 和 @Controller 配合
在本項(xiàng)目demo中耀盗,如果使用 @ RestController ,則頁(yè)面返回的是 index() 函數(shù)返回的字符串 index卦尊,結(jié)果如下圖:
四叛拷、啟動(dòng)springboot 項(xiàng)目
step11:運(yùn)行項(xiàng)目的啟動(dòng)類,啟動(dòng)項(xiàng)目
step12:在瀏覽中輸入 http:localhost:8090/index猫牡,返回 index.jsp 頁(yè)面
springboot 小 demo 搭建完畢??? ^_^