RequestMapping注解的作用是建立请求URL和处理方法之间的对应关系
RequestMapping注解可以作用在类上也可以作用在方法上。
作用在类上,是第一级访问目录。
作用在方法上,是第二级访问目录。
1.RequestMapping的属性(1)path指定请求路径
(2)value 和path属性是一样的
(3)method 指定该方法的请求方式 (get,post,put...)
(4)params 请求地址中必须包含指定的参数或参数们
2、RequestMapping的请求参数绑定(1)绑定机制
1、key:value 格式的数据
2、SpringMVC的参数绑定过程是把表单提交的请求参数,作为控制器中方法的参数进行绑定
3、要求:提交表单的name和参数名称是相同的
(2)支持数据类型
1、基本数据类型和字符串类型
2、实体类型(JavaBean)
3、集合数据类型(list、map)
基本数据类型和字符串类型:
1、提交表单的name和参数的名称是相同的
2、区别大小写
实体类型
1、提交表单的name和JavaBean的属性名称是一致的
2、如果JavaBean类中包含其他的引用类型,那么表单的name属性需要编写成 对象.属性
给集合属性数据封装
1、jsp页面编写方式:list[0].属性
要想让前端的数据,传递到后端,还需要Controller
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping("/save")
public String save(String username,Integer age){
System.out.println(username);
System.out.println(age);
return "suc";
}
@RequestMapping("/save1")
public String save1(User user){
System.out.println(user.toString());
return "suc";
}
@RequestMapping("/save2")
public String save2(User user){
System.out.println(user);
return "suc";
}
}
在控制器中使用原生的ServletAPI对象
只需要在控制器的方法参数定义HttpServletRequest和HttpServletResponse对象
@RequestMapping(value = "/save6.do",method = {RequestMethod.POST})
public String save6(HttpServletRequest request, HttpServletResponse response){
//获取到HttpSession对象
HttpSession session=request.getSession();
return "suc";
}
二、RequestParam注解
1、作用:把请求中的指定名称的参数传递给控制器中的形参赋值
2、属性
1、value:请求参数的名称
2、required:请求参数中是否必须提供此参数,默认值为true,必须提供
@Controller
@RequestMapping("/dept")
public class DeptController {
@RequestMapping("/save")
public String save(@RequestParam(value = "username",required = true) String name){
//name的参数必须提供,否则访问save方法就会报错
System.out.println(name);
return "suc";
}
}
三、RequestBody注解
1、作用:用于获取请求体的内容(请求方法是get的不可以)
2、属性 required:是否必须有请求体 ,默认值时true



