注解,前面已经涉及到过。看了这章后,才知道这个在日常编码中很是常用。
1.@Controller ,标识控制器,没有参数
2.@RequestMapping ,映射请求、方法,参数:value(默认),name(别名映射),consumes(指定提交内容类型),params(指定request必须包含的参数),headers(指定必须包含的header值),Path(servlet特有,路径映射,后期使用少),produces(返回的内容类型),method(方法类型,GET,POST,TRACE等)
3.@RequestParam 读取请求参数。参数:value(默认),name,defaultValue,required(是否必须绑定)
4.@PathVariable 读取请求地址中相关路径节点值。参数:value
5.@RequestHeader 读取请求headers中相关值。参数:value(默认),name,defaultValue,required(是否必须绑定)
6.@CookieValue 读取cookies中的相关值。参数:value(默认),name,defaultValue,required(是否必须绑定)
7.@SessionAttributes 将Model中对象,传存到Session中。参数:value(默认) ,name ,type(Class<?>)
8.@ModelAttribute 将请求绑定到Model中,该注解,在请求处理时会先执行。参数:value
实例:
@Controller
@RequestMapping(value="/user")
@SessionAttributes("user")
public class UserController{
@ModelAttribute(value="username") //会把返回值存入Model中
public String username(@RequestParam('"username") String name ){
return name ;
}
@RequestMapping(value="/login/{type}" , method = RequestMethod.POST)
public String login(@RequestParam('"username") String name,
@RequestParam("pwd") String pwd,
@PathVariable ("type") String type,
@RequestHeader ("User-Agent") String brower,
@CookieValue(value="JSSESSIONID" , defaultValue="empty") String jssessionid,
Model model
){
model.addAttribute("user",User info); // 假设User 是一个自定义类。会存入Session中
return "welcome"
}
}