mvc模式

用Struts建立MVC应用的介绍【转】

无人久伴 提交于 2020-03-01 13:18:28
Model 1 和Model 2简介 我们在开发Web应用时经常提到的一个概念是Model 1/Model 2,那么到底它是什么意思呢?其实它是对采用JSP技术构成Web应用的不同模型的描述。下面对这个概念做一个简单的介绍。 Model 1 在使用JAVA技术建立Web应用的实例中,由于JSP技术的发展,很快这种便于掌握和可实现快速开发的技术就成了创建Web应用的主要技术。JSP页面中可以非常容易地结合业务逻辑(jsp:useBean)、服务端处理过程(jsp:scriplet)和HTML(<html>),在JSP页面中同时实现显示,业务逻辑和流程控制,从而可以快速地完成应用开发。现在很多的Web应用就是由一组JSP页面构成的。这种以JSP为中心的开发模型我们可以称之为Model 1。 当然这种开发模式在进行快速和小规模的应用开发时,是有非常大的优势,但是从工程化的角度考虑,它也有一些不足之处: 应用的实现一般是基于过程的,一组JSP页面实现一个业务流程,如果要进行改动,必须在多个地方进行修改。这样非常不利于应用扩展和更新。 由于应用不是建立在模块上的, 业务逻辑和表示逻辑混合在JSP页面中没有进行抽象和分离。所以非常不利于应用系统业务的重用和改动。 考虑到这些问题在开发大型的Web应用时必须采用不同的设计模式--这就是Model2 Model 2 Model 2

struts 学习笔记之MVC模式

点点圈 提交于 2020-03-01 05:04:48
struts 中的 MVC 架构如下: View :由 JSP 、 Struts 自定义标记库、资源文件( MessageResources.properties )共同组成,通过 ActionForm 实现 JSP 表单的封装,并映射到 Model 部分中 JavaBean 的相应属性中,完成用户数据的封装。 注意:关于 ActionForm ,有些人认为它属于 Model 层(仁者见仁,智者见智)。 事实上它 不是 Model ,真正的 Model 应该是一个封装了业务逻辑的的对象。 而 ActionForm 仅仅是一个 form-bean ,封装了用户提交的表单数据( 物理 View ),可以在其中进行一些非业务逻辑的验证,并没有真正的映射到模型数据,因为与层的关系比较密切,所以实际上它应该算是 View 层( 逻辑 View )。 Action 处理器对象可以 直接对 ActionForm 进行读写,而不再需要和 request 、 response 对象进行数据交互。 通过 ActionForm 组件对象实现了对 View 和 Model 之间交互的支持。 M 模型层 , 原则上来说和业务逻辑有关的东西都在这里处理。 Controller :接收客户端的 request ,进行业务逻辑处理, response 到客户端。在 Struts 中 Controller

MVC和MTV框架模式的详解

穿精又带淫゛_ 提交于 2020-02-29 10:38:04
MVC和MTV框架 MVC   Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型和视图完成用户的请求,其示意图如下所示: MTV   Django的MTV模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django的MTV分别是值: M 代表模型(Model): 负责业务对象和数据库的关系映射(ORM)。 T 代表模板 (Template):负责如何把页面展示给用户(html)。 V 代表视图(View): 负责业务逻辑,并在适当时候调用Model和Template。   除了以上三层之外,还需要一个URL分发器,它的作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template,MTV的响应模式如下所示:      一般是用户通过浏览器向我们的服务器发起一个请求(request),这个请求回去访问视图函数,(如果不涉及到数据调用,那么这个时候视图函数返回一个模板也就是一个网页给用户),视图函数调用模型,模型去数据库查找数据,然后逐级返回,视图函数把返回的数据填充到模板中空格中,最后返回网页给用户。

ASP.Net MVC开发基础学习笔记(1):走向MVC模式

