【spring boot】5.spring boot 建立web項目並使用jsp做前臺頁面【idea新建立spring boot服務,pom完善便可啓動】

賊煩的是,使用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>
View Code

上面這三個是spring boot項目建立使用jsp頁面的web項目必須的三個依賴 tomcat

這裏介紹下maven中scope依賴範圍的概念,由於後續涉及到這個會有問題。mvc

依賴範圍就是用來控制依賴和三種classpath(編譯classpath,測試classpath、運行classpath)的關係,Maven有以下幾種依賴範圍:app

  • compile:編譯依賴範圍。若是沒有指定,就會默認使用該依賴範圍。使用此依賴範圍的Maven依賴,對於編譯、測試、運行三種classpath都有效。典型的例子是spring-code,在編譯、測試和運行的時候都須要使用該依賴。
  • test: 測試依賴範圍。使用次依賴範圍的Maven依賴,只對於測試classpath有效,在編譯主代碼或者運行項目的使用時將沒法使用此依賴。典型的例子是Jnuit,它只有在編譯測試代碼及運行測試的時候才須要。
  • provided:已提供依賴範圍。使用此依賴範圍的Maven依賴,對於編譯和測試classpath有效,但在運行時候無效。典型的例子是servlet-api,編譯和測試項目的時候須要該依賴,但在運行項目的時候,因爲容器以及提供,就不須要Maven重複地引入一遍。

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的方式也能夠訪問到。

 

 

=====================================================================================================

由於確實碰到不少小的點注意不到的地方,致使整個就是訪問不到,反正上面該羅列的都羅列出來了。

相關文章
相關標籤/搜索