javaWeb学习Spring boot技术文档

使用Spring Boot开发WEB页面

2016-09-20  本文已影响29666人  蓝色的咖啡

前面一章我们用Spring Boot开发了一个RESTful,本章我们开发一个WEB界面。

目前Spring官方已经不推荐使用JSP来开发WEB了,而是推荐使用如下几种模板引擎来开发:

目前业界使用最广泛的还是FreeMaker和Velocity,我现在就以FreeMaker为例,介绍如何和Spring Boot集成。

添加FreeMaker依赖

首先在pom.xml中添加FreeMaker的依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>

编写一个welcome.ftl

Spring Boot默认存放模板的路径在src/main/resources/templates,不过我们也可以自行修改,文章最后会有一个Sping MVC的配置文件示例。

<!DOCTYPE html>
<html>
<body>
Hello,${name}.欢迎阅读《${bookTitle}》
</body>
</html>

编写Controller来渲染模板

@Controller
public class HelloController {

    @Value("${userName}")
    private String userName;

    @Value("${bookTitle}")
    private String bookTitle;

    @RequestMapping("/")
    public String index(ModelMap map) {
        // 加入一个属性,用来在模板中读取
        map.addAttribute("name", userName);
        map.addAttribute("bookTitle", bookTitle);
        // return模板文件的名称,对应src/main/resources/templates/welcome.html
        return "welcome";
    }
}

上述代码中的userName和bookTitle我们在application.properties中做了设置

userName=Alex
bookTitle=Spring Boot入门教程

最后启动Spring Boot,输入http://localhost:8080/,页面如下所示

FreeMaker示例

静态资源加载

我们在开发WEB页面的时候,还需要加载很多静态资源,比如js、图片、css等文件,那这些文件应该放在哪里呢?

我们在启动Spring Boot的时候,可以看到控制台输出如下一些信息

2016-09-20 15:18:55.445  INFO 16210 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2016-09-20 15:18:55.445  INFO 16210 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2016-09-20 15:18:55.474  INFO 16210 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]

其中默认配置的 /** 映射到 /static (或/public、/resources、/META-INF/resources)
其中默认配置的 /webjars/** 映射到 classpath:/META-INF/resources/webjars/
PS:上面的 static、public、resources 等目录都在 classpath: 下面(例如 src/main/resources/static)。

假如我们的文件是如下图放置,当我们输入http://localhost:8080/dog.jpg的时候,显示的是哪张图片呢?大家可以自行验证一下,这边先告诉大家Spring Boot的加载顺序是
META-INF/resources > resources > static > public

静态资源加载顺序

小结

Spring Boot为我们WEB开发已经准备好了很多默认的配置,一般来说我们已经够用了,如有需要可自行修改,部分常用配置如下,更多常用的配置可参见SpringBoot常用配置

mvc

view

resource

freemarker

velocity

thymeleaf

groovy模板

上一篇 下一篇

猜你喜欢

热点阅读