由于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ì)看到:
對(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í)間再去看看吧~