玩轉spring boot——MVC應用

冬子哥發表於2017-01-03

 

如何快速搭建一個MCV程式?

參照spring官方例子:https://spring.io/guides/gs/serving-web-content/

一、spring mvc結合thymeleaf模板


 

 

建立maven project後,修改pom.xml檔案

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.github.carter659</groupId>
    <artifactId>spring02</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.2.RELEASE</version>
    </parent>

    <name>spring02</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
pom.xml

 

新增“MainController.java”這個控制器的類檔案:

package com.github.carter659.spring02;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class MainController {

    @GetMapping("/")
    public String index(Model model) {
        model.addAttribute("name", "劉冬");
        return "index";
    }

}

 

修改App.java檔案

package com.github.carter659.spring02;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

 

然後在專案中右鍵進入java build path

 

新增資料夾“And Folder”

 

在main目錄下新增“resources”資料夾

 

修改"resources"的“Excluded”:

 

 

輸入“**”

 

在src/main/resources下建立“templates”資料夾,並新建一個html檔案“index.html”

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>MVC</title>
</head>
<body>
    <p th:text="'Hello, ' + ${name} + '!'" />
</body>
</html>

 

 

 

 

輸入http://localhost:8080 檢測是否執行成功:

 

 

 

以上是使用thymeleaf模板做的動態頁面, 那麼,如何在MVC應用中使用靜態資源呢?

 

二、靜態資源


 

在src\main\resources下新建“static”資料夾

並在其資料夾中複製進一張圖片檔案

 

 

修改之前的“index.html”檔案,增加img標籤

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>MVC</title>
</head>
<body>
    <img alt="ae86" src="img.png" />
    <p th:text="'Hello, ' + ${name} + '!'" />
</body>
</html>

 

 

這時,立刻出現一個現象:

 

我們發現程式會自動熱載入,這是因為在maven中依賴了“devtools”

最後,重新整理網頁,測試靜態資源是否載入

 

 

PS:spring boot主推的是thymeleaf模板,而其語言用的是xml,個人認為不是非常方便。

 

程式碼下載:https://github.com/carter659/spring-boot-02.git

 

 

如果你覺得我的部落格對你有幫助,可以給我點兒打賞,左側微信,右側支付寶。

有可能就是你的一點打賞會讓我的部落格寫的更好:)

 

玩轉spring boot系列目錄

相關文章