@RequestMapping注解用法详解

之前案例中我们就已经使用过@RequestMapping注解了,但还有一些细节我还没讲到,所以在此将详细讲讲@RequestMapping注解的使用。

@RequestMapping

通过@RequestMapping注解可以定义不同的处理器映射规则。主要定义在方法之上,Controller类也可以使用。

1)URL路径映射

@RequestMapping("/xxx")

或者

@RequestMapping(value="/xxx")

value的值是数组,所以可以将多个url映射到同一个方法上。例如:

@RequestMapping(value={"/xx","/dd"})

2)Controller类请求限定

在class上添加@RequestMapping(url)指定通用请求前缀, 限制此类下的所有方法请求url必须以请求前缀开头,通过此方法对url进行分类管理。
例如:@RequestMapping放在类名上边,设置请求前缀。

@Controller
@RequestMapping("/hello")
public class HelloController {
	...
}

以上设置之后,所有/appName/hello下的路径请求全部分配到此COntroller中处理。
例如:

@Controller
@RequestMapping("/hello")
public class HelloController {
	@RequestMapping("/demo01.do")
	public ModelAndView update(){
		//返回视图
		return new ModelAndView("jsp/hello");
	}
}

当访问到 /appName/hello/demo01.do 时会返回jsp/hello视图

3)限定请求方法

可以使用该注解限定发送请求的方法

限定为GET方法:@RequestMapping(method = RequestMethod.GET)

修改以上案例:

@Controller
@RequestMapping("/hello")
public class HelloController {
	@RequestMapping(value="/demo01.do",method={RequestMethod.GET})
	public ModelAndView update(){
		//返回视图
		return new ModelAndView("jsp/hello");
	}
}

当使用post方式进行表单提交访问/appName/hello/demo01.do时会报错:
在这里插入图片描述

限定为post方法:@RequestMapping(method = RequestMethod.POST)

修改案例为:

@Controller
@RequestMapping("/hello")
public class HelloController {
	@RequestMapping(value="/demo01.do",method={RequestMethod.POST})
	public ModelAndView update(){
		//返回视图
		return new ModelAndView("jsp/hello");
	}
}

当使用get方式访问时会报错:
在这里插入图片描述

注意,不要忘记请求中文乱码问题,大家须谨慎对待。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

robona

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值