SpringMVC

目录

SpringMVC概述

SpringMVC入门案例

导入SpringMVC坐标与Servlet坐标

添加json数据转换相关坐标

 @Controller

@RequestMapping

@ResponseBody

@ComponentScan

 @RequestParam

@EnableWebMvc

@RequestBody

 @DateTimeFormat

@PathVariable

@RequestBody与@PathVariable与@RequestParam区别

REST简介

@RestController

@GetMapping  @PostMapping  @PutMapping  @DeleteMapping


SpringMVC概述

SpringMVC技术与Servlet技术功能等同,均属于web层开发技术

SpringMVC是一种基于Java实现MVC模型的轻量级Web框架

优点

使用简单,开发便捷(相比于Servlet)

灵活性强

SpringMVC是一种表现层框架技术

SpringMVC用于进行表现层功能开发

SpringMVC入门案例

导入SpringMVC坐标与Servlet坐标

<dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.10.RELEASE</version>
        </dependency>

添加json数据转换相关坐标

<dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.0</version>
        </dependency>

 @Controller

名称:@Controller

类型:类注解

位置:SpringMVC控制器类定义上方

作用:设定SpringMVC的核心控制器bean

@RequestMapping

名称:@RequestMapping

类型:方法注解          类注解

位置:SpringMVC控制器方法定义上方

作用:设置当前控制器方法请求访问路径,如果设置在类上统一设置当前控制器方法请求访问路径前缀

范例:

@ResponseBody

名称:@ResponseBody

类型:方法注解

位置:SpringMVC控制器方法定义上方

作用:设置当前控制器方法响应内容为当前返回值,无需解析

@ComponentScan

名称:@ComponentScan

类型:类注解

属性

excludeFilters:排除扫描路径中加载的bean,需要指定类别(type)与具体项(classes) includeFilters:加载指定的bean,需要指定类别(type)与具体项(classes)

范例:

 @RequestParam

名称:@RequestParam

类型:形参注解

位置:SpringMVC控制器方法形参定义前面

作用:绑定请求参数与处理器方法形参间的关系

范例:

@EnableWebMvc

名称:@EnableWebMvc

类型:配置类注解

位置:SpringMVC配置类定义上方

作用:开启SpringMVC多项辅助功能

作用:开启自动转换json数据的支持,根据类型匹配对应的类型转换器

@EnableWebMvc注解功能强大,该注解整合了多个功能,此处仅使用其中一部分功能,即json数据进行自动类型转换

@RequestBody

名称:@RequestBody

类型:形参注解

位置:SpringMVC控制器方法形参定义前面

作用:将请求中请求体所包含的数据传递给请求参数,此注解一个处理器方法只能使用一次 范例:

 @DateTimeFormat

名称:@DateTimeFormat

类型:形参注解

位置:SpringMVC控制器方法形参前面

作用:设定日期时间型数据格式

属性:pattern:日期时间格式字符串

范例:

@PathVariable

名称:@PathVariable

类型:形参注解

位置:SpringMVC控制器方法形参定义前面

作用:绑定路径参数与处理器方法形参间的关系,要求路径参数名与形参名一一对应 范例:

@RequestBody与@PathVariable与@RequestParam区别

区别

@RequestParam用于接收url地址传参或表单传参

@RequestBody用于接收json数据

@PathVariable用于接收路径参数,使用{参数名称}描述路径参数

应用

后期开发中,发送请求参数超过1个时,以json格式为主,@RequestBody应用较广

如果发送非json格式数据,选用@RequestParam接收请求参数

采用RESTful进行开发,当参数数量较少时,例如1个,可以采用@PathVariable接收请求路径变量,通常用于传递id值

REST简介

REST(Representational State Transfer),表现形式状态转换

优点:

隐藏资源的访问行为,无法通过地址得知对资源是何种操作

书写简化

根据REST风格对资源进行访问称为RESTful

上述行为是约定方式,约定不是规范,可以打破,所以称REST风格,而不是REST规范 描述模块的名称通常使用复数,也就是加s的格式描述,表示此类资源,而非单个资源,例如:users、books、accounts……

@RestController

名称:@RestController

类型:类注解

位置:基于SpringMVC的RESTful开发控制器类定义上方

作用:设置当前控制器类为RESTful风格,等同于@Controller与@ResponseBody两个注解组合功能

@GetMapping  @PostMapping  @PutMapping  @DeleteMapping

名称:@GetMapping  @PostMapping  @PutMapping  @DeleteMapping

类型:方法注解

位置:基于SpringMVC的RESTful开发控制器方法定义上方

作用:设置当前控制器方法请求访问路径与请求动作,每种对应一个请求动作,例如@GetMapping对应GET请求

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值