Model1模式:使用纯JSP或者JSP+JavaBean开发,存在如下缺陷:JSP页面中混合了HTML和JAVA代码,从而给代码的开发和阅读带 来了麻烦;系统后期维护和扩展非常困难,例如在JSP页面进行数据库连接和操作,如果需要对数据库进行任何修改,都必须打开所有操作数据库的JSP页面进 行相应的修改,当页面非常多的时候,工作量相当大;系统不容易调试,由于HTML、JAVA、JavaScript都混合在一起,必须要启动服务器并调用 JSP页面才能查看运行效果。故此模式适合小规模的WEB应用开发。
     JSP+JavaBean开发,虽然实现了逻辑功能和显示功能的分离,但是由于视图层和控制层都是由JSP页面实现的,即视图层和控制层没有实现分离,所以它任然属于Model1模式。

Model2模式——MVC开发模式
   它是为了克服Model1存在的不足而设计的,MVC的具体含义是:model+view+control,即模型+视图+控制,这样的模式集成了JSP、Serclet、JavaBean,非常适合大型项目的开发。

View视图层
  代表和用户交互的界面,可以通过html、xml、applet小java程序等实现,它仅仅负责数据的采集和处理(显示)。在JSP中它由JSP页面单独实现。

Model模型层
   它常常使用JavaBean来编写,它接受视图层请求的数据,然后进行相应的业务处理并返回最终的处理结果,它负担的责任最为核心,并利用JavaBean具有的特性实现了代码的重用和扩展以及给维护带来了方便。

Control控制层
  控制层是从用户端接收请求,然后将请求传递给模型层并告诉模型层应该调用什么功能模块来处理该请求,它将协调视图层和模型层之间的工作,起到中间枢纽的作用,它一般交由Serclet来实现。

MVC开发模式与Model1模式比较,显示出如下特点:
(1)各层各负其责,互不干涉。各自更新之后对其它层没有任何干扰;
(2)MVC开发模式有利于责任分工,让专门人员分别从事专门层的设计,提高工作效率和质量;
(3)组件可以得到很好的重用,由于分工明确,各层的组件可以独立成一个可以重用的组件。
   但是MVC开发模式相对Model1来说比较复杂,所以它比较适合开发大中型项目应用,而Model1模式适合小规模的WEB应用开发。

转自:http://blog.sina.com.cn/s/blog_4171e80d0100a065.html

什么是MVC开发模式以及它和传统开发模式的区别的更多相关文章

  1. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

  2. GJM : Taurus.MVC 2.0 开源发布:WebAPI开发教程 [转载]

    Taurus.MVC 2.0 开源发布:WebAPI开发教程 转载自http://www.cnblogs.com/cyq1162/p/6069020.html 因是新手  粘贴时有一个版权问题 本文原 ...

  3. js架构设计模式——你对MVC、MVP、MVVM 三种组合模式分别有什么样的理解?

    你对MVC.MVP.MVVM 三种组合模式分别有什么样的理解? MVC(Model-View-Controller)MVP(Model-View-Presenter)MVVM(Model-View-V ...

  4. [框架模式]经典的模型视图控制器模式MVC

    参考:<设计模式> http://blog.csdn.net/u010168160/article/details/43150049 百度百科 引言: Model(模型)是应用程序中用于处 ...

  5. 面对对象之差异化的网络数据交互方式--单机游戏开发之无缝切换到C/S模式

    上一篇这里描写叙述了一个关于差异数据在开发过程中的一个长处,这里来演示另外一个特点:单机开发之无缝切换到C/S模式 一般C/S模式都面临一个问题: 就是开发过程中的调试难题,由于涉及到client和服 ...

  6. 《C#微信开发系列(1)-启用开发者模式》

    1.0启用开发者模式 ①填写服务器配置 启用开发模式需要先成为开发者,而且编辑模式和开发模式只能选择一个(进入微信公众平台=>开发=>基本配置)就可以看到以下的界面: 点击修改配置,会出现 ...

  7. 使用ASP.NET MVC、Rabbit WeixinSDK和Azure快速开发部署微信后台

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:公众号后台系统和数据都基本准备妥当了,可以来分享下我是如何开发本微信公众号的后台系统了 ...

  8. Web的Ajax应用开发模式(二)——Ajax开发模式分析

    寄语: 前天在查看一些公司的招聘要求时,看到有公司要求测试人员了解Ajax,故写此博文旨在帮助测试人员提高自身技术知识水平,愿与广大测试同胞共同进步.(欢迎纠错!!!) Web应用的传统开发模式总结: ...

  9. 第二篇 :微信公众平台开发实战Java版之开启开发者模式,接入微信公众平台开发

    第一部分:微信公众号对接的基本介绍 一.填写服务器配置信息的介绍 登录微信公众平台官网后,进入到公众平台后台管理页面. 选择 公众号基本设置->基本配置 ,点击“修改配置”按钮,填写服务器地址( ...

随机推荐

  1. 获取ie浏览器版本号

    /** * 获取ie浏览器版本号 * @returns */ function getInternetExplorerVersion(){ var version = -1; // Return va ...

  2. Scala List的排序函数sortWith

    //原始方法: //val list=List("abc","bcd","cde") scala> list.sortWith( (s ...

  3. JqueryMobile- 搭建主模板

    最近公司要开发手机端的,可是我没学过安卓,然后用HTML5+JQUERYMOBILE也可以做这些手机端的程序,做成个网页,发到网上,免强也行,于是开始了我JQUERYMOBILE的学习. 先放一下主模 ...

  4. MVC神韵---你想在哪解脱!(十三)

    维护模型与数据库结构之间的差别 现在我们已经将应用程序修改完毕,在Movie数据模型中添加了一个Rating属性.现在让我们重新运行应用程序,打开“http://localhost:xx/Movies ...

  5. 令人惊奇的gdb和pstack

    pstack竟然是一个shell脚本,核心是调用gdb的thread apply all bt查看进程的所有线程的堆栈,之后用sed正则展示线程堆栈信息. /proc/pid/exe是一个指向可执行文 ...

  6. cocos2d-x 图形绘制

    转自:http://blog.csdn.net/zhy_cheng/article/details/8480048 图形绘制的话,在cocos2d-x自带的TestCpp里有,包括绘制点,直线,多边形 ...

  7. JQuery ajax请求一直返回Error(parsererror)

    $.ajax({ type :"post", url :"busine_in.action", timeout : 40000, data: "cen ...

  8. OpenscenGraph中控制swapbuffer的方法(用于多机大屏幕同步显示机制)

    **************************************************************************************************** ...

  9. [Angular 2] Factory Provider

    In this lesson, we discuss how and when to use factory providers, to enable dependencies that should ...

  10. DWRUtil is not defined

    错误:DWRUtil is not defined; 解决方法: 先检查页面中是否正确引入uitl.js <script type="text/javascript" src ...