Spring MVC 概述
- Spring MVC是Spring框架的一部分
- 主要用于支持WEB应用程序的开发。
- MVC是Model(模型,也称为数据模型)、View(视图)、Controll(控制器)三个英文单词首字母的缩写。
- MVC是一种设计模型 ( 使用控制器将数据模型和视图进行分离 )
优点
- 后端处理的数据模型和前端视图显示的数据格式无关,实现一个数据模型可以对应多个视图以不同的方式来展现数据,当数据模型或视图发生变化时,相互之间的影响也会降低到最低。
- MVC中最重要的核心就是控制器,控制器与视图和模型相对独立,它起到一个负责分发请求和返回处理结果的作用,对请求和数据模型的处理一般由JavaBean负责。
MVC实际开发架构图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MztM8pnH-1586743516989)(…/image/item2.PNG)]
MVC过程简书
在MVC架构中,JSP页面就是视图,用户通过JSP页面发出请求后,Spring MVC会根据请求路径,将请求发给与请求路径对应的Controller类,Controller类调用Service类对请求进行处理。
Service类会调用数据持久层MyBatis完成对实体类的存取和查询工作,并将处理结果返回到Controller类,Controller类将处理结果转换为ModelAndView对象,JSP接收ModelAndView对象并进行渲染。
@Controller类
- Controller类是在普通Java类的头部加入@Controller注解,使其变为Controller类
- Controller类中使用@RequestMapping注解标记在Controller类方法的头部,使该方法可以响应一个WEB请求地址
@ Controller
@ RequestMapping(value ="Admin")
public class UserController{
@ RequestMapping(value="/login. do", method={RequestMethod. GET})
@ ResponseBody Public ModelAndView loginUser(HttpServletRequest request)
ModelAndView view=new ModelAndView(); return view;
@Service类
- Service类为业务逻辑处理类,在类的头部使用注解@Service标注,被注解@Service标注的类会被Spring框架自动注入到Controller类。
实体类 (POJO类/Model)
- 实体类也是POJO类,也就是MVC的数据模型,实体类仅有属性以及获取和设置属性的get和set方法,没有事务处理方法。
的数据模型,实体类仅有属性以及获取和设置属性的get和set方法,没有事务处理方法。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xZT4nSX2-1586743516991)(…/image/item3.PNG)]