• MVC模型


           当客户端提交请求至服务端时,Struts2的FileterDispatcher(核心控制器)会负责拦截,并且内置拦截器会负责对请求中的参数做一系列的预处理工作(包含:解析参数、类型转换、DTO封装等)。然后提交给具体的Action(业务控制器)调用业务实现直至返回处理结果,最后Action根据处理结果forward到具体的View层组件。
    一、MVC模型介绍

        MVC(Model、View、Controller)是在程序开发过程中衍生出的一套程序设计思想,它由三个单词的缩写组成,分别为:模型层(Model)、表现层(View)和控制层(Controller)。至于使用MVC的目的,就在于它能够更明确的定义Web系统的组件分工。 在早期的Java Web应用开发过程中,JSP既要负责页面的显示工作,同时也要负责实际的业务处理。从而导致了整个JSP页面出现高耦合、低复用等诸多弊端因素。笔者相信这些痛苦对于每个Web 程序员来说都是不言而喻的,但随着MVC架构的出现,程序的扩展性和伸缩性都将得到更好的保障。

    MVC架构工作流程图:

         在Spring MVC的工作流程机制中,客户端的请求响应/分发工作全由DispatcherServlet(前端控制器)负责,DispatcherServlet仅只是一个普通的Servlet。当DispatcherServlet成功拦截客户端请求后,便会加载WEB-INF目录下的Spring MVC配置文件。然后根据HandlerMapping的实例(配置文件中的映射信息)分发给对应的Controller(业务控制器)处理。Controller在调用具体的业务实现之前,会负责一系列的参数预处理工作(包含:解析参数、类型转换、封装DTO等)。最后Controller根据处理结果forward到具体的View层组件。

           在Struts2.x中,核心控制器我们称之为FileterDispatcher,由它负责请求拦截及调用内置的拦截器完成一些参数的预处理工作。而DispatcherServlet作为Spring MVC的前端控制器,和Struts2.x中的FileterDispatcher作用类似。由它负责请求拦截,及根据映射文件中的描述信息分发任务给具体的Controller处理。在Spring MVC中DispatcherServlet作为Servlet存在,也就是说我们必须在web.xml文件中对DispatcherServlet进行配置。

    参见:http://gao-xianglong.iteye.com/blog/1771190

    大道至简SSH:http://blog.csdn.net/column/details/zj-ssh.html

  • 相关阅读:
    Silverlight不能调试问题(转摘) Unable to start debugging. Cannot locate Microsoft Internet Explorer.
    Mac OS X 同 Windows 的概念,词汇,热键对比随录,让你更好地过度到Mac OS X
    敏捷度和成熟度
    有什么是安全的吗?
    linux定时任务的设置
    javascript闭包
    (转)JavaScript世界的一等公民 函数
    PHP魔法函数(转)
    JS字符串截取,按字节截取
    linux cp命令
  • 原文地址:https://www.cnblogs.com/moonandstar08/p/5074562.html
Copyright © 2020-2023  润新知