通过@RequestMapping注解可以定义不同的处理器映射规则
一、方法URL路径映射
@RequestMapping(value="item")或@RequestMapping("/item") value的值是数组,可以将多个url映射到同一个方法
当只有一个value参数可以省略,当存在第二参数时value不可以省略
@RequestMapping(value = { "itemList", "itemListAll" })
public ModelAndView queryItemList() {
// 查询商品数据
List<Item> list = this.itemService.queryItemList();
// 创建ModelAndView,设置逻辑视图名
ModelAndView mv = new ModelAndView("itemList");
// 把商品数据放到模型中
mv.addObject("itemList", list);
return mv;
}
二、请求方法限定
1.限定GET方法
@RequestMapping(method = RequestMethod.GET)
2.限定POST方法
@RequestMapping(method = RequestMethod.POST)
3.GET和POST都可以
@RequestMapping(method = {RequestMethod.GET,RequestMethod.POST})
三、添加在类上面限定请求前缀
在class上添加@RequestMapping(url)指定通用请求前缀, 限制此类下的所有方法请求url必须以请求前缀开头
@RequestMapping("item")
public class ItemController{
@RequestMapping(value = { "itemList", "itemListAll" })
public ModelAndView queryItemList() {
// 查询商品数据
List<Item> list = this.itemService.queryItemList();
// 创建ModelAndView,设置逻辑视图名
ModelAndView mv = new ModelAndView("itemList");
// 把商品数据放到模型中
mv.addObject("itemList", list);
return mv;
}
}
此时需要进入queryItemList()方法的请求url为
http://127.0.0.1:8080/springmvc-web2/item/itemList.action或
http://127.0.0.1:8080/springmvc-web2/item/itemListAll.action