情到浓时终转凉″ 提交于 2020-02-28 21:06:19
链接地址: http://blog.jobbole.com/84992/ 一、ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如 http://www.aspnetmvc.com/blog/index.aspx 的URL,那么我们的WebForm程序会到网站根目录下去寻找blog目录下的index.aspx文件,然后由index.aspx页面的CodeBehind文件(.CS文件)进行逻辑处理,其中或许也包括到数据库去取出数据(其中的经过怎样的BLL到DAL这里就不谈了),然后再由index.aspx页面来呈现给用户。 综上所述,在WebForm模式下: 一个URL请求的是在服务器与该URL对应路径上的物理文件(ASPX文件或其他),然后由该文件来处理这个请求并返回结果给客户端。 (2)开发方式 • 服务器端控件 • 一般处理程序+Html静态页+Ajax • 一般处理程序+Html模板引擎 1.2 ASP.Net MVC的开发模式 (1)处理流程 在ASP.Net MVC中,客户端所请求的URL是被映射到相应的Controller去,然后由Controller来处理业务逻辑,或许要从Model中取数据,然后再由Controller选择合适的View返回给客户端。再说回前面我们运行的ASP

MVC模式与三层架构

ε祈祈猫儿з 提交于 2020-02-27 08:34:31
MVC模式 MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。 它属于设计模式的范畴,就如同其他设计模式一样,模式的出现就是为了对某种功能的优化,而MVC模式可以看做是对三层架构中表现层的一种细分优化。 MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。 M:Model 模型 主要包括业务逻辑模块(web项目中的Action,dao类)和数据模块(pojo类)。模型 与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性 V:View 视图 用户与之交互的界面、在web中视图一般由jsp,html组成 C:Controller 控制器 接收来自界面的请求 并交给模型进行数据处理后展示到视图,或者直接由视图展示。 在这个过程中控制器不做任何处理只是起到了一个连接的做用 主要功能 模型(JavaBean):业务逻辑操作,比如封装数据,处理业务数据(调用数据库) 视图(JSP):展示数据 控制器(Servlet):获取客户端的输入,调用模型,查询数据获取数据,将数据交给视图展示 优缺点: 优点: 耦合度低

关于手机游戏客户端中mvc框架的讨论

夙愿已清 提交于 2020-02-25 15:58:27
这里的mvc特指手游中的mvc。本文将从以下方面讨论手游客户端中mvc:分工,事件机制,依赖关系,实现细节,例子。 一 、分工 这里的mvc,m代表model(数据模型),v代表view(界面),c代表control(控制业务逻辑)。除此之外,mvc一般必须要实现的是事件机制或者观察者模式。 1.view的职责包括 a. 显示数据。这里的数据可以分为简单数据(不用处理的)和需要处理的数据。也可分为只显示一个系统的数据和显示多个系统的数据。这个在后面讨论到依赖关系和例子的时候,会详细说到。 b.更新显示的数据,通过监听事件。 c.接收玩家的输入,并将输入交给control进行处理。 control的职责包括: a.组织view上的数据。 b.接收view传过来的玩家输入,自己根据需求做必要的业务逻辑处理。这些业务逻辑包括弹出其他界面或者提示,更新某些界面(一般通过事件机制通知),调用一个或多个model的方法进行各自的处理等。 c.control是作为一个中介者,即view和model不能有耦合,而是通过control这个中介者进行交互。 model的职责包括: a.保存数据。一般包括服务器的数据,和其他一些需要用到的数据。 b. 跟服务器进行通信,当服务器的信息有变化时,需要发送事件通知view或control。也有一些看法是要把这部分的逻辑放在control里面

MVC开发模式的概述

ぃ、小莉子 提交于 2020-02-22 22:29:07
JSP演变历史 早期只有 servlet ,只能使用 response 输出标签数据,非常麻烦 后来sun公司推出了 JSP , 简化 了servlet的开发 过度使用JSP,在JSP中即写 大量的Java代码 ,又写 html代码 ,难于 维护 和 分工协作 再后来,Java的web开发借鉴了 MVC开发模式 ,使得程序的设计更加合理性 MVC开发模式 M :Model,模型 完成具体的业务操作,如:查询数据库、封装对象 V :View,视图 展示数据 C :Controller,控制器 获取用户输入 调用模型 将数据交给视图进行展示 MVC优缺点 优点 : 1.耦合性低、方便维护,可以利于分工协作 2.重用性高(其中的V层即可以对接JSP、又可以对接移动端等等) 缺点 : 1.使得项目架构变得复杂,对开发人员要求高 JSP后续发展 为了使JSP符合MVC开发模式标准,使用 EL表达式 、和 JSTL标签 代替Java代码 来源: CSDN 作者: zheng_zq666 链接: https://blog.csdn.net/qq_42528769/article/details/104446488

