SpringMVC是基于Servlet API构建的一个Web框架
1.MVC定义( Model View Controller )
一种软件架构模式,将软件系统分为模型,视图,控制器三部分。
2.MVC与SpringMVC的关系
MVC是一种思想,SpringMVC是具体实现
3.SpringMVC
- 连接的功能:将浏览器和Java程序连接起来,访问地址能够调用Java程序
- 获取参数的功能:访问的时候会带一些参数,在程序中想办法获取到参数
- 输出数据的功能:执行业务逻辑之后,把程序执行的结果返回给用户
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.";
}
}
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;
}
2.传递对象
@RequestMapping(value = "/hi3",method = RequestMethod.GET)
public String hi3(Person person) {
return person.toString();
}
3.传递多个参数
4.前后端参数命名冲突
前端传递与后端接受不一致,可能会出现接受不到的情况
@RequestMapping
public String hi4(String name, @RequestParam("pwd") String password) {
return "name" + name + "|password" + password;
}