1 @RequestMapping用途
通过@RequestMapping注解可以定义不同的处理器映射规则。
2 URL路径映射
value的值可以是单个值,也可以是数组,可以将多个url映射到同一个方法
@RequestMapping(value="item")
@RequestMapping("/item")
@RequestMapping(value="/item.action")
@RequestMapping("item")
@RequestMapping(value = { "itemList", "itemListAll" })
3 添加在类上
在class上添加@RequestMapping(url)指定通用请求前缀, 限制此类下的所有方法请求url必须以请求前缀开头
@Controller
@RequestMapping("item")
public class ItemsController {
@Autowired
private ItemsService itemsService;
@RequestMapping("itemList")
public ModelAndView queryItemsList() {
List<Items> itemsList = itemsService.queryItemsList();
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("itemList",itemsList);
modelAndView.setViewName("itemList");
return modelAndView;
}
}
如果想要执行上述的handler,那么请求路径为localhost:8080/SpringMVC/item/itemList.action
4 请求方法限定
除了可以对url进行设置,还可以限定请求进来的方法
4.1 限定GET方法
@RequestMapping(value = "itemList",method = RequestMethod.GET)
如果通过POST访问则报错:
HTTP Status 405 - Request method 'POST' not supported
4.2 限定POST方法
@RequestMapping(value = "itemList",method = RequestMethod.POST)
如果通过GET访问则报错:
HTTP Status 405 - Request method 'GET' not supported
4.3 同时指定GET和POST方法
@RequestMapping(value = "itemList",method = {RequestMethod.GET,RequestMethod.POST})