MVC:指一种架构模式。用来将业务逻辑,数据,显示分离的方法来组织代码。
M(model):模型。提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:数据DAO和行为Service。
V(view):视图。负责进行模型的展示,一般就是我们看到的用户界面,客户想要看到的东西。
C(controller):控制器。接受用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返会给视图,由视图负责展示。也就是说控制器做了个调度员的工作。
职责:控制器: 1. 取得表单数据;2.调用业务逻辑;3.转向指定的页面;
模型: 1.业务逻辑; 2.保存数据的状态;
视图: 1.显示视图。
作用:提高了代码的复用率和项目的扩展性,并且大大降低了项目的维护成本。
SpringMVC是Spring Framework的一部分,使基于Java实现MVC的轻量级Web框架。
SpringMVC的特点:
1. 轻量级,简单易学
2. 高效,基于请求响应的MVC框架
3. 与Spring兼容性好,无缝结合
4. 约定大于配置
5. 功能强大:RESTful,数据验证,格式化,本地化,主题等;
6. 简洁灵活
Spring的web框架围绕dispatchServlet(调度Servlet)设计;SpringMVC框架像许多框架一样,以请求为驱动,围绕一个中心Servlet分派请求以及提供
其他功能,dispatchServlet是一个实际的Servlet(它继承了HttpServlet)
--涉及组件分析
1.dispatchServlet:前端控制器(不需要程序员开发)由框架提供,在web.xml中配置。
作用:接受请求,响应结果,相当于转发器,中央处理器。
2.HandlerMapping:处理器映射器(不需要程序员开发)由框架提供,
作用:根据请求的URL查找Handler(处理器/Controller),可以通过xml和注解方式来映射。
3.HandlerAdapter:处理器适配器(不需要程序员开发)由框架提供,
作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler中的方法。
4.Handler:处理器,也称之为Controller,需要程序员开发
注意:编写Handler使要按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler。
作用:接受用户请求,调用业务方法处理请求,也称之为后端控制器。
5.ViewReslover:视图解析器(不需要程序员开发)由框架提供,
作用:进行视图解析,把逻辑视图解析成真正的物理视图。
SpringMVC框架支持多种View视图技术,包括:jstlView,freemarkerView,ThymelwafView等
6.View:视图(需要程序员开发)
作用:把数据展现给用户的页面。View是一个接口实现类支持不同的View技术(jsp,freemarker,pdf等)
执行流程:
1.用户发出请求被dispatchServlet拦截并进行处理
2.dispatchServlet收到请求调用HandlerMapping(处理器映射器)
3.HandlerMapping找到具体的处理器(查找xml配置或注解配置),生成处理器对象以及处理器拦截器(如果有)
随后再一起返回给dispatchServlet。
4.dispatchServlet调用HandlerAdapter(处理器适配器)。
5.HandlerAdapter经过适配器调用具体的处理器(Handler/Controller)
6.Controller执行完成后返回ModelAndView对象
7.HandlerAdapter将Controller执行结果ModelAndView传给ViewReslover(视图解析器)
8.dispatchServlet将ModelAndView后返回具体View(视图)给dispatchServlet。
9.ViewReslover解析ModelAndView后返回具体View(视图)给dispatchServlet。
10.dispatchServlet根据View进行渲染视图(即将模型数据填充视图中)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。