理解MVC设计模式

浏览器向服务端发送一个http请求,服务端要有对应的程序处理它,最原始的处理请求的程序就是Servlet,在Servlet中完成数据的处理,然后在将对应的html代码以字符串的形式用流对象返回给客户端浏览器。如下图所示:

这是一个最原始的web应用的大致工作流程。

这样虽然也能够完成Boss交给的任务,但是,做程序员本来就很苦逼,如果再让程序员再在Java代码中一行一行的拼接复杂的html标记,那还是一脚把他踹下楼吧,免得在这个人世间痛苦。

上面的模式必须改变,因为这种开发模式与程序员是你死我活的关系,但是程序员必须活着,所以它必须死。

那么,砖家们经过激烈的,深入的讨论,最终达成一致共识:应用MVC设计模式对原有的web开发模式进行优化。

MVC:Model,View,Controllor

MVC解决的最大的问题就是吧java代码和html代码分离,可以说着是程序员的一个春天。

如下图所示:

上面说了MVC解决的最大的问题就是将html代码与处理数据的java代码分离,提高开发效率。是的,实际上如果你是一个有经验的开发人员,那么你会知道,jsp实际上也是一个Servlet,只不过这个servlet的主要工作部是处理数据,而是把数据转换成相应的html返回给客户端。

但是这样一来,有出现了一个问题,由于处理数据的Servlet和用原始Servlet中提取出来的用意显示页面的Servlet的两个Servlet,通常情况下,数据被处理后,要将处理后的数据返回到客户端,在最原始的web开发模式中,这些都是在同一个Servlet中完成的,数据随时可以拿来用,但是现在不可以了,为了解决在两个Servlet之间方便的传递复杂数据结构,砖家们又发明了一个新玩意:Model。就是JavaBean,Servlet和jsp之间通过容器的request对象来相互传递JavaBean,从而取得JavaBean中的数据。

MVC模式开发更高效,结构更清晰,最重要是:责任划分更明确。

时间: 2024-10-22 01:37:05

理解MVC设计模式的相关文章

如何理解MVC设计模式

MVC是一种架构模式 MVC(Model View Controller) M-模型(model) V-视图(view) C-控制器(controller): MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器.使用MVC是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.比如一批统计数据你可以分别用柱状图.饼图来表示.C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新,从例子可以看出MVC就是Observer设计模式的一个特例. MV

JAVA:连接池技术说明以及MVC设计模式理解

JAVA:连接池技术说明以及MVC设计模式理解

[原创]java WEB学习笔记19:初识MVC 设计模式:查询,删除 练习(理解思想)

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------

深入浅出的理解框架(Struts2、Hibernate、Spring)与 MVC 设计模式

现在许许多多的初学者和程序员,都在趋之若鹜地学习Web开发的宝典级框架:Struts2,Spring,Hibernate.似乎这些框架成为了一个人是否精通Java,是否会写J2EE程序的唯一事实标准和找工作的必备基础. 然而,如果在面试的时候问这些程序员,你们为什么要学习这些框架?这些框架的本质到底是什么?似乎很少很少有人能够给我非常满意的答复.因为他们都在为了学习而学习,为了工作而学习,而不是在真正去深入了解一个框架.其实所有的人都应该思考这样的问题:为什么要学习框架?框架到底给我带来了什么?

Java Web开发中MVC设计模式简介

一.有关Java Web与MVC设计模式 学习过基本Java Web开发的人都已经了解了如何编写基本的Servlet,如何编写jsp及如何更新浏览器中显示的内容.但是我们之前自己编写的应用一般存在无条理性,对于一个小型的网站这样的编写没有任何问题,但是一但我们需要编写大型的web工程的话,我们现有的编写模式会造成web应用的可扩展性较差,而且一但出现问题不能准确的定位出问题出在哪里. Java是一门应用设计模式比较广泛的语言.目前主流提出的23种设计模式均可在Java语言编写的程序中所应用.目前

转---MVC设计模式详解

MVC(Model View Controller)模型(model)-视图(view)-控制器(controller):MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器.使用MVC是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.比如一批统计数据你可以分别用柱状图.饼图来表示.C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新,从例子可以看出MVC就是Observer设计模式的一个特例.MVC如何工作MVC是一个设计模式,它强制性

【原创翻译】认识MVC设计模式:web应用开放的基础(基础篇)

原文地址:http://www.larryullman.com/2009/10/08/understanding-mvc/ 翻译:shadowmydx 转帖请注明 最近,我计划写一个系列关于自己在过去几个月使用的Yii框架(shadowmydx:基于PHP5的一个web开发 框架,详情自行google)的文章.但在一切开始以前,我认为首先还是需要先介绍一下MVC设计模式: 模型-视图-控制器.MVC模式(30年前就有鸟)已经成为了框架以及许多各式各样的应用的首选.MVC模 式主要着眼于分离应用的

ASP.NET下MVC设计模式的实现

[转载]MVC架构在Asp.net中的应用和实现 转载自:http://www.cnblogs.com/baiye7223725/archive/2007/06/07/775390.aspx 摘要:本文主要论述了MVC架构的原理.优缺点以及MVC所能为Web应用带来的好处.并以“成都市信息化资产管理系统”框架设计为例,详细介绍其在Asp.net环境下的具体实现.旨在帮助Web设计开发者更好的了解和掌握MVC,合理利用MVC构建优秀的Web应用. 关键字:MVC.视图.控制器.模型.Asp.net

程序开发:MVC设计模式与应用

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.MVC被独特的发展起来用于映射传统的输入.处理和输出功能在一个逻辑的图形化用户界面的结构中. 下面讲解简单的登录操作: 程序流程图: 在本程序中用户输入的登陆信息提交给Servlet进行接收,Servle