shadowfloat

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  7 随笔 :: 0 文章 :: 0 评论 :: 465 阅读

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

SpringMvc流程

 

 

 

 

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、最终视图呈现给用户

 

 

 

posted on   shadowFloat  阅读(38)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示