1. 程式人生 > >一、spring boot入門(web+freemarker)

一、spring boot入門(web+freemarker)

value mls mar 使用 blog doctype web app span 啟動

1.配置maven文件pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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.hdwang</groupId> <artifactId>spring-boot-test</artifactId> <version>1.0-SNAPSHOT</version> <name>spring-boot-test</name> <description>project for test Spring Boot</description> <properties
> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <!-- Inherit defaults from Spring Boot --> <parent> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <version>1.5.4.RELEASE</version> <relativePath/> </parent> <dependencies> <!-- Add typical dependencies for a web application --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> <!-- auto redeploy --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> <!-- Package as an executable jar --> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>

2.文件結構(static/templates/application.properties/logback.xml的名稱都是約定好了的,只可以使用某幾個名稱,具體參考spring boot官方文檔,下面的名稱是其中一種配置方式)

技術分享

3.建立啟動類(放在頂層,子層(下級文件夾)的類方可被掃描註入)

@SpringBootApplication
public class Application {

    /**
     * main function
     * @param args params
     */
    public static void main(String[] args){
       SpringApplication.run(Application.class,args);
    }
}

4.建立controller(在Application類的下級目錄中)

@Controller
@RequestMapping("/common")
public class Common {

    @Value("${msg:Welcome!}")
    private String msg;

    /**
     * get a page
     * @return a page with name called return value
     */
    @RequestMapping("login")
    public String getLoginPage(ModelMap map){
        map.put("welcomeMsg",this.msg);
        return "login";
    }


}

5.建立網頁模板login.ftl(freemarker必須使用ftl後綴,被這個坑了好久!js/css啥的都放在相應文件夾下,註意訪問路徑中不帶/static,也被這個坑了好久!)

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>login</title>

    <link href="/css/home.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="/js/jquery-2.0.3.min.js"></script>
    <script type="text/javascript" src="/js/home.js"></script>
</head>
<body>
<h1>login page</h1>
<h2>${welcomeMsg}</h2>
<form>
    <div>
     <label>用戶名:<input type="text" id="username"/></label>
    </div>
    <div>
     <label>密碼:<input type="password"/></label>
    </div>
    <div>
        <input type="submit" value="提交"/>
        <input type="reset" value="重置" />
    </div>
</form>
</body>
</html>

6.應用配置文件編寫

新建application.properties文件並添加以下內容

msg=Ladies and gentleman,Welcome!

7.啟動運行

瀏覽器中訪問:http://localhost:8080/common/login

技術分享

8.部署

mvn package 打個包

java -jar xxx.jar 運行這個包即可  

一、spring boot入門(web+freemarker)