首页 » 技术乱弹 » 正文

Spring boot 之 Web应用开发篇

发表于: 青年博客 · 2017-9-30 ·  187 views  ·  0 replies 

本篇文章主要是围绕如何在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支持(点我传送>>>)

 

本文链接: http://www.baikeyang.com/code/97289.html
0 like+
«上一篇: :下一篇»

相关文章

Spring Boot 之 Thymeleaf 篇

在Spring boot中,官方默认采用的是Thymeleaf模块引擎,通...

Spring Boot 起步

Spring Boot快速起步。至于什么是Spring Boot?它能干些什...

Thymeleaf 基本表达式

如需了解Thymeleaf以及Thymeleaf整合Spring Boot,请参考《...

JavaScript将数组字符串转数组对象的方法

在JavaScript,如何将数组字符串转数组对象呢?可以利用强...

Jquery圣诞节特效

为了庆祝圣诞节(其实是为了悼念我这毫无收获的一年),自...

部署在多个tomcat同一个项目在同一个浏览器中导致session失效问题

最近在服务器部署环境时,发现了一个现象。同一个项目,部...

《Spring boot 之 Web应用开发篇》有0个想法

  1. 还没有任何评论,你来说两句吧

Leave a reply