【SpringMVC从看懂到看开】2 - 控制器和@RequestMapping注解

4 控制器

回顾一下Spring MVC的执行图
在这里插入图片描述我们知道有后端控制器Controller用来解析用户的请求,并进行相应的业务处理,最后返回一个ModelAndView
实现后端控制器Controller的方式有两种,第一种是实现Controller接口,第二种是基于注解@Controller,这两种在上一篇博客【SpringMVC从看懂到看开】 1 - 初识MVC的两个实例程序已经分别提到。

5 @RequestMapping注解

使用基于注解来实现后端控制器后,我们还需要知道控制器内收对每一个请求是如何处理的,这就需要org.springframework.web.bind.annotation.RequestMapping注解类型,RequestMapping用于映射一个请求或一个方法,起注解形式为@RequestMapping,可以用于注解标注在一个方法或一个类上。

5.1 标注在方法上

标注在方法上,表示这个方法成为一个请求处理方法,它会在程序接收到对应的URL请求时被调用

@Controller
public class HelloController {
    @RequestMapping("/h1")
    public String sayHello(Model model){
        model.addAttribute("msg","Hello Spring MVC Annotation");
        return "hello";
    }
}

在这里插入图片描述

5.2 标注在类上

当标注在一个类上,该类中的所有方法都讲映射为相对于类级别的请求,表示该控制器所处理的所有请求都被映射到value属性值所指定的路径下。

@Controller
@RequestMapping("/helloController")
public class HelloController {
    @RequestMapping("/h1")
    public String sayHello(Model model){
        model.addAttribute("msg","Hello Spring MVC Annotation");
        return "hello";
    }
}

在这里插入图片描述

5.3 @RequestMapping注解的属性

在这里插入图片描述

5.3 组合注解

Spring4.3引入了组合注解来简化常用的HTTP方法的映射,组合注解有

  • @GetMapping
  • @PostMapping
  • @PutMapping
  • @DeleteMapping
  • @PatchMaping

@GetMapping为例,@GetMapping("/helloController")相当于@RequestMapping(value = "/helloController", method = RequestMethod.GET)
省略了method属性,从而简化代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值