@RequestMapping定义不同的处理器映射规则

Posted Qiao_Zhi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@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})

 

以上是关于@RequestMapping定义不同的处理器映射规则的主要内容,如果未能解决你的问题,请参考以下文章

@RequestMapping

springmvc中@RequestMapping的使用

SpringMVC之使用requestMapping映射请求映射参数映射头

三SpringMVC注解——@RequestMapping

SpringMVC - @RequestMapping 映射请求

三SpringMVC注解—@RequestMapping与@RequestParam