Spring MVC是一种基于Java的MVC(Model-View-Controller)架构的Web应用程序开发框架。它是Spring框架的一部分,用于构建灵活和高效的Web应用程序。
Spring MVC的核心思想是将应用程序的逻辑分成模型(Model)、视图(View)和控制器(Controller)。模型表示应用程序的数据和业务逻辑,视图负责呈现数据给用户,控制器接收用户的请求并根据请求选择合适的模型和视图。
Spring MVC提供了一组丰富的功能和特性,使开发人员可以轻松地构建可扩展的Web应用程序。它具有以下特点:
调用流程:(图片来自尚硅谷)
@RequestMapping
@RequestMapping(value = "/user/login",method = RequestMethod.GET)
//1.进准地址[一个|多个] {"地址1","地址2"}
//2.模糊地址 user/*
//3.可以用与方法或类
//4.method = RequestMethod.GET 指定访问方式 不符合会出现405异常
//5.@RequestMapping(method = RequestMethod.GET) 等同于 @GetMapping
接收参数
1:param参数 param1=value1¶m2=value2¶m3=value3
//1.直接接收 属性名要求对应相等
@RequestMapping("/data")
@ResponseBody
public String data(String name,int age){
return "name="+name+"age="+age;
}
//2.注解接收
@RequestMapping("/data1")
@ResponseBody
public String data1(@RequestParam(value="account")String name,
@RequestParam(required = false,defaultValue = "18")int page){
return "name="+name+"page="+page;
}
//3.实体对象接收 属性名需要等于参数名
@RequestMapping("/data2")
@ResponseBody
public String data2(User user){
return user.toString();
}
2:路径传参
@RequestMapping("{account}/{password}") //动态路径
public String login(@PathVariable String account,@PathVariable String password){
return "account:"+account+" password:"+password;
}
3:json参数 { “name”: “John”, “age”: 25, “email”: “john@example.com”}
@EnableWebMvc //配置json转化器 (使用postman)
@PostMapping("/data")
public String data( Person person){
return person.toString();
}