为了简化开发,SpringMVC提供了一系列注解供开发人员使用。通常有6个常用注解。
@Controller
@Controller注解表示一个Controller类,Spring会把@Controller注解标注的类作为处理器。
@Controller
public class MyController02 {
@RequestMapping("/exectue")
public ModelAndView exectue() {
ModelAndView mv = new ModelAndView();
mv.addObject("msg","Hello controller!");
mv.setViewName("page01");
return mv;
}
}
@RequestMapping
@RequestMapping用于处理请求地址映射,当@RequestMapping用于一个Controller类时,表示类中所有的响应请求方法都以该地址的父路径,当@RequestMapping用于Controller中的一个方法时,该方法将成为处理请求的方法。
属性 | 描述 |
---|---|
value | 指定请求地址 |
method | 指定该方法可以处理的HTTP请求方式 |
consumes | 指定处理请求的提交类容 |
produces | 指定返回的类容类型 |
params | 指定请求中必须包含某些参数值,才让该方法处理 |
headers | 指定请求中必须包含某些特性的header值,才让该方法处理 |
name | 为映射地址指定别名 |
@Controller
public class MyController03 {
@RequestMapping(value = "/toWelcome")
public ModelAndView toWelcome() {
ModelAndView mv = new ModelAndView();
mv.addObject("msg","Hello towelcome");
mv.setViewName("page02");
return mv;
}
@RequestMapping(value = "/welcome",method = RequestMethod.POST)
public ModelAndView welcome() {
ModelAndView mv = new ModelAndView();
mv.addObject("msg","Hello welcome");
mv.setViewName("page01");
return mv;
}
}
@RequestParam
@RequsetParam注解用于获取请求参数的值,他可以将参数赋值给方法的形参,进而完成对请求参数的处理。
属性 | 描述 |
---|---|
value | 指定参数的名称 |
required | 指定参数是否绑定 |
defaultvalue | 指定默认参数 |
@RequestMapping("/login")
public ModelAndView login(@RequestParam(value = "username",defaultValue = "xiaofeng")String username,
@RequestParam(value = "password",defaultValue = "123abc")String password) {
System.out.println("用户名" + username);
System.out.println("密码:" + password);
return null;
}
@PathVariable
@pathVariable注解用与获取URL的动态参数,它支持动态URL访问并可以将请求URL中的动态参数映射到功能处理方法的形参上。
@PathVariable常用属性
属性 | 描述 |
---|---|
value | 指定将要映射的参数名称 |
required | 指定参数是否绑定的参数 |
@Controller
@RequestMapping(value = "/claList/{cid}")
public class MyController05 {
@RequestMapping(value = "/stuList/{sid}")
public String findStudent(@PathVariable(value = "cid")Integer cid,@PathVariable(value = "sid")Integer sid) {
System.out.println("班级ID" + cid);
System.out.println("学生ID" + sid);
return null;
}
}
# @CookieValue
@CookieValue注解用于获取Cookie数据,它可以将Cookie数据映射到功能处理方法的形参上。
属性 | 描述 |
---|---|
value | 指定Cookie的名称 |
required | 指定参数是否绑定 |
defaultvalue | 指定默认参数 |
@RequestHeader
@RequestHeader注解用于获取请求头中的数据,它可以将请求头中的数据映射到功能处理方法的形参上。
属性 | 描述 |
---|---|
value | 指定Header的名称 |
required | 指定参数是否绑定 |
defaultvalue | 指定默认参数 |