一、MVC的定义
MVC 是 Model View Controller 的缩写,它是软件?程中的?种软件架构模式,它把软件系统分三个基本部分:模型、视图、控制器
- Model(模型)是应?程序中?于处理应?程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
- View(视图)是应?程序中处理数据显示的部分。通常视图是依据模型数据创建的。
- Controller(控制器)是应?程序中处理?户交互的部分。通常控制器负责从视图读取数据,
控制?户输?,并向模型发送数据。
1.1MVC 和 Spring MVC 的关系
MVC 是?种思想,? Spring MVC 是对 MVC 思想的具体实现。 总结来说,Spring MVC 是?个实现了 MVC 模式,并继承了 Servlet API 的 Web 框架。既然是 Web 框 架,那么当?户在浏览器中输?了 url 之后,我们的 Spring MVC 项?就可以感知到?户的请求。
二、@RepuestMapping注解介绍
- @RequestMapping 是 Spring Web 应?程序中最常被?到的注解之?,它是?来注册接?的路由映射的。
- @RequestMapping 即可修饰类,也可以修饰?法,当修饰类和?法时,访问的地址是类 + ?法。
@RequestMapping 也可以直接修饰?法,代码实现如下:
@RequestMapping("/h1")
public String hi(String name){
return "名字:"+name;
}
使用@RequestMapping
特征:默认情况下支持GET请求 。
get 请求的 3 种写法:
@RequestMapping("/index")
@RequestMapping(value = "/index",method = RequestMethod.GET)
@GetMapping("/index")
post 请求的 2 种写法:
@RequestMapping(value = "/index",method = RequestMethod.POST)
@PostMapping("/index")
四、获取参数
1、获取单个参数
RequestMapping("/m1")
public Object method_1(String name){
System.out.println("参数 name:"+name);
return "/index.html";
}
2、获取多个参数
@RequestMapping("/login")
public boolean islogin( String name, String password) {
boolean result = false;
if (StringUtils.hasLength(name) &&
StringUtils.hasLength(password) &&
name.equals("admin") && password.equals("admin")) {
result = true;
}
return result;
}
3、获取对象
@RequestMapping("/reg")
public UserInfo reg( UserInfo userInfo) {
return userInfo;
}
4、获取JSON对象
通过注解@RequestBody获取
@RequestMapping("/reg")
public UserInfo reg(@RequestBody UserInfo userInfo) {
return userInfo;
}
5、将获取到的前端参数重命名
使用注解:@RequestParam 设置reqired为false即参数非必传递,不设置默认为true不传递参数报错
@RequestMapping("/login2")
public String login2(@RequestParam
(value = "username", required = false) String name,
String password) {
return "用户名:" + name + " | 密码:" + password;
}
6、通过url地址获取参数
通过注解@PathVariable实现 以提高参数的优先级
@RequestMapping("/hero/{name}/{id}")
public String heroName(@PathVariable String name, @PathVariable Integer id) {
return "名称:" + name + " | 编号:" + id;
}
|