MVC基本概念和流程
2015-06-08 07:48
323 查看
MVC基本概念和流程
MVC的概念
Model(模型):包含数据和行为。不过现在一般都分离开来:Value Object(数据) 和 服务层(行为)。View(视图):负责进行模型的展示,一般就是展示给用户的界面。
Controller(控制器):接收用户请求,委托给模型进行处理,处理完毕后把返回的模型数据返回给视图,由视图负责展示,起了调度的作用。
spring MVC
Spring MVC围绕DispatcherServlet设计。处理流程:
1. 客户端发出HTTP请求,服务器接收
如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),Web容器将该请求转交给DispatcherServlet处理。
2. DispacherServlet接收到此请求后,根据请求的信息(URL、HTTP方法、请求报头文、请求参数、Cookie等)及HandleMapping的配置匹配Handler
匹配成功,则返回一个HandlerExecutionChain对象(包含一个Handler处理器对象、多个HandlerInterceptor拦截器)。
3. DispacherServlet得到Handler后,把Handler封装为适配器
以适配器接口真正调用了处理器的功能处理方法(先执行拦截器的preHandler方法)
返回ModelAndView(如其名,包含了视图逻辑名和模型数据信息)。
4. DispacherServlet借由ViewResolver完成逻辑视图名到真实对象的解析工作。
5. DispacherServlet得到视图对象View,使用它对ModelAndView中的模型数据进行渲染。
6. 客户端得到响应(可能是HTML页面、XML、JSON串、PDF……)
整理自《spring 3.x企业应用开发实战》以及 一些博客……
P.S.我用的是4
做了一个spring MVC 处理请求流程的视频,spring MVC流程
有点丑不过很清楚呀 ~
分类: spring MVC
相关文章推荐
- HDU 1051 Wooden Sticks (贪心)
- 行百里者半九十,我愿用心专注半十
- 模式匹配算法
- VS2010 Cmake OpenCVC2.4.8
- "间接"与“面向对象”
- 上周热点回顾(6.1-6.7)
- :程序是怎样被链接和加载的?
- 五分钟一个设计模式之责任链模式
- CreateRemoteThread 牛刀小试
- 16届毕业的程序员在暑假实习时要注意些什么
- bind acl 实现
- OSChina 周一乱弹 —— 高考神作文鉴赏
- Android优化
- Cocos2d-x 3.x:如何进行合理的内存分配(使用AutoreleasePool 来合理的管理内存)
- Cocos2d-x 3.2 智能指针
- mySql
- Cocos2d-x 3.2:UI树
- 单例模式
- 系统调用和C库之间的关系?
- 程序员保值的4个秘密