Spring boot 之 Web应用开发篇

  • 内容
  • 评论
  • 相关

本篇文章主要是围绕如何在Spring Boot中进行Web开发呢?

 

 

一、Web中的静态资源配置

通常在我们开发Web应用的时候都需要引入大量的JS、CSS、图片 等等的静态资源。

在Spring Boot中默认提供的静态资源目录位置需要放置在classpath下,目录名称需要符合如下:

    · /static

    · /public

    · /resources

    · /META-INF/resources

例如:在src/main/resources/目录下创建一个static目录,在该目录下放置一个图片。启动程序后,尝试访问http://localhost:8080/temp.jpg,如果图片可以正常显示,则就配置成功。

二、关于Web页面的显示与渲染

在Spring Boot中,使用@RestController来处理请求,返回的内容为JSON对象。如果需要返回渲染或显示页面,可以使用@Controller来处理请求。

在Spring Boot中,官方为我们提供并推荐了多款模板引擎的默认配置支持,提供默认配置的模板引擎主要有如下几种:

    · Thymeleaf

    · FreeMarker

    · Velocity

    · Groovy

    · Mustache

在这里要特别特别说明:Spring Boot建议使用这些模板引擎,避免使用JSP,若一定要使用JSP将无法实现Spring Boot的多种特性,所以,在这里我也就不再说怎么去支持JSP的配置了。

当我们要使用上面模板引擎中的任何一个时,它们默认的模板配置路径是 src/main/resources/templates,这个路径也是可以去配置修改的,至于怎么修改,继续往下面看哟 ~

在这里就以Thymeleaf为例:

简单介绍下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(文档对象模型)上执行预先制定好的逻辑。

下面是一小段关于Thymeleaf模板引擎的示例:

从上面的实例中可以看到Thymeleaf主要以属性的方式加入到html标签中,浏览器在解析html时,当检查到没有的属性时候会忽略,所以Thymeleaf的模板可以通过浏览器直接打开展现,这样比较有利于前后端的分离。

如果我们要在Spring Boot中使用 Thymeleaf 模板,需要引入Spring boot Thymeleaf 的依赖,然后在默认的模板路径下 src/main/resources/templates 下编写模板文件就可以了。

以上配置基本完成。下面来一个简单的例子演示:

HelloController.java

index.html

上面页面直接打开html显示的是Hello World,但是项目启动后访问http://localhost:8080/hello,这显示的 http://www.baikeyang.com/,这就做到了不破坏HTML自身内容的数据逻辑分离。

关于Thymeleaf的页面语法,大家可以查看Thymeleaf的官方文档学习使用。

下面是Thymeleaf的默认参数配置:

如果有需要修改默认配置,只需要将下面的修改属性复制到application.properties文件中,并修改成你说需要的值即可,比如修改模板文件的扩展名、模板路径 等

关于JSP的配置:
Spring Boot并不建议使用,但如果一定要使用,可以参考此工程作为脚手架:JSP支持(点我传送>>>)

 

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注