Spring Boot 中 Controller 返回HTML頁面

由于Spring Boot 內(nèi)嵌了 Tomcat 容器杈笔,所以不用把項(xiàng)目打成war包恐锣,再放到Tomcat中去運(yùn)行影暴。但是隨之出現(xiàn)了個(gè)問題襟己,基于Tomcat的Web應(yīng)用都有一個(gè)/webapp目錄來存放前端頁面和靜態(tài)資源等文件。那么Spring Boot中應(yīng)該放在哪里呢厦画?

目錄/resources代替了webapp

如果你是用Spring Initializr新建的項(xiàng)目的話疮茄,那么當(dāng)你打開項(xiàng)目,就會(huì)看到:


Spring Initializr新建的項(xiàng)目的目錄

對(duì)根暑,/resources目錄下已經(jīng)存在了兩個(gè)包:
/static 用來存放靜態(tài)文件
/templates 用來存放前端頁面

Ps:沒有目錄的話可以自己創(chuàng)建

編寫hello.html

我們寫一個(gè)最簡單的HTML頁面力试,放在/templates下:

<html lang="zh-CN" xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Hello World</title>
</head>
<body>
Hi!!!!!!!!!!!!!!!!!!!
</body>
</html>

可能你注意到了,在<html lang="zh-CN" xmlns:th="http://www.thymeleaf.org">中多了點(diǎn)東西排嫌,沒關(guān)系畸裳,繼續(xù)往下看。

編寫Controller返回hello.html

我們寫一個(gè)Spring MVC中最簡單的Controller,用來返回hello.html:

@Controller
public class IndexController {

    @RequestMapping("/hello")
    public String hello(){
        System.out.println("Hello!!!");
        return "hello";
    }

}

然后通過Postman來測試一下接口:

測試一下接口

可以看到報(bào)錯(cuò)了淳地,錯(cuò)誤提示說躯畴,可能是沒有指定視圖。

我們知道在傳統(tǒng)的Tomcat Web應(yīng)用里面薇芝,還需要配置web.xml與SpringMVC。

不過也太麻煩啦丰嘉,所以Spring Boot就簡化了這些配置夯到,并且推薦使用Thymeleaf前端模板引擎。
前面提到的多了點(diǎn)東西也就是這個(gè)引擎的語法饮亏。

引入Thymeleaf依賴

我用Gradle做依賴管理:

compile group: 'org.springframework.boot', name: 'spring-boot-starter-thymeleaf', version: '1.5.4.RELEASE'

配置application.properties

# 模板配置
# 這個(gè)開發(fā)配置為false耍贾,避免改了模板還要重啟服務(wù)器
spring.thymeleaf.cache=false
# 這個(gè)是配置模板路徑的,默認(rèn)就是templates路幸,可不用配置
spring.thymeleaf.prefix=classpath:/templates/
# 這個(gè)可以不配置荐开,檢查模板位置
spring.thymeleaf.check-template-location=true
# 下面3個(gè)不做解釋了,可以不配置
spring.thymeleaf.suffix=.html
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html

# 模板的模式
spring.thymeleaf.mode=HTML5

繼續(xù)測試接口

成功啦简肴!

可以看到返回的就是hello.html

Thymeleaf語法也是個(gè)坑晃听,有時(shí)間再去看看吧~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市砰识,隨后出現(xiàn)的幾起案子能扒,更是在濱河造成了極大的恐慌,老刑警劉巖辫狼,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件初斑,死亡現(xiàn)場離奇詭異,居然都是意外死亡膨处,警方通過查閱死者的電腦和手機(jī)见秤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門砂竖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鹃答,你說我怎么就攤上這事乎澄。” “怎么了挣跋?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵三圆,是天一觀的道長。 經(jīng)常有香客問我避咆,道長舟肉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任查库,我火速辦了婚禮路媚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘樊销。我一直安慰自己整慎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布围苫。 她就那樣靜靜地躺著裤园,像睡著了一般。 火紅的嫁衣襯著肌膚如雪剂府。 梳的紋絲不亂的頭發(fā)上拧揽,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音腺占,去河邊找鬼淤袜。 笑死,一個(gè)胖子當(dāng)著我的面吹牛衰伯,可吹牛的內(nèi)容都是我干的铡羡。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼意鲸,長吁一口氣:“原來是場噩夢啊……” “哼烦周!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起怎顾,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤论矾,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后杆勇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贪壳,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年蚜退,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了闰靴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片彪笼。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蚂且,靈堂內(nèi)的尸體忽然破棺而出配猫,到底是詐尸還是另有隱情,我是刑警寧澤杏死,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布泵肄,位于F島的核電站,受9級(jí)特大地震影響淑翼,放射性物質(zhì)發(fā)生泄漏腐巢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一玄括、第九天 我趴在偏房一處隱蔽的房頂上張望冯丙。 院中可真熱鬧,春花似錦遭京、人聲如沸胃惜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽船殉。三九已至,卻和暖如春斯嚎,著一層夾襖步出監(jiān)牢的瞬間捺弦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國打工孝扛, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人幽崩。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓苦始,卻偏偏與公主長得像,于是被迫代替她去往敵國和親慌申。 傳聞我的和親對(duì)象是個(gè)殘疾皇子陌选,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容