SpringMVC-01
2024-01-09 19:31:47
Spring MVC是一种基于Java的MVC(Model-View-Controller)架构的Web应用程序开发框架。它是Spring框架的一部分,用于构建灵活和高效的Web应用程序。
Spring MVC的核心思想是将应用程序的逻辑分成模型(Model)、视图(View)和控制器(Controller)。模型表示应用程序的数据和业务逻辑,视图负责呈现数据给用户,控制器接收用户的请求并根据请求选择合适的模型和视图。
Spring MVC提供了一组丰富的功能和特性,使开发人员可以轻松地构建可扩展的Web应用程序。它具有以下特点:
- 支持灵活的URL映射:Spring MVC通过使用控制器处理器映射URL到适当的控制器方法。
- 强大的数据绑定和验证:Spring MVC提供了数据绑定功能,可以将用户提交的数据绑定到模型中。它还支持验证机制,可以验证并处理用户输入的数据。
- 灵活的视图解析:Spring MVC支持多种视图技术,包括JSP、FreeMarker、Thymeleaf等。开发人员可以根据需求选择合适的视图技术。
- 强大的拦截器支持:Spring MVC提供了拦截器机制,可以在请求处理的不同阶段添加拦截器来执行特定的操作,例如身份验证、日志记录等。
- 易于测试:Spring MVC的松耦合架构使得对控制器进行单元测试变得简单。开发人员可以使用JUnit等测试框架来编写测试用例。
Spring MVC是一个功能强大且易于使用的Web应用程序开发框架,使开发人员能够高效地构建可扩展和可维护的Web应用程序。它是Java开发人员在构建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();
}
文章来源:https://blog.csdn.net/qq_53568730/article/details/135466927
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!