Spring MVC简介

此生再无相见时 提交于 2020-02-22 09:54:27
1.Spring MVC简介 Spring MVC框架是有一个MVC框架,通过实现Model-View-Controller模式来很好地将数据、业务与展现进行分离。从这样一个角度来说,Spring MVC和Struts、Struts2非常类似。Spring MVC的设计是围绕DispatcherServlet展开的,DispatcherServlet负责将请求派发到特定的handler。通过可配置的handler mappings、view resolution、locale以及theme resolution来处理请求并且转到对应的视图。Spring MVC请求处理的整体流程如图: Spring3.x中定义一个控制器类,必须以@Controller注解标记。当控制器类接收到一个请求时,它会在自己内部寻找一个合适的处理方法来处理请求。使用@RequestMapping注解将方法映射到一些请求上,以便让该方法处理那些请求。这种方法就像一般的类中的方法,方法名参数列表和返回值并不像Struts2之类的框架有很强的限制。方法参数列表具体以及返回值具体都有哪些,这里先不细说。这篇博客的目的在于简单介绍如何快速上手使用Spring MVC框架。 控制器在选择好适合处理请求的方法时,传入收到的请求(根据方法参数类型,可能以不同的类型传入),并且调用该方法中的逻辑来进行处理

细说MVC中仓储模式的应用

一个人想着一个人 提交于 2020-02-21 22:38:02
文章提纲 概述要点 理论基础 详细步骤 总结 概述要点 设计模式的产生,就是在对开发过程进行不断的抽象。 我们先看一下之前访问数据的典型过程。 在Controller中定义一个Context, 例如: private AccountContext db = new AccountContext(); 在Action中访问,例如获取用户列表: var users=db.SysUsers; 类似于这种,耦合性太高。业务逻辑直接访问数据存储层会导致一些问题,如 重复代码;不容易集中使用数据相关策略,例如缓存;后续维护,修改增加新功能不方便 等等。 我们使用repository来将业务层和数据实体层分开来,业务逻辑层应该对组成数据源层的数据类型不可知,比如数据源可能是数据库或者Web service 在数据源层和业务层之间增加一个repository层进行协调,有如下作用: 1.从数据源中查询数据 2.映射数据到业务实体 3.将业务实体数据的修改保存到数据源 (持久化数据) 这样repository就将业务逻辑和基础数据源的交互进行了分隔。 数据和业务层的分离有如下三个优点: 1.集中管理不同的底层数据源逻辑。 2.给单元测试提供分离点。 3.提供弹性架构,整体设计可以适应程序的不断进化。 我们将会对原有做法进行两轮抽象,实现我们想要的效果。 理论基础

移动App设计之分层架构+MVC

こ雲淡風輕ζ 提交于 2020-02-20 07:58:40
场景分析: 我们知道,一个移动设备的应用大多与网络有关,也就是说,我在移动设备上看到的数据,一般都是从Server上”拉“过来,显示在我们的移动设备(ios androiud、wpohone等)上。那我们就这个”拉“的过程分析,拉什么样的数据?去哪里拉?拉过来的数据怎么处理?用编程(开发)的思维看,就是定义什么实体(业务实体)、发送请求、解析数据。当然这也只是大体的过程。但从软件架构设计上讲,定义实体、发送请求、解析数据都是具有单独意义的模块。那我们怎么处理这些模块呢? 场景应用: sina weibo。定义timeline、user等实体;请求最新的微薄等;处理(主要是解析)请求的数据;最后是显示在移动设备的UI上。 回到前面的问题,我们该如何处理这个具有单独意义的模块呢?让我们借鉴下web的设计: 在传统的web系统设计中,数据库的访问、业务逻辑和UI设计混淆在一起,这样虽然直观,但一旦需求有所改动,对日后的维护带来很多不便。为了解决这个问题,人们提出了分层的架构思想。 分层架构模式:   " 将解决方案的组件分隔到不同的层中,每一层中的组件应保持内聚性,各层保持松散耦合。" 分层模式是最常见的一种架构模式。在web应用系统开发中,比较流行三层架构(表现层、业务逻辑层、数据访问层),当然我们细分,也可以分层多层(我记得那时候我分七层)。   现时隔多年