Spring MVC(2)——@RequestMapping

@RequestMapping修饰位置

  • Spring MVC 使用 @RequestMapping 注解为控制器指定可以处理哪些 URL 请求
  • 在控制器的类定义及方法定义处都可标注
    • 类定义处:提供初步的请求映射信息。相对于 WEB 应用的根目录
    • 方法处:提供进一步的细分映射信息。相对于类定义处的 URL。若类定义处未标注@RequestMapping,则方法处标记的 URL 相对于WEB 应用的根目录
  • DispatcherServlet 截获请求后,就通过控制器上 @RequestMapping 提供的映射信息确定请求所对应的处理方法。
@Controller
@RequestMapping("/user")
public class UserController {
	
	@RequestMapping("/create")
	public String create() {
		......
	}
	
}

上面这个例子对应的请求URL为:user/create

映射请求参数、请求方法或请求头

  • method属性可以指定映射的请求方式:get、post、put、delete等
@RequestMapping(value = "/testMethod", method = RequestMethod.POST)
public String testMethod() {
	System.out.println("testMethod");
	return "success";
}
  • params和headers属性可以指定映射的请求参数和请求头,它们都支持如下的表达式:
    • param1: 表示请求必须包含名为 param1 的请求参数
    • !param1: 表示请求不能包含名为 param1 的请求参数
    • param1 != value1: 表示请求必须包含名为 param1 的请求参数,但其值不能为 value1
    • {“param1=value1”, “param2”}: 请求必须包含名为 param1 和 param2 的两个请求参数,且param1 参数的值必须为 value1
@RequestMapping(value = "testParamsAndHeaders", params = { "username",
			"age!=10" }, headers = { "Accept-Language=en-US,zh;q=0.8" })
public String testParamsAndHeaders() {
	System.out.println("testParamsAndHeaders");
	return "success";
}

value 属性支持 Ant 风格的 URL

  • Ant 风格资源地址支持 3 种匹配符:
    • ?:匹配文件名中的一个字符
    • *:匹配文件名中的任意字符
    • **:匹配多层路径(可以是0层)
  • @RequestMapping 还支持 Ant 风格的 URL:
    • /user/*/createUser: 匹配 /user/aaa/createUser、/user/bbb/createUser 等 URL
    • /user/**/createUser: 匹配 /user/createUser、/user/aaa/bbb/createUser 等 URL
    • /user/createUser??: 匹配 /user/createUseraa、/user/createUserbb 等 URL
@RequestMapping("/testAntPath/*/abc")
public String testAntPath() {
	System.out.println("testAntPath");
	return "success";
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值