SpringMVC之RequestMapping注解详解
1.@RequestMapping注解的作用
(1)SpringMVC使用@RequestMapping注解来为控制器指定处理请求
(2)@RequestMapping可以修饰类也可以修饰方法
当@RequestMapping修饰类的时候是为了给控制器提供初步的请求映射信息,作为控制器中的根节点
当@RequestMapping修饰方法的时候却没修饰类的时候,那么此时方法上的请求映射信息作为控制器中的根节点
如果俩者之间都被@RequestMapping进行了修饰,那么请求映射信息的顺序是先找到到类上的映射信息在找到方法上的映射信息
下面举个例子
前段jsp的内容
<a herf=
”
spring-mvc/hello
”
>hello world<a>
我们通过一个简单的超链接向控制器发送一个get请求,从上面我们可以看出首先我们的请求映射信息会先找到后端控制器中类上的@RequestMapping注解里面的值为spring-mvc,然后会找到对应的方法@RequestMapping注解里面的值为hello
下面是控制器中的代码
@Controller
@RequestMapping("/spring-mvc")
public class HelloWord {
@RequestMapping(value="/hello")
public String hello(){
return "/view/success.jsp";
}
首先通过@Controller注解找到控制器,然后通过类和方法中定义的@RequestMapping找到请求映射信息,然后返回到webroot/view路径下的success.jsp页面
@RequestMapping中除了value属性还有method,param属性以及headers等
method属性可以指定请求方式
param属性和headers属性可以让请求映射信息更加精确,如果定义了param属性和headers属性那么jsp端需要在原有的请求映射信息添加参数值,并且参数值是符合param属性和headers属性值要求的
以上是个人对@RequestMapping注解的理解,有不对和不好的地方希望有人可以指出,批评谢谢