SpringMVC

1.SpringMVC

Spring内部数据结构
1.数据的结构: Map 理解为容器
2.数据内容: KEY-VALUE
-KEY:一般都是类名的首字母小写 helloController
-Value: 一般存储的是经过反射等机制实例化的对象
Map<helloController,controller对象>

3.单例: 容器中只保存一个对象, spring容器管理对象的生命周期 和容器几乎同生共死
默认:单例对象
多例: 如果用户需要使用,则新创建一个对象交给用户使用,由用户管理对象的生命周期.

bean配置文件说明
与Map集合进行关联
———————————————

1.1 框架的作用
接收前端传递的数据,与用户进行交互.

1.2 SpringMVC参数传递的格式
1.2.1 简单参数传值
html

前提: servlet 是一种参数传递的机制 要求:所有的参数类型都是String 数据类型
说明: 数据类型的转化是框架帮助完成的!!!
public xxxx getUser(String username,Integer age)

1.2.2 对象的方式接收参数
html

要求: 1.属性的名称必须与name属性名称一致.
2. 要求对象中必须有set/get方法 对象的属性都是private
public xxxx getUser(User user)

1.2.3 同名提交问题
html

说明: 有时页面中会出现同名的提交问题 name属性都是一致的. 问 SpringMVC如何接收
原理: 当页面进行同名提交. 会将参数使用","号进行拼接 hobby = 吃1,吃2,吃3 String数据类型
mvc参数接收:

	public xxxx getUser(String[] hobby){
		//hobby 按照,号拆分为数组  之后循环变量 取值操作......
	}
	...的本质 就是数组
	public xxxx getUser(String... hobby){
		//hobby 按照,号拆分为数组  之后循环变量 取值操作......
	}				

1.2.4 为对象的引用赋值
原则: SpringMVC中页面的name属性名称 不能重复, 除非同名提交问题
实际需求: 使用对象的引用解决 实际需求中的同名提交问题

 <input  name="name" type="text" value="二郎神">  user(name) 二郎神,啸天
 <input  name="dog.name" type="text" value="啸天">     dog(name)  二郎神,啸天


	public class User{
		private String name;   //二郎神
		private Dog dog;	   //dog对象
	}
	public class Dog{
		private String name;   //啸天
	}
	public xxxx getUser(User user){
		
	}	

1.2.5 restFul风格
get请求案例: http://localhost:8080/getUser?id=100
restFul: 可以简化get请求的结构 简化key 使用/进行分隔,请求路径中不能有动词,要求restFul的请求是无状态的.
http://localhost:8080/user/100/tom
参数接收:

	@RequestMapping("/user/{id}/{name}")
	public xxx getUser(@Pathvariable Integer id,@Pathvariable String name){
	}
	//要求: {属性名称} 必须与对象的属性名称一致   get/set方法支持
	@RequestMapping("/getUser/{id}/{name}")
	public xxx getUser(User user){
	}

请求类型与业务逻辑的关系:
请求路径: http://localhost:8080/user/100/tom type=“put”
RestFul中要求: 通过请求的类型控制业务逻辑的执行.
1.Get 查询操作
2.Post 登录/注册时使用(增)
3.Put 修改操作
4.Delete 删除操作

	@GetMapping("/user/{id}/{name}")
	public xxx getUser(@Pathvariable Integer id,@Pathvariable String name){
	}
	
	@PutMapping("/user/{id}/{name}")
	public xxx getUser(User user){
	}

1.2.6 restFul面试题
考题: 什么是restFul?
答:
1.restFul其实可以简化之前的get请求的类型,将参数使用/的方式进行分隔,减少了url参数的传递的字节信息.
2.restFul规定,可以通过一个url请求的地址,通过不同的请求的类型,控制业务逻辑. restFul中 要求路径中不能出现动词.

1.2.7 SpringMVC调用流程图(扩展)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值