从头学习Spring MVC

1.  什么是mvc  - mvc是一种设计模式和设计思想

    model , view ,control .

    MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

   总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户.

   最重要的一点是多个视图能共享一个模型,正如我所提及的,现在需要用越来越多的方式来访问你的应用程序。对此,其中一个解决之道是使用MVC,无论你的用户想要Flash界面或是 WAP 界面;用一个模型就能处理它们。由于你已经将数据和业务规则从表示层分开,所以你可以最大化的重用你的代码了。
   MVC的缺点:

   a. 没有明确的定义,难以理解

   b. 需要花费相当多的时间在设计上,去区分模型和控制器

   c. 需要管理相当多的文件,所以不适用于规模太小的项目

 

2. 什么是spring mvc , 优势在哪里 - 它是一个spring组织提出的框架,只需要简单配置就能做到MVC

    Spring MVC 属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里。

    它可以自由使用不同的view展示层, 比如,你可以用spring自带的web框架,也可以选用struts,jsp,tiles,Velocity等。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

     spring 自带的web框架:

     Spring 的 Web MVC 框架是围绕 DispatcherServlet 设计的,它把请求分派给处理程序,同时带有可配置的处理程序映射、视图解析、本地语言、主题解析以及上载文件支持。默认的处理程序是非常简单的 Controller 接口,只有一个方法 ModelAndView handleRequest(request, response)。Spring 提供了一个控制器层次结构,可以派生子类。如果应用程序需要处理用户输入表单,那么可以继承 AbstractFormController。如果需要把多页输入处理到一个表单,那么可以继承 AbstractWizardFormController

   

 

3. sofa mvc 跟 spring mvc的差别  - 根据公司的现状,把springmvc封装成一整套框架,支持car的概念

    sofamvc 结合了公司现有的服务架构,引入了carDisparcher的概念,把springMVC集成到我们自己的系统中去。

    相同点:

          a. controller方面使用了spring的annotations编程,很方便

          b. 沿用了spring定义的很多组件

 

    不同点:

          a. 引入了carDisparcher ,在spring的servletDisparcher基础上又多了一层

          b. 新增了template 组件,适用于view层的页面展示与逻辑数据分开。比如CSS,JS等,只需要在template声明即可,开发人员不必写到界面,而是交与前段UI开发人员去完成

          c. 用jetty作为动态页面服务器,启动速度快。 sofa平台还提供了一个jettyWebStart,方便单元测试。

          d. sofa是参照SCA服务规范来设计的,SCA (Service Component Architecture)是为实现 SOA 而产生的一种规范。纯粹面向服务啊。。。

 

    

4. 如何使用spring mvc, sofa mvc

  

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值