Spring MVC学习之——RequestMapping注解

RequestMapping注解

作用

用于建立请求URL和处理请求方法之间的对应关系。

属性

  1. value:指定请求的实际地址,可以是一个字符串或者一个字符串列表。

    value可以不写,直接在括号中写,默认就是value值
    @RequestMapping(value=“/hello”)
    public String hello(){ return…}

  2. method:指定请求的方式,可以是GET、POST、PUT、DELETE等。

    @RequestMapping(value=“/hello”,method=RequestMethod.GET/POST/PUT/DELETE)
    等效于 :1.@GetMapping(“/hello”);
                   2.@PostMapping(“/hello”);
                   3.@PutMapping(“/hello”);
                   4.@DeleteMapping(“/hello”)

  3. params:指定参数,用于匹配请求路径中的参数。
  4. headers:指定请求头,用于匹配请求头中的内容。
  5. produces:指定响应的媒体类型,用于匹配响应内容的类型。
  6. custom:用于指定自定义的匹配规则。

位置

1.在类上

写在类上一般是有二级路径,类似

  • 请求 URL的第一级访问目录。此处不写的话,就相当于应用的根目录。写的话需要以/开头。它出现的目的是为了使我们的 URL 可以按照模块化管理,例如:

    账户模块:

    /account/add

    /account/update

    /account/delete …

    订单模块:

    /order/add

    /order/update

    /order/delete

    红色的部分就是把RequsetMappding写在类上,使我们的URL更加精细。

2.方法上

请求URL的第二级访问目录,可以窄化请求路径

使用

1.窄化路径

  • 使用二级目录访问

    @Controller
    @RequestMapping("/account")
    public class AccountController {
    
        @RequestMapping("/findAccount")
        public ModelAndView findAccount() {
            ModelAndView mv = new ModelAndView();
            mv.addObject("msg", "欢迎你 springmvc");
            mv.setViewName("success");
            return mv;
        }
    }
    
  • 在index.jsp里面定义超链接

    <a href="/account/findAccount">窄化路径a>
    

2.method属性示例

  • 描述需要使用指定的请求方式来请求该方法

    @Controller
    @RequestMapping("/account")
    public class AccountController {
    	//指定的请求方式
        @RequestMapping(value = "/findAccount1", method = RequestMethod.POST)
        public ModelAndView findAccount1() {
            ModelAndView mv = new ModelAndView();
            mv.addObject("msg", "欢迎你 springmvc");
            mv.setViewName("success");
            return mv;
        }
    }
    
  • 测试:在index.jsp里使用get方式请求

    <a href="/account/findAccount1">请求方式a>
    

    结果:

Spring MVC学习之——RequestMapping注解_第1张图片

  • 我们再换一种请求方式

      <form action="account/findAccount1" method="post">
        <input type="submit" value="保存账户,post 请求">
      form>
    

    结果:

Spring MVC学习之——RequestMapping注解_第2张图片

你可能感兴趣的:(Spring,MVC,spring,mvc,学习)