美文网首页Java&JAVA EE程序员Java学习笔记
基本注解 @RequestMapping基本用法 Spring

基本注解 @RequestMapping基本用法 Spring

作者: 强出头 | 来源:发表于2017-07-24 09:19 被阅读644次

简介:

@RequestMapping
RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
RequestMapping注解有六个属性,下面我们把她分成三类进行说明。
1、 value, method;
value: 指定请求的实际地址,指定的地址可以是URI Template 模式(后面将会说明);
method: 指定请求的method类型, GET、POST、PUT、DELETE等;

2、 params,headers;
params: 指定request中必须包含某些参数值是,才让该方法处理。
headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。

3、Ant路径写法

1、@RequestMapping处理请求地址映射value属性)

value: 指定请求的实际地址
在我们的Spring MVC中,我们会定义地址到我们Controller层的每一个方法,用于各种请求。比如在下图中的对比

访问根目录下的index.jsp

点击Hello World!


helloWorld方法

根目录后面的helloWorld即是我们@RequestMapping("/helloWorld")注解起来的方法,具体代码看下面




    /*
    * 1、@RequestMapping除了可以修饰方法还可以修饰类
    * 2、类定义处相对于根目录,方法定义处相对于类
    * */
    @RequestMapping(value = "/helloWorld")
    public String helloWorld(){
        System.out.println("helloWorld");
        return "success";
    }

注解里面的名字与方法名无关,当然我们也可以用来修饰类,起表现形式如下


@Controller
@RequestMapping(value = "hello")
public class HelloWorldController {
    /*
    * 1、@RequestMapping除了可以修饰方法还可以修饰类
    * 2、类定义处相对于根目录,方法定义处相对于类
    * */
    @RequestMapping(value = "/helloWorld")
    public String helloWorld(){
        System.out.println("helloWorld");
        return "success";
    }
}


注意到我们@Controller下面注解@RequestMapping("hello"),我们可以看到如下图的访问地址变化

根目录后面添加了一层地址“hello”

2、@RequestMapping处理请求地址映射method属性)

method: 指定请求的method类型
我们的请求一般会有4中方式GET、PUT、POST、DELETE,我们可以通过method属性来指定请求,否则请求不成功。我们看如下代码


@RequestMapping(value = "/helloWorld",method = RequestMethod.GET)
    public String helloWorld(){
        System.out.println("helloWorld");
        return "success";
    }

在代码中我们可以看到指定的请求是GET方法,只有网页过来的地址正确且为GET请求才会正确返回。

3、@RequestMapping处理请求地址映射params和headers属性)

params: 指定request中必须包含某些参数值是,才让该方法处理。
headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。


@RequestMapping(value = "/helloWorld",method = RequestMethod.GET,params = {"name","age != 10"},headers = {"User-Agent=123"}))
    public String helloWorld(){
        System.out.println("helloWorld");
        return "success";
    }

4、@RequestMapping Ant路径写法


@RequestMapping(value = "/helloWorld/*",method = RequestMethod.GET,params = {"name","age != 10"},headers = {"User-Agent=123"}))
    public String helloWorld(){
        System.out.println("helloWorld");
        return "success";
    }

注意helloWorld后面*号,这里指的是路径在/helloWorld/后面加任何都可以访问。

相关文章

网友评论

本文标题:基本注解 @RequestMapping基本用法 Spring

本文链接:https://www.haomeiwen.com/subject/faymkxtx.html