JavaEE进阶(5/28)SpringMVC

目录

1.什么是SpringMVC?

2.学习SpringMVC学习了什么?

3.SpringMVC核心1

4.SpringBoot传递参数

5.SpringBoot传递对象参数

6.SpringBoot传递表单

7.SpringBoot后端参数重命名

8.SpringBoot后端用来接收json对象


1.什么是SpringMVC?

1.它构建servlet之上的(servlet学的就是API)

2.他是一个web框架(具有Http能力)(ajax底层是Http)

3.来自于Spring中的webMVC模块

MVC是什么:Model View Controller  模型 视图 控制器

Model负责在数据库中存取数据

View:视图是用来展现信息的(用户看的)

Controlller:处理Controller的信息给用户(为了让用户看懂,Controller的信息用户看不懂)

SpringMVC和MVC的关系就像DI基于Ioc的关系一样,一个是具体的技术,一个是软件工程设计思想。

总结来说,SpringMVC是一个实现了MVC设计思想,并继承了servlet的API的Web框架

为什么学习SpirngMVC?

是为了更好的使用SpringBoot 因为SpringBoot里面的Spring Web内置了SpringMVC

2.学习SpringMVC学习了什么?

1.连接浏览器 和Java程序

2.获取用户参数的功能

3.输出数据返回浏览器

3.SpringMVC核心1

 上图解释

@RequestMapping  使用这个注解来实现类和方法路由的注册,实现浏览器连接Java程序

其实就是网页的路径,类可以不加,但是方法一定要加

@Controller   前后端交互    加了这个Spring启动的时候把这个类注册到Spring中

@ResponseBody  该注解表示方法的返回值将直接作为响应体返回给客户端,

如果不加@ResponseBody 方法返回的hi会被视为逻辑视图名(View),会被解析为对应的视图模块进行渲染,而不是直接返回客户端。

不写@ResponBody默认返回的View 这是SpringMVC的历史遗留原因

总结起来,加入这三个注解是为了实现将方法的返回值直接作为响应体返回给客户端,并将请求路径映射到对应的方法上,使得浏览器能够访问到对应的方法并获取响应结果。

符合注解@RestController 是Controller和ResponseBody的复合

get和post的区别

4.SpringBoot传递参数

 第二个表示当前接口只支持post接口的访问url

从url获取参数(一切都是对于后端而言的 )

Java代码中的name要和url或者body中的key完全相同

传参注意事项:在SpringBoot(MVC)传参中一定要传包装类型,不能传入基本类型

如果传入了基本类型的话,如果url不设置参数的话那么就会报500错误

5.SpringBoot传递对象参数

 

 GetMapping是从服务器拿东西(查询字符串是直接写入到服务器再拿到前端的)

6.SpringBoot传递表单

前端给后端传入参数,两种方式

1.from表单  传入后端和get一样  ,后端去取的话使用对象去取

2.ajax

不管前端是表单还是ajax,后端都是用GetMapping和SetMapping来传入前端和接受的前端的数据的

7.SpringBoot后端参数重命名

当前端小哥给你个不标准的参数命名的时候,你要改成标准的

 @RequestParam

实际就是

前端是按照t1 t2传给我的

但是我接受的时候把t1 t2 重命名 ,我用我重命名的beginTime 和endTime,前端用他自己的t1 t2 我们互不影响 

注意用参数重命名的注解@RequestParam的时候默认是买一送一的,它自动给你设置了必须传入参数,否则无法获取数据

 如果不想设置必须传入参数的话,把required 设为false

8.SpringBoot后端用来接收json对象

首先明白接受java对象的注解@GetMapping方法不能接受json对象

为什么要用json传输呢?

当第三方之间进行信息交互的时候一般约定用json交流

                如何接受json对象?

注解@RequestBody,从请求的body中去拿数据

  

 json是存放在body中的 ,get大部分没有body所以用postMapping最好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值