1. 程式人生 > >@RequestMapping定義不同的處理器映射規則

@RequestMapping定義不同的處理器映射規則

item 商品數據 註解 數組 del stat 模型 spa 邏輯

  

  通過@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})

@RequestMapping定義不同的處理器映射規則