通過@RequestMapping注解可以定義不同的處理器映射規則。
1. URL路徑映射
@RequestMapping(value="item")或@RequestMapping("/item")
value的值是數組,可以將多個url映射到同一個方法
/** * 查詢商品列表 * @return */ @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; }
2. 添加在類上面
在class上添加@RequestMapping(url)指定通用請求前綴, 限制此類下的所有方法請求url必須以請求前綴開頭
可以使用此方法對url進行分類管理,如下圖:
此時需要進入queryItemList()方法的請求url為:
http://127.0.0.1:8080/springmvc-web2/item/itemList.action
或者
http://127.0.0.1:8080/springmvc-web2/item/itemListAll.action
3. 請求方法限定
除了可以對url進行設置,還可以限定請求進來的方法
- 限定GET方法
@RequestMapping(method = RequestMethod.GET)
如果通過POST訪問則報錯:
HTTP Status 405 - Request method 'POST' not supported
例如:
@RequestMapping(value = "itemList",method = RequestMethod.POST)
- 限定POST方法
@RequestMapping(method = RequestMethod.POST)
如果通過GET訪問則報錯:
HTTP Status 405 - Request method 'GET' not supported
- GET和POST都可以
@RequestMapping(method = {RequestMethod.GET,RequestMethod.POST})