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


  

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM