关键词:
简介
Web开发的核心内容主要包括内嵌的Servlet容器和SpringMVC。
SpringBoot使用起来非常简洁,大部分配置都有SpringBoot自动装配。
SpringBoot的web支持
SpringBoot提供了spring-boot-starter-web为web开发予以支持,而这个启动器内嵌了Tomcat以及SpringMVC依赖。而web相关的自动配置存储在spring-boot-autoconfigure.jar的org.springframework.boot.autoconfigure.web包下。
其中如图:
从这些文件名就可以看出:
ServletWebServerFactoryAutoConfiguration和ServerProperties自动配置内嵌的Servlet容器
HttpEncodingAutoConfiguration和ServerProperties自动配置http编码
MultipartAutoConfiguration和MultipartProperties自动配置上传文件属性
WebMvcAutoConfiguration和WebMvcProperties配置Spring MVC
Thymeleaf,模板引擎
SpringBoot中推荐使用Thymeleaf,是因为Thymeleaf提供了完美的SpringMVC支持。
基础
Thymeleaf是一个Java类库,让是一个xml/xhtml/html5的模板引擎,可以作为MVC的View层。
Thymeleaf还提供了额外的模块与SpringMVC集成。
Thymeleaf的自动配置规则:ThymeleafProperties
@ConfigurationProperties(prefix = "spring.thymeleaf")
public class ThymeleafProperties
private static final Charset DEFAULT_ENCODING;
public static final String DEFAULT_PREFIX = "classpath:/templates/";
public static final String DEFAULT_SUFFIX = ".html";
private boolean checkTemplate = true;
private boolean checkTemplateLocation = true;
private String prefix = "classpath:/templates/";
private String suffix = ".html";
private String mode = "HTML";
private Charset encoding;
可以看到其中默认的前缀和后缀,所以只需要把html页面放在templates下,thymeleaf就会自动渲染。
模板引擎的作用
做好一个前端页面模板,其中包含一些动态的值,我们写一些表达式代替。而这些值,是从后台获取的已经封装好的数据。然后把这个页面模板和数据交给模板引擎,模板引擎按照数据帮我们解析表达式、并把结果填充到指定的位置,然后把这个数据最终生成一个想要的内容输出到前端页面,这就是我们这个模板引擎,不管是jsp还是其他模板引擎,都是这个思想。只不过,不同模板引擎之间,语法不同。
Thymeleaf模板引擎,是一个高级语言的模板引擎,语法更简单,功能更强大。
使用Thymeleaf模板引擎
引入Thymeleaf并在html页面添加命名空间约束
<!--thymeleaf-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
xmlns:th="http://www.thymeleaf.org"
Thymeleaf语法
参考Thymeleaf 官网
我们可以使用任意的th:xxx来替代html中原生属性的值
常见的表达式语法
Simple expressions:(表达式语法)
Variable Expressions: $...:获取变量值
Selection Variable Expressions: *...:选择表达式:和$在功能上是一样;
Message Expressions: #...:获取国际化内容
Link URL Expressions: @...:定义URL;
Fragment Expressions: ~...:片段引用表达式
Literals(字面量)
Text literals: 'one text' , 'Another one!' ,…
Number literals: 0 , 34 , 3.0 , 12.3 ,…
Boolean literals: true , false
Null literal: null
Literal tokens: one , sometext , main ,…
Text operations:(文本操作)
String concatenation: +
Literal substitutions: |The name is $name|
Arithmetic operations:(数学运算)
Binary operators: + , - , * , / , %
Minus sign (unary operator): -
Boolean operations:(布尔运算)
Binary operators: and , or
Boolean negation (unary operator): ! , not
Comparisons and equality:(比较运算)
Comparators: > , < , >= , <= ( gt , lt , ge , le )
Equality operators: == , != ( eq , ne )
Conditional operators:条件运算(三元运算符)
If-then: (if) ? (then)
If-then-else: (if) ? (then) : (else)
Default: (value) ?: (defaultvalue)
Special tokens:
No-Operation: _
使用SpringBoot的步骤
创建一个SpringBoot项目,选择需要的模块,SpringBoot默认将选择的模块自动配置。
手动配置文件中的配置部分。
更加专注编写业务代码,不需要考虑之前的一大堆配置。
静态资源的自动配置
在自动配置类WebMvcAutoConfigurationAdapter的addResourceHandlers方法中 定义了以下静态资源的自动配置。
1. 类文件路径
把类路径向下的/META-INF/resources,/resources,/static和/public文件夹下的静态文件直接映射为/**,可以通过http://localhost:8080/**来访问
2. webjar
何谓webjar,webjar就是将我们常用的脚本框架封装在jar包中的jar包
webjar官网
把webjar的/META-INF/resources/webjars/下的静态资源文件映射成/webjar/**,可以通过http://localhost:8080/webjar/**来访问
"classpath:/META-INF/resources/" localhost:8080/webjars/
"classpath:/resources/" //优先级最高 localhost:8080/
"classpath:/static/" //优先级其次,默认 localhost:8080/
"classpath:/public/" //优先级最低 localhost:8080/
4.springboot的web开发1
一.回顾好的,同学们,那么接下来呢,我们开始学习SpringBoot与Web开发,从这一章往后,就属于我们实战部分的内容了;其实SpringBoot的东西用起来非常简单,因为SpringBoot最大的特点就是自动装配。使用SpringBoot的步骤:创建一个S... 查看详情
springboot:web综合开发
web开发springbootweb开发非常的简单,其中包括常用的json输出、filters、property、log等json接口开发在以前的spring开发的时候需要我们提供json接口的时候需要做那些配置呢添加jackjson等相关jar包配置springcontroller扫描对接的方法添加@Resp... 查看详情
springboot框架学习6-springboot的web开发
...章节主要内容:通过前面的学习,我们了解并快速完成了springboot第一个应用。springboot企业级框架,那么springboot怎么读取静态资源?如js文件夹,css文件以及png/jpg图片呢?怎么自定义消息转换器呢?怎么自定义springmvc的配置呢?... 查看详情
springboot与web开发
简介 使用SpringBoot;1)、创建SpringBoot应用,选中我们需要的模块;比如web等等2)、SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来3)、自己编写业务代码; 参考这里:比如要连... 查看详情
springboot_web开发
3.19目录1.Springboot开发步骤2.Springboot对静态资源的映射规则3.模板引擎引入ThymeleafThymeleaf使用和语法4.SpringMVC自动配置原理5.修改Springboot的默认配置6.全面接管SpringMvc 1.步骤:1.创建springboot应用,选中需要的模块2.springboot已... 查看详情
springboot的web应用程序开发
SpringBoot非常适合Web应用程序开发。您可以使用嵌入式Tomcat、Jetty、Undertow或Netty创建一个自包含的HTTP服务器。大多数Web应用程序使用该spring-boot-starter-web模块来快速启动和运行。您还可以选择使用该spring-boot-starter-... 查看详情
springboot用于web开发
1.使用SpringBoot;1)创建SpringBoot应用,选中我们需要的模块;2)SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来3)自己编写业务代码;自动配置原理?xxxxAutoConfiguration:帮我们给容器中... 查看详情
springboot快速体验web开发
spring-boot-starter-web是SpringBoot对Web开发的支持,主要包括RESTful、参数校验、使用Tomcat作为内嵌容器等功能1.json的支持2.请求传参使用SpirngBoot可以轻松的对请求做一些限制,如为了安全只允许POST请求的访问。只需要在方法上添加一... 查看详情
springboot:web开发-模板引擎freemarker
一、简介springboot的web应用开发,是基于springmvc。Springboot在spring默认基础上,自动配置添加了以下特性: 1、包含了ContentNegotiatingViewResolver和BeanNameViewResolverbeans。 2、对静态资源的支持,包括对WebJars的支持。 3、自动... 查看详情
springboot(二):web综合开发
SpringBoot(二):web综合开发来源:纯洁的微笑,www.ityouknow.com/springboot/2016/02/03/springboot(二)-web综合开发.html如有好文章投稿,请点击→这里了解详情上篇文章介绍了Springboot初级教程:《 springboot(一):入门篇 》... 查看详情
springboot学习笔记——web开发探究(代码片段)
前置知识:SpringBoot学习笔记——SpringBoot简介与HelloWordSpringBoot学习笔记——源码初步解析SpringBoot学习笔记——配置文件yaml学习SpringBoot学习笔记——JSR303数据校验与多环境切换SpringBoot学习笔记——自动配置原理Web开发探究简介... 查看详情
springboot干货系列:开发web应用jsp篇
SpringBoot干货系列:(五)开发Web应用JSP篇原创 2017-04-05 嘟嘟MD 嘟爷java超神学堂前言上一篇介绍了SpringBoot中使用Thymeleaf模板引擎,今天来介绍一下如何使用SpringBoot官方不推荐的jsp,虽然难度有点大,但是玩起来还是蛮... 查看详情
springboot的web开发支持与thymeleat模板引擎(代码片段)
SpringBoot的Web开发支持与Thymeleat模板引擎Web开发是基于B/S架构的应用软件开发技术,分为前端(用户接口)和后端(业务逻辑和数据),前端的可视化及用户交互由浏览器实现,即以浏览器作为客户端,实现客户与服务... 查看详情
springboot框架学习7-springboot的web开发-自定义消息转换器
...章节主要内容:通过前面的学习,我们了解并快速完成了springboot第一个应用。springboot企业级框架,那么springboot怎么读取静态资源?如js文件夹,css文件以及png/jpg图片呢?怎么自定义消息转换器呢?怎么自定义springmvc的配置呢?... 查看详情
springboot开发web应用
...候,需要引用大量的js、css、图片等静态资源。默认配置SpringBoot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则:/static/public/resources/META-INF/resources举例:我们可以在src/main/resources/目录下创建static,在该位置... 查看详情
springboot框架学习9-springboot的web开发-错误解决及跳转页面
...章节主要内容:通过前面的学习,我们了解并快速完成了springboot第一个应用。springboot企业级框架,那么springboot怎么读取静态资源?如js文件夹,css文件以及png/jpg图片呢?怎么自定义消息转换器呢?怎么自定义springmvc的配置呢?... 查看详情
springboot实战实现web的常用功能
...还需要考虑到与Web服务器关联的Servlet相关组件的定制。SpringBoot框架支持整合一些常用Web框架,从而实现Web开发,并默认支持Web开发中的一些通用功能。本 查看详情
springboot-web综合开发(转)(代码片段)
Web开发SpringBootWeb开发非常的简单,其中包括常用的json输出、filters、property、log等json接口开发在以前使用Spring开发项目,需要提供json接口时需要做哪些配置呢添加jackjson等相关jar包配置SpringController扫描对接的方法添加@ResponseBody... 查看详情