用于建立请求URL和处理请求方法之间的对应关系。
value可以不写,直接在括号中写,默认就是value值
@RequestMapping(value=“/hello”)
public String hello(){ return…}
@RequestMapping(value=“/hello”,method=RequestMethod.GET/POST/PUT/DELETE)
等效于 :1.@GetMapping(“/hello”);
?????????????? 2.@PostMapping(“/hello”);
???????????????3.@PutMapping(“/hello”);
???????????????4.@DeleteMapping(“/hello”)
写在类上一般是有二级路径,类似
请求 URL的第一级访问目录。此处不写的话,就相当于应用的根目录。写的话需要以/开头。它出现的目的是为了使我们的 URL 可以按照模块化管理,例如:
账户模块:
? /account/add
? /account/update
? /account/delete …
订单模块:
? /order/add
? /order/update
? /order/delete
红色的部分就是把RequsetMappding写在类上,使我们的URL更加精细。
请求URL的第二级访问目录,可以窄化请求路径
使用二级目录访问
@Controller
@RequestMapping("/account")
public class AccountController {
@RequestMapping("/findAccount")
public ModelAndView findAccount() {
ModelAndView mv = new ModelAndView();
mv.addObject("msg", "欢迎你 springmvc");
mv.setViewName("success");
return mv;
}
}
在index.jsp里面定义超链接
<a href="/account/findAccount">窄化路径</a>
描述需要使用指定的请求方式来请求该方法
@Controller
@RequestMapping("/account")
public class AccountController {
//指定的请求方式
@RequestMapping(value = "/findAccount1", method = RequestMethod.POST)
public ModelAndView findAccount1() {
ModelAndView mv = new ModelAndView();
mv.addObject("msg", "欢迎你 springmvc");
mv.setViewName("success");
return mv;
}
}
测试:在index.jsp里使用get方式请求
<a href="/account/findAccount1">请求方式</a>
结果:
我们再换一种请求方式
<form action="account/findAccount1" method="post">
<input type="submit" value="保存账户,post 请求">
</form>
结果: