RequestMapping请求映射方式
1.标准映射
规则:
1) @RequestMapping可以设置在类上,也可以设置在方法上
2) 请求的映射规则是:类上的RequestMapping + 方法上的RequestMapping
3) 如果没有写 / ,SpringMVC会自动补全
4) 类上的RequestMapping可以省略,这时直接用方法的RequestMapping访问
5) 路径不可重复
2.Ant风格映射(通配符映射),有以下三种方式:
3.占位符映射
例如:
@RequestMapping(value="/users/{userId}") :
其中{xxx}占位符, 请求的 URL 可以是 “/users/123456”或“/users/abcd”,重点是通过@PathVariable 可以提取 URI 模板模式中的{xxx}中的xxx变量。
@RequestMapping("show1/{id}") public ModelAndView show1(@PathVariable("id") Long id){ ModelAndView mv=new ModelAndView("hello"); mv.addObject("msg","占位符映射,id: "+id); return mv; }
注:如果传递的参数格式不正确,会出现客户端发送的语法不正确(The request sent by the client was syntactically incorrect )
4.请求方式的限定(Get,Post,Delete,Put...)
通过@RequestMapping注解中的 method属性来限定客户端的请求方式,method属性可以接收的是一个枚举数组:
例如:method=RequestMethod.POST/GET.......
如果你要指定多种操作方式:method={RequestMethod.POST,RequestMethod.GET}
检测方法:利用Advanced Client根据检测
5.请求参数限定
通过@RequestMapping注解的params属性来对请求的参数进行限定:
@RequestParam用来接收(params)的参数
@RequestMapping(value="/show2",param="id") public MNodelAndView show2(@RequestParam("id") Long id){ ModelAndView mv=new ModelAndView("hello"); mv.addObject("msg","请求成功! 你输入的ID为: "+id); return mv }
今天要比昨天好