1.MvC是什么
MVC是一种软件架构思想,把软件按照模型,视图,控制器来划分
Model:模型层,指工程中的JavaBean,用来处理数据
JavaBean分成两类:
一类称为实体类Bean:专门用来存储业务数据,比如Student,User
一类称为业务处理Bean:指Servlet或Dao对象,专门用来处理业务逻辑和数据访问
- View:视图层,指工程中的html,jsp等页面,作用是和用户进行交互,展示数据
- Controller:控制层,指工程中的Servlet,作用是接收请求和响应浏览器
- 流程:
- 用户通过视图层发送请求到服务器,在服务器中请求被Controller接收
- Controller调用相应的Model层处理请求,处理完毕后结果返回到Controller
- Controller再根据请求处理的结果找到对应的View视图,渲染数据后最终响应给浏览器
2、SpringMvc实现原理
2.1、核心组件
- DispatcherServlet:前置控制器,负责调度其他组件的执行,是降低不同组件之间的耦合性,是SpringMvc的核心
- Handler:处理器,完成具体的业务逻辑,相当于Servlet
- HandlerMapping:DispatcherServlet是通过HandlerMapping把不同的请求映射到Handler
- HandlerInterceptor:处理器拦截器,是一个接口,如果我们需要进行一些拦截处理,可以通过这个接口来实现
- HandlerExecutionChain:处理器执行链,包括两部分:Handler和HandlerInterceptor(系统会有一个默认的HandlerInterceptor,如果有额外拦截处理,可以添加拦截器进行设置)
- HandlerAdapter:处理器适配器,Handler执行业务方法之前,需要进行一系列的操作包括 表单数据的验证、数据类型转换、把表单数据封装到POJO等,这一系列的操作都是HandlerAdapter完成,DispatcherServlet通过HandlerAdapter执行不同的Handler
- ModelAndView:封装了模型数据和视图信息,作为Handler的处理结果,返回给DispatcherServlet
- ViewResolver:视图解析器,DispatcherServlet
2、HandlerMapping 为处理映射器 DispatcherServlet调用HandlerMapping,HandlerMapping根据请求url查找Handler
3、HandlerExecution表示具体的Handler,其主要作用是根据url查找控制器,如上url被查找控制器为:hello
4、HandlerExecution将解析后的信息传递给DispatcherServlet,如解析控制器映射等
5、HandlerAdapter表示处理器适配器,其按照特定的规则去执行Handler
6、Handler让具体的Controller执行
7、Controller将具体的执行信息返回给HandlerAdapter,如ModeAndView
8、HandlerAdapter将视图逻辑名或模型传递给DispatcherServlet
9、DispatcherSevrvlet调用视图解析器(ViewResolver)来解析HandlerAdapter传递的逻辑视图名
10、视图解析器将解析的逻辑视图名传递给DispatcherServlet
11、DispatcherServlet根据视图解析器解析的视图结果,调用具体的视图
12、最终视图呈现给用户
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!