SpringMVC中的@RequestMapping注解

本文记录Java学习过程中遇到的SpringMVC中的@RequestMapping注解~

通过@RequestMapping注解可以定义不同的处理器映射规则。

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;
}

添加在类上面

在class上添加@RequestMapping(url)指定通用请求前缀,限制此类下的所有方法请求url必须以请求前缀开头。

示例代码:

@Controller
@RequestMapping("item")
public class ItemController {
	
	@RequestMapping(value = {"itemList", "itemListAll"})
	public ModelAndView queryItemList() {
		//查询代码等
	}
}

请求方法限定

除了可以对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})

标签: none