從零開始學SpringBoot2.x(05-SpringBoot整合視圖技術:JSP篇)

對於JSP相信大家都不陌生,無論是在學校學習,還是工作中,多多少少都會接觸到一些,那麼如何在SpringBoot應用中使用JSP模板呢?Easy~

首先,我們在pom文件中添加web依賴及jsp支持,如下:
 

  <dependencies>
        <!-- web組件 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- 添加jsp依賴支持 -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>

其次,我們來到SpringBoot配置文件application.yml中添加視圖解析器的前綴和後綴,如下:

spring:  mvc:    view:      prefix: /WEB-INF/page/ #配置視圖解析的前綴      suffix: .jsp #配置視圖解析的後綴server:  port: 80

這裏可以看到,我配置的視圖解析器的前綴爲/WEB-INF/page/,我們在與resources同級目錄下創建webapp目錄,然後在webapp下創建/WEB-INF/page/目錄,最終目錄結構如下圖所示:

接着編寫我們的測試控制器,其內容如下:


/**
 * @Description JSP測試控制器
 * @Auther: 笑笑
 * @Date: 14:38 2019/10/26
 */
@Controller
public class JspTestController {

    private static final String INDEX_PAGE = "index";

    /**
     * 首頁跳轉測試
     * @param model
     * @return
     */
    @GetMapping(value = "/index")
    public String index(Model model){
        model.addAttribute("jsp","Hello Jsp!");
        return INDEX_PAGE;
    }
}

index.jsp中的內容很簡單,使用EL表達式把我們放入Model域對象中的數據取出來,如下:​​​​​​​

<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head>    <title>JSP 測試</title></head><body><%-- 使用EL表達式取值 --%>${jsp}</body></html>

最後啓動我們的應用程序,由於我配置了80端口,瀏覽器訪問http://localhost/index,結果如下:

可以看到,我們的JSP頁面訪問成功!是不是很簡單呢~

雖然我們的JSP頁面成功被訪問,但無論是SpringBoot官方還是我(這樣放一起,頓時感覺自己好牛逼!)都不建議大家使用JSP模板,因爲JSP的本質其實是一個servlet(Java類),它先要經過轉譯和編譯的步驟,才能輸出頁面的內容,速度上有所欠缺,但一些傳統的項目還在使用,所以也有學習的必要~

 

你還在等什麼,趕緊動手嘗試一下吧!

 

源碼地址:

https://github.com/devilyang123/SpringBoot-Learning/tree/master/springboot-jsp

 


歡迎關注我的個人公衆號“笑笑是一個碼農”,第一時間獲取最新文章。

您的關注,就是支持我持續寫作的最大動力!

還可以免費領取前後端全站學習視頻資料呦~

個人微信號,如需添加微信,請備註來源,因爲媽媽從小就告訴我不要隨便跟陌生人聊天!(嘿嘿~)

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