2024-01-12(SpringMVC)

1.SpringMVC

Spring为展现层提供的基于MVC设计理念的Web框架,是目前最主流的MVC框架之一。

SpringMVC是一种轻量级的、基于MVC的Web层应用框架。它能让我们对请求数据的出来,响应数据的处理,页面的跳转等常见的web操作变得更加简单方便。

2.SpringMVC内部依然使用Servlet来实现的,只不过帮我们进行了可以简便操作的封装。

3.@RequestMapping的value属性(缺省属性)用来执行请求路径,method属性用来指定请求类型

指定请求类型可以用以下注解代替:

2024-01-12(SpringMVC)_第1张图片

更加方便

4.@RequestMapping中使用params属性来对请求参数做一些限制。可以要求必须具有某些参数,或者是某些参数必须是某个值,或者是某些参数必须不是某个值。

2024-01-12(SpringMVC)_第2张图片

2024-01-12(SpringMVC)_第3张图片

5.@RequestMapping注解使用headers属性来对请求头进行一些限制。(请求头可以识别和区分亲求方式,例如请求方式来自于ios,Android,....等)

2024-01-12(SpringMVC)_第4张图片

2024-01-12(SpringMVC)_第5张图片

6.@RequestMapping注解指定请求头Context-Type:我们可以使用consumers属性来对Context-Type这个请求头进行一些限制,表示请求头中的数据的类型是什么,是文本还是图片还是html等格式。

2024-01-12(SpringMVC)_第6张图片

7.RestFul风格:RestFul是一种网络应用程序的设计风格和开发方式。企业的网络接口定义都会符合其风格。

接口和网络接口的区别:简单理解,网络接口需要走网络调用,也就是SpringMVC(Servlet)开发的接口。

主要风格如下:

① 每一个url代表一种资源。

② 客户端使用GET,POST,PUT,DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源,PUT用来更新资源,DELETE用来删除资源。

③ 简单参数例如id等,要求写到url路径上。例如:/user/1  GET:获取id=1的user信息,DELETE:删除id=1的信息。

④ 复杂的参数,要求转换成json或者xml(基本json)写到请求体中。

8.RestFul风格获取请求参数的方法

简单请求参数:

2024-01-12(SpringMVC)_第7张图片

2024-01-12(SpringMVC)_第8张图片

复杂请求参数(Json):

2024-01-12(SpringMVC)_第9张图片

注意:要使用@RequestBody注解从请求体中获取Json格式的数据,要在请求头Headers中设置Content-Type参数为application/json。

9.获取QueryString格式的参数

如果接口是使用QueryString格式的话,我们也可以使用SpringMVC快速获取参数。我们可以使用@RequestParam(默认也可以不加这个注解)来获取QueryString格式的参数。

QueryString格式:www.cxr.com/id=1&name=whitemu&sex=man&age=26

① QueryString中单独参数的获取eg:

2024-01-12(SpringMVC)_第10张图片

② QueryString中获取参数然后封装成实体对象eg:

2024-01-12(SpringMVC)_第11张图片

10.SpringMVC中的类型转换器

虽然我们从请求中获取请求参数已经十分方便了,但是有时候还有一种情况,那就是例如我们想要把请求参数success=1的值赋给一个Boolean类型的变量,那么这个时候就涉及到类型转换了,就可以使用SpringMVC中的类型转换器。

11.响应体响应数据

无论是RestFul风格还是之前web阶段的异步请求,都需要把数据转换成json放入响应体中。

SpringMVC为我们提供了@ResponseBody注解来非常方便的把json放到响应体中。(之前原始我们是使用web原生的HttpResponse对象来响应给前端的,比较麻烦)

12.SpringMVC实现页面跳转(用的少),就是不需要@ResponseBody注解就好,此时return就是跳转页面

2024-01-12(SpringMVC)_第12张图片

13.视图解析器(老项目用的东西了,例如Jsp项目)

为什么要用视图解析器:如果我们经常需要跳转页面,并且页面所在的路径比较长,我们每次写完整路径会显得有点麻烦。我们可以配置视图解析器,设置跳转路径的前缀和后缀。这样可以简化我们的书写。

14.SpringMVC获取原生对象及相关数据

我们之前在web阶段我们经常要使用到request对象,response,session对象。我们也可以通过SpringMVC获取到这些对象。(不过在MVC中我们很少获取这些对象,因为有更简便的方式,避免了我们使用这些原生对象相对繁琐的API)

2024-01-12(SpringMVC)_第13张图片

15.获取请求头参数

在方法中定义一个参数,参数前面加上@RequestHeader注解,知道想要获取的请求头名即可获取对应请求头的值。

2024-01-12(SpringMVC)_第14张图片

16.获取Cookie

在方法中定义一个参数,参数前加上@CookieValue注解。知道想要获取的Cookie名即可获取对应Cookie的值。

2024-01-12(SpringMVC)_第15张图片

你可能感兴趣的:(随记日志,mvc)