springBoot返回jsp

直接使用SpringMVC時配置訪問jsp頁面時很容易的事,但是由于Spring Boot使用內(nèi)嵌的servlet容器,所以對jsp的支持不是很好,而且也不建議使用jsp,但是為了滿足這種返回jsp頁面的需求同時又想享受Spring Boot免去各種配置的麻煩,經(jīng)本屌絲各種試驗,有兩種方法可以供參考,在說明以下兩種方法前首先聲明所用的依賴如下:

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

spring-boot-starter-web是用來支持web應(yīng)用開發(fā)的,在導(dǎo)入之后會自動導(dǎo)入內(nèi)嵌的servlet容器,比如Tomcat,但是要注意的是此時并沒有能解析jsp頁面的jasper模塊,由此可以看出內(nèi)嵌的servlet容器并不是全部導(dǎo)入的,而是分模塊部分導(dǎo)入的,Jasper需要我們手動導(dǎo)入。如果還要使用jstl庫,也可以繼續(xù)導(dǎo)入:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>

1、在工程中返回jsp頁面

由于Spring Boot的目錄結(jié)構(gòu)和普通的Web應(yīng)用的目錄結(jié)構(gòu)是不同的,為了返回jsp,首先要建立對應(yīng)的web應(yīng)用程序目錄,在/src/main下建立WEB-INF/jsp目錄,形成/src/main/WEB-INF/jsp,然后將我們的jsp頁面放在下面即可。

然后再繼續(xù)配置application.properties文件,如下:

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

這與只使用SpringMVC時的配置十分類似,而且可以看出使用的是InternalResourceViewResolver視圖解析器。使用代碼測試一下:

@Controller
public class SpringBootController {
    @RequestMapping("/")
    public String index(){
        return "welcome";
    }
}

以上會返回/src/main/WEB-INF/jsp/welcome.jsp視圖。
但是,返回頁面只是在eclipse這種IDE中直接運行Spring Boot程序時會起作用,如果打包成jar包后是不會包含我們創(chuàng)建的WEB-INF/jsp目錄的,也就沒有我們定義的jsp頁面,所以會返回404狀態(tài)碼,所以這種方法實際上是沒有什么意義的,個人感覺(沒用你還說什么??!只是提出一種解決方式。。)

2、在打包后返回jsp頁面

如果想在打包后使用java -jar ***.jar來運行代碼,就要使用如下這種方法,在/src/main/resources/中建立如下的目錄META-INF/resources/WEB-INF/jsp,然后application.properties的配置和第一種方法相同。但是這樣在使用mvn package打包后會包含上面建立的目錄,如下:

jar包目錄

這時使用java -jar SpringBootTemplate-0.0.1-SNAPSHOT.jar就可以愉快地部署應(yīng)用程序了,順便說一句,此時在jsp頁面也可以使用EL表達式獲取Model中存儲的數(shù)據(jù)了。


相關(guān)文章:

</article>

</main>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,275評論 6 342
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139
  • 要加“m”說明是MB,否則就是KB了. -Xms:初始值 -Xmx:最大值 -Xmn:最小值 java -Xms8...
    dadong0505閱讀 5,068評論 0 53
  • “他們相濡以沫,原本有很多明天可以相見,可是最終,離她最近的地方,路途卻最遠(yuǎn)——他豁出所有也沒能留住她,生病死了,...
    anhaoqingtian閱讀 541評論 0 5
  • 2017年2月24日 今天老婆懷孕啦 幸福,焦慮,忐忑 幸福是因為要做爸爸了,生活突然變得有了期盼。 焦慮是因為老...
    木雪霜晨閱讀 293評論 0 0

友情鏈接更多精彩內(nèi)容