zoukankan      html  css  js  c++  java
  • MVC模式与struts框架

    我自己的理解是:
    1:首先要知道MVC模式的基本概念、了解模型、视图、控制器分别起什么作用。
    2:知道servlet是什么。
    3:在strut框架中、servlet起到的作用是什么(控制器的作用)、那么模型和视图又是什么呢?首先要知道控制器的作用是什么。然后、控制器是根据什么工作的呢?当然是工程中那个xml配置文件了~~~
    知道了原理、再学起来应该就会容易多了、但是。。。我不记得操作步骤了~~~~~
    ------------------------------------------------------------------------------------------------------------------------------------------
    MVC模式:
    MVC是 模型(Model),视图(View)和控制(Controller)的缩写,其目的实现Web系统的职能分工。

    Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现;

    View层用于与用户的交互,通常用JSP来实现;

    Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

    MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

    三层架构

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

     

      视图

     

      视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services.

     

      MVC好处是它能为应用程序处理很多不同的视图在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。 

           模型

     

      模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

           控制器

     

      控制器接受用户的输入调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。

    设计模式

    表现层(Presentation layer)

     

      包含表示代码、用户交互GUI、数据验证。该层用于向客户端用户提供GUI交互,它允许用户在显示系统中输入和编辑数据,同时系统提供数据验证功能

    业务逻辑层(Business layer)

     

      包含业务规则处理代码,即程序中与业务相关专业算法、业务政策等等。该层用于执行业务流程和制订数据的业务规则。业务逻辑层主要面向业务应用,为表示层提供业务服务。

    数据持久层(Persistence layer)

     

      包含数据处理代码和数据存储代码。数据持久层主要包括数据存取服务,负责与数据库管理系统(如数据库)之间的通信。 三个层次的每一层在处理程序上有各自明确的任务,在功能实现上有清晰的区分, 各层与其余层分离,但各层之间存有通信接口。

    框架类别

    strut

     

    Struts 中,已经由一个名为 ActionServletServlet充当控制器(Controller)的角色,根据描述模型、视图、控制器对应关系的 struts-config.xml 的配置文件,转发视图(View)的请求,组装响应数据模型(Model)。

    在 MVC 的 模型(Model)部分,经常划分为两个主要子系统(系统的内部数据状态与改变数据状态的逻辑动),这两个概念子系统分别具体对应 Struts 里的 ActionFormAction 两个需要继承实现超类。在这里,Struts 可以与各种标准的数据访问技术结合在一起,包括Enterprise Java Beans(EJB),JDBCJNDI

    在 Struts 的视图(View) 端,除了使用标准的JavaServer PagesJSP)以外,还提供了大量的标签库使用,同时也可以与其他表现层组件技术(产品)进行整合,比如 Velocity Templates,XSLT等。通过应用 Struts 的框架,最终用户可以把大部分的关注点放在自己的业务逻辑(Action)与 映射关系的配置文件(struts-config.xml)中。

    其他的框架可以去http://baike.baidu.com/view/739359.htm网页查看相关介绍。

    字节跳动内推

    找我内推: 字节跳动各种岗位
    作者: ZH奶酪(张贺)
    邮箱: cheesezh@qq.com
    出处: http://www.cnblogs.com/CheeseZH/
    * 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    LeetCode——打家劫舍问题
    LeetCode——无重叠区间
    LeetCode——岛屿数量
    LeetCode——石子游戏
    LeetCode——最长回文子序列
    LeetCode——高层扔鸡蛋*
    LeetCode——零钱兑换
    LeetCode刷题之BFS和DFS
    没有学历,四步加入谷歌
    坚持编程
  • 原文地址:https://www.cnblogs.com/CheeseZH/p/2678496.html
Copyright © 2011-2022 走看看