SpringMVC

53 阅读2分钟

SpringMVC是基于Servlet API构建的一个Web框架

1.MVC定义( Model View Controller )

一种软件架构模式,将软件系统分为模型,视图,控制器三部分。

image.png

2.MVC与SpringMVC的关系

MVC是一种思想,SpringMVC是具体实现

3.SpringMVC

  1. 连接的功能:将浏览器和Java程序连接起来,访问地址能够调用Java程序
  2. 获取参数的功能:访问的时候会带一些参数,在程序中想办法获取到参数
  3. 输出数据的功能:执行业务逻辑之后,把程序执行的结果返回给用户

1.SpirngMVC创建和连接

package com.example.demo.controller;
​
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
​
/**
 * Created by 伦敦看日出
 * Description:
 * User: yyt
 * Date: 2023-04-25
 * Time: 19:03
 */
@Controller
@ResponseBody
@RequestMapping("/user")
public class UserController {
​
    @RequestMapping("/hi")
    public String hi() {
        return "Hello Spring MVC.";
    }
}

image.png

1.@RequestMapping注解
  • ⽤来注册接⼝的路由映射

路由映射:所谓的路由映射指的是,当⽤户访问⼀个 url 时,将⽤户的请求对应到程序中某个类 的某个⽅法的过程就叫路由映射。

1. @RequestMapping 即可修饰类,也可以修饰⽅法,当修饰类和⽅法时,访问的地址是类 + 方法
2. @RequestMapping 也可以直接修饰⽅法:http://localhost:8080/hi
3. @RequestMapping 默认是 get ⽅式的请求,但是也可以使用post请求(新版)
2.get请求与post请求不同写法
get// 写法1
@RequestMapping("/index")
// 写法2
@RequestMapping(value = "/index",method = RequestMethod.GET)
// 写法3
@GetMapping("/index")
​
post:
// 写法1
@RequestMapping(value = "/index",method = RequestMethod.POST)
// 写法2
@PostMapping("/index")

2.获取参数

1.得到单个参数
@GetMapping("/hi2")
public String hi2(String name) {
    return "Hello, " + name;
}

image.png

2.传递对象
@RequestMapping(value = "/hi3",method = RequestMethod.GET)
public String hi3(Person person) {
       return person.toString();
}

image.png

3.传递多个参数

image.png

4.前后端参数命名冲突

前端传递与后端接受不一致,可能会出现接受不到的情况

@RequestMapping
public String hi4(String name, @RequestParam("pwd") String password) {
       return "name" + name + "|password" + password;
}

image.png

5.@RequestParam的用法2

image.png