国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Spring Boot開發Web應用詳解

Spring Boot開發Web應用詳解

2020-09-20 14:24翟永超 Java教程

這篇文章主要介紹了Spring Boot開發Web應用詳解,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

Spring Boot快速入門中我們完成了一個簡單的RESTful Service,體驗了快速開發的特性。在留言中也有朋友提到如何把處理結果渲染到頁面上。那么本篇就在上篇基礎上介紹一下如何進行Web應用的開發。

靜態資源訪問

在我們開發Web應用的時候,需要引用大量的js、css、圖片等靜態資源。

默認配置

Spring Boot默認提供靜態資源目錄位置需置于classpath下,目錄名需符合如下規則:

  1. /static
  2. /public
  3. /resources
  4. /META-INF/resources

舉例:我們可以在src/main/resources/目錄下創建static,在該位置放置一個圖片文件。啟動程序后,嘗試訪問http://localhost:8080/D.jpg。如能顯示圖片,配置成功。

渲染Web頁面

在之前的示例中,我們都是通過@RestController來處理請求,所以返回的內容為json對象。那么如果需要渲染html頁面的時候,要如何實現呢?

模板引擎

在動態HTML實現上Spring Boot依然可以完美勝任,并且提供了多種模板引擎的默認配置支持,所以在推薦的模板引擎下,我們可以很快的上手開發動態網站。

Spring Boot提供了默認配置的模板引擎主要有以下幾種:

  1. Thymeleaf
  2. FreeMarker
  3. Velocity
  4. Groovy
  5. Mustache

Spring Boot建議使用這些模板引擎,避免使用JSP,若一定要使用JSP將無法實現Spring Boot的多種特性,具體可見后文:支持JSP的配置

當你使用上述模板引擎中的任何一個,它們默認的模板配置路徑為:src/main/resources/templates。當然也可以修改這個路徑,具體如何修改,可在后續各模板引擎的配置屬性中查詢并修改。

Thymeleaf

Thymeleaf是一個XML/XHTML/HTML5模板引擎,可用于Web與非Web環境中的應用開發。它是一個開源的Java庫,基于Apache License 2.0許可,由Daniel Fernández創建,該作者還是Java加密庫Jasypt的作者。

Thymeleaf提供了一個用于整合Spring MVC的可選模塊,在應用開發中,你可以使用Thymeleaf來完全代替JSP或其他模板引擎,如Velocity、FreeMarker等。Thymeleaf的主要目標在于提供一種可被瀏覽器正確顯示的、格式良好的模板創建方式,因此也可以用作靜態建模。你可以使用它創建經過驗證的XML與HTML模板。相對于編寫邏輯或代碼,開發者只需將標簽屬性添加到模板中即可。接下來,這些標簽屬性就會在DOM(文檔對象模型)上執行預先制定好的邏輯。

示例模板:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<table>
 <thead>
  <tr>
   <th th:text="#{msgs.headers.name}">Name</td>
   <th th:text="#{msgs.headers.price}">Price</td>
  </tr>
 </thead>
 <tbody>
  <tr th:each="prod : ${allProducts}">
   <td th:text="${prod.name}">Oranges</td>
   <td th:text="${#numbers.formatDecimal(prod.price,1,2)}">0.99</td>
  </tr>
 </tbody>
</table>

可以看到Thymeleaf主要以屬性的方式加入到html標簽中,瀏覽器在解析html時,當檢查到沒有的屬性時候會忽略,所以Thymeleaf的模板可以通過瀏覽器直接打開展現,這樣非常有利于前后端的分離。

在Spring Boot中使用Thymeleaf,只需要引入下面依賴,并在默認的模板路徑src/main/resources/templates下編寫模板文件即可完成。

?
1
2
3
4
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

在完成配置之后,舉一個簡單的例子,在快速入門工程的基礎上,舉一個簡單的示例來通過Thymeleaf渲染一個頁面。

?
1
2
3
4
5
6
7
8
9
10
@Controller
public class HelloController {
  @RequestMapping("/")
  public String index(ModelMap map) {
    // 加入一個屬性,用來在模板中讀取
    map.addAttribute("host", "http://blog.didispace.com");
    // return模板文件的名稱,對應src/main/resources/templates/index.html
    return "index";
  }
}
?
1
2
3
4
5
6
7
8
9
10
<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8" />
  <title></title>
</head>
<body>
<h1 th:text="${host}">Hello World</h1>
</body>
</html>

如上頁面,直接打開html頁面展現Hello World,但是啟動程序后,訪問http://localhost:8080/,則是展示Controller中host的值:http://www.jfrwli.cn,做到了不破壞HTML自身內容的數據邏輯分離。

更多Thymeleaf的頁面語法,還請訪問Thymeleaf的官方文檔查詢使用。

Thymeleaf的默認參數配置

如有需要修改默認配置的時候,只需復制下面要修改的屬性到application.properties中,并修改成需要的值,如修改模板文件的擴展名,修改默認的模板路徑等。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Enable template caching.
spring.thymeleaf.cache=true
# Check that the templates location exists.
spring.thymeleaf.check-template-location=true
# Content-Type value.
spring.thymeleaf.content-type=text/html
# Enable MVC Thymeleaf view resolution.
spring.thymeleaf.enabled=true
# Template encoding.
spring.thymeleaf.encoding=UTF-8
# Comma-separated list of view names that should be excluded from resolution.
spring.thymeleaf.excluded-view-names=
# Template mode to be applied to templates. See also StandardTemplateModeHandlers.
spring.thymeleaf.mode=HTML5
# Prefix that gets prepended to view names when building a URL.
spring.thymeleaf.prefix=classpath:/templates/
# Suffix that gets appended to view names when building a URL.
spring.thymeleaf.suffix=.html spring.thymeleaf.template-resolver-order= # Order of the template resolver in the chain. spring.thymeleaf.view-names= # Comma-separated list of view names that can be resolved.

支持JSP的配置

Spring Boot并不建議使用,但如果一定要使用,可以參考此工程作為腳手架:JSP支持

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.didispace.com/springbootweb/

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国产精品美乳在线观看 | 曰韩在线 | 免费观看全黄做爰大片国产 | 国产一区二区精品在线观看 | 精品久久久久久亚洲精品 | 亚洲毛片a | 深夜影院深a | 国外精品视频在线观看 | 亚洲精品综合 | 欧美日韩免费在线 | 国产一区二区免费 | 农村少妇kkkk7777 | 亚洲欧美成人综合 | 欧美日韩一区二区三区在线观看 | 日本视频在线 | 一区二区三区在线观看视频 | 亚洲精品一区二三区 | 91大片在线观看 | 2018啪一啪 | 日本久久久久久久久久 | 欧美一区二区三区在线看 | 午夜精品福利在线观看 | 亚洲欧美日韩精品久久亚洲区 | 国产乱码精品一区二区三区av | 日本中文字幕一区 | 国产在线一区二区三区 | 久久久久国产 | 国产馆| 亚洲福利一区 | 国产成人久久一区二区三区 | 亚洲一区综合 | 91短视频版在线观看www免费 | 成人欧美一区二区三区视频xxx | 国产激情一区二区三区 | 国产成人欧美一区二区三区的 | 久久久青草婷婷精品综合日韩 | 青娱乐国产精品视频 | 91免费在线视频 | 中文字幕国产视频 | 精品一区二区三区免费 | 日韩午夜免费 |