SpringMVC是一种基于Java的实现MVC设计模式的请求驱动类型的轻量级Web框架,使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发。

简单来说,SpringMVC的功能就是处理请求。


@RequestMapping

作用:处理请求映射(就是URL过来了映射到哪个方法)

可用于类或方法上:

  • 类:作为父路径
  • 方法:定位到某个方法
@RequestMapping("/hello")
@RequestMapping(value="/hello")
@RequestMapping(value="/add",method="POST")     //默认是get

组合注解

@GetMapping等于@RequestMapping(method = “GET”)

@PostMapping等于@RequestMapping(method = “POST”)

@RequestParam

作用:参数控制

必须带参数才会执行test方法,否则不执行

@RequestMapping("/list")
    public String test(@RequestParam  Long parentId) {
        
    }

无参也会执行test方法

@RequestMapping("/list")
    public String test( Long parentId) {
        
    }

@RequestParam参数

required=“true” 默认,也就是必须带参数可设为false

defaultValue=“” 当请求无参时采用的默认值

value=“” 指定属性别名

@PathVariable

作用:动态参数绑定,也就是URL传过来不一样的参数,但是映射到同一个方法处理

  @RequestMapping("helllo/{id}")
    public void test(@PathVariable("id") Integer id ){
        
    }

@RequestBody和@ResponseBody

@ResponseBody:返回值通常解析为跳转路径,但加了@ResponseBody,就会返回json字符串。

@RequestBody:接收前端传递给后端的json字符串中的数据;GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。

【通常json字符串匹配bean,也就是model,实体类】(实测可以不加@RequestBody也可以识别)

@RequestBody User user 等同于 User user

Model,ModelMap,ModelAndView的区别

Model的继承关系:Model是一个接口,继承ModelMap类,ModelMap继承LinkedHashMap。

作用:返回给前端数据。(类似于request对象的setAttribute方法的作用)

ModelAndView除了传递数据外,还可以设置转向地址,也就是跳转到哪个页面。(手动new)

版权声明:本文为noneplus原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/noneplus/p/11888390.html