賊煩的是,使用spring boot 建立web項目,而後我再idea下建立的,but 僅僅啓動spring boot的啓動類,就算整個項目都是好着的,就算是可以進入controller中,也不能成功訪問到jsp頁面。很尷尬!也很無語!html
好吧,開頭一句抱怨,下面全靠編~~~java
=======================================================================================================web
1.idea下spring boot建立web項目spring
剛建立完是下面這樣apache
固然,最後建立完的使用JSP的web項目可不是這個結構的。往下看。api
2.pom.xml添加下面瀏覽器
<!--web 支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--jsp頁面使用jstl標籤--> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <!--用於編譯jsp--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency>
上面這三個是spring boot項目建立使用jsp頁面的web項目必須的三個依賴 tomcat
這裏介紹下maven中scope依賴範圍的概念,由於後續涉及到這個會有問題。mvc
依賴範圍就是用來控制依賴和三種classpath(編譯classpath,測試classpath、運行classpath)的關係,Maven有以下幾種依賴範圍:app
3.建立webapp目錄,並建立jsp頁面在目錄下
注意建立的目錄層級關係
若是再建立jsp頁面的時候,不能右鍵直接建立的話,能夠http://www.cnblogs.com/sxdcgaq8080/p/7676294.html
4.application.properties配置文件的完善
注意前綴 的值是 /WEB-INF/views/ 而不是 /WEB-INF/views
少一個/ 整個訪問的路徑就是不完整的。
spring.mvc.view.prefix = /WEB-INF/views/
spring.mvc.view.suffix = .jsp
由於webapp在剛剛上面建立jsp頁面的時候,已經被指定爲classpath了,也就是根路徑了。
因此如今,這裏配置了mvc的【view】視圖層前綴後綴,指定controller中尋找頁面就去/WEB-INF/views/ 下面去找.jsp文件了。
5.寫一個跳轉頁面的controller層
6.因此,最終項目的目錄結構是這個樣子的
哦哦,這裏有一個web目錄,是能夠刪掉的,不過刪不刪也無所謂,沒有多大的關係
7.最後一步,啓動而且能訪問
這裏不是經過啓動類去啓動,而是須要經過spring-boot:run去啓動
右鍵 run 或者debug均可以
而後 啓動起來以後在瀏覽器訪問
是能夠訪問到的。
8.還有就是,若是把用於編譯jsp的 這個插件的scope註解,也就是使用默認的scope
<!--用於編譯jsp--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <!--<scope>provided</scope>--> </dependency>
而後import 整個pom.xml文件以後。
再經過 啓動 啓動類的方式來啓動spring boot項目的話,也是能夠訪問的到的【我把web目錄刪掉了】
經過啓動spring-boot:run的方式也能夠訪問到。
=====================================================================================================
由於確實碰到不少小的點注意不到的地方,致使整個就是訪問不到,反正上面該羅列的都羅列出來了。