Author:老九
计算机专业
可控之事 沉重冷静 不可控之事 乐观面对
85180586@qq.com
😄 😆 😵 😭 😰 😅 😢 😤 😍 ☺️ 😎 😩
👍 👎 💯 👏 🔔 🎁 ❓ 💣 ❤️ ☕️ 🌀 🙇 💋 🙏 💦 💩 ❗️ 💢
————————————————
版权声明:本文为CSDN博主「浦上青天」的原创文章
文章目录
知识点
Spring MVC是什么
- Spring MVC是一个Web框架
- Spring MVC是基于Servlet API构建的
MVC定义
- MVC是Model View Controller的缩写,他是软件工程中的一种软件架构模式,他把软件系统分为模型(实体),视图,控制器三个部分
- Model:是应用程序中处理数据逻辑的部分,通常模型对象负责在数据库中进行存取数据
- View:是应用程序中处理数据显示的部分,通过视图是依据模型数据创建的
- Controller:是应用程序中处理用户交互的部分。通常控制器负责从视图中读取数据,控制用户输入,并向模型发送数据
MVC和SpringMVC关系
MVC是一种思想,SpringMVC是对MVC的实现,当用户在浏览器中输入url之后,我们的Spring MVC项目就可以感知到用户的请求
SpringMVC的功能
- 连接的功能:将用户(浏览器)和java程序连接起来,也就是访问一个地址能够调用我们的Spring程序
- 获取参数的功能:用户访问的时候会带一些参数,在程序中要想办法获取到参数
- 输出数据的功能:执行了业务逻辑之后,要把程序执行的结果返回给用户
连接用户和程序
@RequestMapping(“/hi”),这个注解作用是用来注册一个URL路由,通过这个路由,前端的请求可以实现和后端程序的交互,这个注解既能修饰方法,又能修饰类
默认情况下使用@RequestMapping会返回一个html页面,当加上 @ResponseBody 就能返回非页面的数据了
@RequestMapping参数设置
1.@RequestMapping 在不指定任何参数的情况下,那么此方法是既支持Get请求,又支持Post请求类型的
2.当给@RequestMapping 设置了 method属性之后,那么它只能支持设置的请求类型,其他类型会报错(405)
@GetMapping/PostMapping
忽略路由的情况下,二者是相等的
三者区别:
@RequestMapping既能修饰方法,又能修饰类,但@GetMapping和@PostMapping只能修饰方法,不能修饰类
SpringBoot热加载(热部署)配置
- 在Spring Boot项目中引入dev-tools框架
- 在IDEA的setting中,开启项目自动编译
- 开启热部署(点击debug)
得到用户的参数
2.1获取单个参数(注意①参数类型必须是包装类,不然会报500,②多个参数之间使用&连接)③key值必须相对应
2.1.1重命名前端Key值(@RequestParam)
将前端名为time的key赋值给后端的createtime变量
@RequestParam既能重命名请求参数,又能保证此参数为必传参数,若要设置参数可传可不传,就把required设置为false就可以了
2.2获取对象
前端若发送json对象,要加@RequestBody注解
2.3从URL中获得参数
2.4 @RequestPart 用于上传文件
2.5获取Cookie/Session/header
更简单的获取Cookie的方式
更简单的获取Header的方式
更简单的Session存储和读取
Spring MVC获取用户的请求总结:
- 获取单个参数:在方法中写相应的参数即可(参数要和前端参数对应)
- 获取对象:在方法中直接写对象就可以实现了
- 获取JSON对象:@RequestBody 加到方法中的参数的前面
- 获取文件:@Requestpart
- 获取用户的Cookie/Session/Header:@CookieValue,@SessionAttribute,@RequestHeader
返回结果给前端
1.返回text/html(加注解@ReponseBody)
不是@RequestBody
2.返回JSON数据
也得加@ReponseBody
请求转发或请求重定向
forward VS redirect
return 不但可以返回一个视图,还可以实现跳转
他们的区别:
1.请求转发是服务器帮客户进行请求转发,并将结果响应给客户端,URL地址是不变的;而重定向是请求重新定义到要访问的地址上,URL地址会发生改变。
2.使用请求转发那么有可能外部资源是会丢失,访问不到的;而请求重定向是直接重定向到URL地址了,所以请求重定向和访问目标地址的效果是一模一样的,所以不会存在外部资源(css样式等)丢失的情况
- forward:请求转发
- redirect:重定向
组合注解
@RestController=@Controller+@ResponseBody
多环境配置文件
有固定格式的命名方式,不同环境配置一个文件,每次只需要更改application.properties中的配置文件即可
先赞后看,养成习惯!!!^ _ ^♥♥♥
每天都更新知识点哦!!!
码字不易,大家的支持就是我坚持下去的动力。点赞后不要忘记关注我哦!