Spring笔记5——SpringMVC
简介
这个技术隶属于spring,是spring技术中的一部分。
入门案例
spring-webmvc的版本与前面spring包的版本保持一致5.2.10
作为spring技术,先要把它做成一个bean,用与@Component功能一样的注解@Controller(专用于开发表现层)
然后定义任意一个方法,返回值设置为期待的类型(json数据就是string类型)
页面想调用这个方法,访问的路径在@RequestMapping里设置。
第一个方法是告诉tomcat容器加载spring配置类。
第二个方法是拦截所有请求,交给springmvc去处理。
工作流程
服务器启动的工作流程
1.服务器启动之后第一件事是加载服务器的配置,在web3.0之后不用web.xml了,用配置类。在使用springmvc时,这个配置类执行了ServletContainersInitConfig这个类,初始化了web容器
2.WebApplicationContext这个对象是springmvc的容器最终体现的对象
3.加载具体的配置
配置是组件扫描:
4.扫的是controller:
5.这里用/save关联了save方法,以后用户发出/save请求的时候就会被拦截到这个方法中(这个映射关系不是在这里定义的,所有的springmvc的映射关系是放在一起统一管理的,不是这里)
6.设置拦截所有进入tomcat的请求全部交给springmvc来处理
一次具体请求流程
当用户发送了一次请求localhost/save,web容器收到,然后根据之前的设定把这个请求交给springmvc。springmvc根据之前@requestMapping的配置,解析请求路径发现是save()方法,然后就把save()执行后的返回值直接作为响应体返回给请求方。
bean加载控制
请求与响应
请求映射路径
↓
GET请求参数
POST请求参数
【图片】
中文参数 过滤器处理
请求参数
普通参数
POJO参数
嵌套POJO参数
集合保存普通参数
总结就是:默认的,名称都能对上;对不上的,用@RequestParam对一下就行
如果要用集合参数传递,写成下面的代码就会出错:
报错:
(<init>表示构造函数)这里的报错意思是找不到list的构造方法,因为list被当作一个引用类型去解析了,程序会去找其构造方法制造其对象,然后用set方法去给集合的属性赋值。但我们是想让外部数据做成集合中的数据出现,而非集合的属性(集合的属性都是些length什么的)
使用注解:
就可以解决
json数据传递参数
步骤:
两个注解:
演示:
日期类型参数传递
转换的原理:
响应
REST风格
REST简介
访问网络资源的格式转换
入门案例
以前使用这个注解不区分提交方式,现在开始区分了:
RESTful快速开发
案例
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY