文章目录
1 MVC
1.1 说明
MVC是一种软件开发的设计模式,其目的就是为了降低项目中各个模块间的耦合度,提高代码的可维护性和可扩展性。
1.2 MVC职责
- M:Model模型层,表示应用程序中的数据和数据相关的逻辑吧,比如:查询数据库、验证用户输入、更新数据库等等,可以使用POJO类或者实体类表示。
- V: View视图层,负责呈现数据,通常是由网页、图片等组成,把Model中的数据展示给用户。
- C: Controller控制器层,负责处理用户请求返回响应给客户端。
2 SringMVC
2.1 介绍一下SpringMVC
SpringMVC是Spring Framework中一个重要的Web框架,它是使用一种MVC(Model - View - Controller)架构模式实现Web应用的方式。
SpringMVC的核心组件DispathcerServlet,用于将客户端的请求映射到控制器,并使用视图技术呈现响应。
在SpringMVC中,Controller充当的是中央处理器的角色,提供了进行请求处理的方法。SpringMVC的目标是为了简化Web的开发。
2.2 客户端向服务器发送请求方式
- 浏览器地址栏
- html页面中的超链接:
<a href="xxx"></a>
- form表单发送
- html页面中通过
js
发送
2.3 服务端接收参数的方式
-
声明参数接收
当参数的数量小于3个时,建议使用声明参数方式接收
public int xxx(String username, Integer age){ }
-
声明POJO类接收
当参数的数量较多时,使用此种方式接收
public int xxx(UserLoginDTO userLoginDTO){ }
2.4 常用注解
-
@Controller
将类标记为控制器,用于接收请求并处理请求的方法
-
@Responsebody
将方法的返回值返回给客户端
-
@RestController
复合注解,相当于
@Controller
和@Responsebody
的组合,使用它的类和方法中所有的返回值都会被返回给客户端 -
@RequestMapping
用于将HTTP请求映射到控制器的方法上,可以用于类和方法之上。
在SpringMVC的
@RequestMapping
注解中,可以通过method
属性来限制请求方法,比如:@RequestMapping(value="/v1/user/login",method="RequestMethod.POST") public int login(){ }
- @GetMapping(“/v1/users/login”) :处理GET请求
- @PostMapping(“/v1/users/login”):处理POST请求
- @PutMapping(“/v1/users/login”): 处理PUT请求
- @DeleteMapping(“/v1/users/login”) :处理DELETE请求
注意:在类上使用@RequestMapping(),在方法上使用限制请求方式的注解;如果请求方法和对应的注解不匹配,则会显示405状态码,比如使用@GetMaping注解,但是客户端发送了一个POST请求,显示405。
-
@Mapper
MyBatis框架中的注解,用于标识一个接口是MyBatis 的Mapper 接口
-
@MapperScan
MyBatis框架中的注解,用于指定Mapper接口所在的包,并让MyBatis框架自动扫描这些接口,从而生成Mapper的实现类
@Configuration @MapperScan("cn.tedu.xxx.mapper1") @MapperScan("cn.tedu.xxx.mapper2") public class MyBatisConfig{ }
-
@Autowired
Spring框架中的注解,用于自动装配 bean
2.5 常见的错误状态码
-
404状态码
-
当请求的URL地址没有找到对应的资源或者处理器方法时,会返回404状态码
-
解决
- 确认请求的地址是否正确
- 检查静态资源的位置,或者Controller中的
@RequestMapping
-
-
405状态码
控制器方法的请求映射与客户端发起的请求方法不匹配。例如
@PostMapping
注解映射了一个GET请求方法 -
500状态码
服务器错误,根据终端报错调整mvc的代码
-
400状态码
Bad Request,客户端发送了错误的参数
3 POJO
3.1 什么是POJO
Plain Ordinary Java Object:简单的Java对象,也就是没有继承任何类或实现任何接口的简单 Java 对象,也不依赖于其他复杂的框架或技术,POJO 对象通常包含了纯粹的数据和简单的业务逻辑,是一种用于简化 Java 应用程序开发的编程模型。是entity实体类、VO(Value Object或View Object)视图对象、DTO(Data Transfer Object)数据传输对象 这些对象的总称。
3.2 定义说明
-
entity实体类作用
用来和数据库中的表字段一一对应的,比如UserEntity(id,username,password,nickname);
-
DTO作用
用来接收客户端传递给服务器的数据的,比如:UserLoginDTO(username,password) 实现登录功能,客户端向服务器端传递数据;
-
VO作用
用来处理服务器响应给客户端的数据的,比如:UserListVO(id,username,nickname) 登录成功后的列表页显示当前用户信息。
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » SpringMVC-基本详解
发表评论 取消回复