java mvc,javaMVC架构面试题
java mvc,javaMVC架构面试题详细介绍
本文目录一览: javaMVC设计模式
“MVC”模式即是:“Model-View-Controller”模式。在这种模式中,通过JSP技术来表现页面,通过Servlet技术来完成大量的事务处理工作,实现用户的商业逻辑。
在这种模式中,Servlet用来处理请求的事务,充当了控制器(Controller即“C”)的角色,Servlet负责响应客户对业务逻辑的请求并根据用户的请求行为,决定将哪个JSP页面发送给客户。JSP页面处于表现层,也就是视图(View即“V”)的角色。JavaBean则负责数据的处理,也就是模型(Model即“M”)的角色
ServletJSPJavaBean(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 ServletJSP、JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式。
MVC架构
Model-View-Controller架构模式是80年代中期在Smalltalk-80 GUI(一种经典的面向对象程序设计语言)实验室发明的。
根据MVC模式,一个软件应该将商务逻辑(Model)和显示(View)分开。分开有许多好处,最主要的有两个方面:
1、同一的商务逻辑层(Model)可能会对应多个显示层(View),如果商务逻辑层和显示层放在一起的话,再添加一个显示层的时候就会极大的增加组件的复杂性。一个商务逻辑对着两个显示层的例子是:银行的帐户的商务逻辑层对应ATM和Internet两个显示层。
2、通常情况下,每次修改显示层的时候一般并不需要修改商务逻辑层。
什么是mvc(什么是mvc模式)
MVC的优势是什么?马鞭马鞭MVC要求对应用进行分层,虽然需要额外的工作,但是产品结构清晰,通过模型可以更好的体现产品的应用。首先,最重要的是一个模型对应多个视图的能力。目前,随着用户需求的快速变化,访问应用的方式可能会有很多种。比如订单模型可能有本系统的订单,也可能有网上订单,也可能有其他系统的订单,但是订单的处理是一样的,也就是说订单的处理是一致的。什么是MVC?JAVA的SWING中MVC是如何使用的?是MVCMODEL_VIEW_CONTROL的缩写。模型-视图-控制是软件设计的典型结构。在这种设计结构下,一个应用分为三个部分:模型、视图和控制器,每个部分负责不同的功能。模型是指应用程序的数据,以及对这些数据的操作;视图是指用户界面;控制器负责用户界面与程序数据的同步,即完成两个方向的动作:一是根据用户界面(视图)的操作更新程序数据(模型),二是及时将程序数据(模型)的变化反映到用户界面(视图)。SWING是一个JAVA图形开发包。MVC模式的基本原理?一端有带圈可握的短马鞭在MVC设计模式中:c代表控制器,负责用户界面和业务逻辑层的通信控制。一方面,它解释来自用户界面的输入,识别用户动作(如点击按钮等)。),并调用相应模型中的方法。另一方面,它处理来自模型的事件和返回的执行结果,并调用适当的视图显示给用户。控制器主要由Servlet完成。MModel代表整个解决方案的业务逻辑实现,底层数据库也是通过Model访问和操作的;v代表View,负责将系统展示给用户,主要由HTML和JSP等完成。Mvc是一种使用mvc(模型-视图-控制器模型-视图-控制器)设计和创建web应用程序的模式:模型代表了应用程序的核心(如数据库记录列表)。视图显示数据(数据库记录)。控制器处理输入(写入数据库记录)。Mvc模式提供了对html、css和javascript的完全控制。模型视图控制器原理MVC是一种程序开发设计模式,实现了显示模块和功能模块的分离。提高了程序的可维护性、可移植性、可扩展性和可重用性,降低了程序开发的难度。主要分为三层:模型、视图、控制器。1.模型是应用程序的主要部分,主要包括业务逻辑模块和数据模块。不管数据格式如何,这种模型都可以为多个视图提供数据。因为应用于模型的代码只能被多个视图重用一次,所以降低了代码的可重复性。2.查看(view)用户与之交互的界面。在web中,视图通常由JSP和HTML组成。3.控制器从接口接收请求,并将其交给模型进行处理。在这个过程中,控制器不做任何处理,只是扮演一个连接的角色。MVC的优势1.减少代码耦合。在MVC模式下,三层各有各的功能,所以如果一层的需求发生变化,只需要改变相应层的代码,不会影响其他层的代码。2.有利于分工合作。在MVC模式下,因为系统是分层的,所以可以更好的实现开发中的分工。Web设计人员可以在视图层开发JSP,熟悉业务的可以开发业务层,其他开发人员可以开发控制层。3.有利于组件的重用。如果控制层可以独立成一个可用的组件,表示层也可以做成一个通用的操作界面。您可以在运行时为一个模型创建和使用多个视图。mvc中的mvc是什么意思?MVC是Java中的一种设计模式。当你写程序的时候,你必须按照这个模式写代码。其目的是减少层间耦合,方便后续维护。M——指的是型号,也就是模型。在实际开发中,我们的实体类就是我们的模型。更通俗一点,你写了很多私有修改变量,然后又写了很多get和set方法的类,叫做model。V——指的是视图,也就是View,也就是我们在JavaWEB中的视图,也就是JSP。一般来说,用户能看到的页面称为视图。C——指的是控制器,也就是控制器,也就是我们从前端接收请求的类叫做控制器,比如我们的servlet,它向模型发送数据,控制用户的输入,读取视图的数据。其实mvc和jsp没有必然的联系。mvc只是一个设计思想,也就是,(模型-视图-控制器,\'模式-视图-控制器\'),设计思想只是一个想法或者一个规范。“mvc模式”具体是什么?你可以去查,但我不会细说。我在这里把“设计理念”和“实现手段”说清楚。我们经常听到一个词叫“编程思想”。严格来说,“编程”只是一个想法,就像你想把一块木头做成两段一样。“把一块木头做成两段”是你的想法,这里叫做“编程思路”。具体的“如何把一块木头做成两段”就成了你的实现方法,这里叫做“编程”。你可以用斧头。jsp和mvc的关系是否先明确?如果不明白,可以给我留言,希望能帮到你。
java的MVC是什么?有什么作用?
ModelViewController,是模型(model)-视图(view)-控制器(controller)的缩写,是这种编程框架的通用称谓。常见的MVC框架有Struts、Struts2和springmvc。使用MVC的一个目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式,降低耦合性。同时也能够复用代码。
mvc设计模式是什么(mvc模式是什么意思)
如何理解mvc设计模式?这个问题我以前帮人回答过,现在给你回复一下。模型是指数据模型。视图是指UI视图另外,控制是指控制。为什么要用MVC?目前最好使用MVC模式设计所有有UI界面的程序。视图:我们需要有一个特殊的模块,也存储所有的UI组件库,按钮,图片,文本框,列表,菜单等。这些东西都是死的,没有内容。比如一个文本框,如果你把它从组库中拿出来,默认里面是没有文字的。模型:我们的数据模型,如果是面向对象的程序,就是数据类。比如学生,老师,车,工作人员等等。它们也可以理解为数据结构。我们必须有一个特殊的模块来存储这些结构。结构也死了。如果不把他拿出来使用,他将永远躺在模块里。Control:Controller,可以理解为一段代码,它会根据当前的程序状态机,用适当的数据模型中的数据填充UI视图。或者,通过监视UI组件的更改,可以将一些更改写回到数据模型中。用户注册界面,有四个UI组件1。文本框提示用户输入一些注册信息2。两个输入文本框允许用户输入他们的帐号和密码3。一个按钮。这里,模型是用户配置文件。视图是四个UI组件。控制需要程序加代码:当按钮被按下时,首先生成用户的实例。实际上,字符串是分别从两个输入框中获取的,并分配了用户的id和密码。保存用户实例或将其发送到服务器。在这个过程中,三个模块各司其职,尽可能少的互不干扰。尤其是模型和视图之间没有干扰,而控件是桥梁。以上是对java的MVC模式的大概解释。java中MVC的web应用也有狭义的解释,就是B/S中常用的MVC架构,具体可以查询这个信息。它是几个英文首字母的缩写Model,view,Controllermodel,View和controlcontroller。从英语中不难看出,M代表企业数据和业务规则。v是用户看到并与之交互的界面。控制器接受用户的输入,并调用模型和视图来满足用户的要求。这种模式的特点是分工明确,使程序员专注于业务逻辑,界面程序员专注于表现。同时,也方便了软件工程的管理。什么是MVC模式?MVC是‘模型-视图-控制器’的缩写,中文翻译过来就是‘模式-视图-控制器’。MVC应用程序总是由这三部分组成。事件导致控制器更改模型和/或视图。只要控制器改变了模型的数据或属性,所有的依赖视图都会自动更新。类似地,每当控制器改变视图时,视图将从潜在的模型中获取数据来刷新自己。MVC模式最早由smalltalk语言研究组提出,应用于用户交互应用。smalltalk语言和java语言有很多相似之处,都是面向对象的语言。自然,SUN在petstore案例应用中推荐MVC模式作为开发Web应用的架构模式。MVC模式是一种架构模式,但实际上需要其他模式的配合。在J2EE模式目录中,通常采用面向工人的服务模式,面向工人的服务模式可以由集中控制器模式、调度器模式和页面助手模式组成。Struts只实现MVC的视图和控制器部分,模型部分需要开发者自己实现。Struts提供了抽象的类操作,这样开发人员就可以将模型应用到Struts框架中。MVC模式是一种复杂的架构模式,其实现也非常复杂。但是我们总结了很多可靠的设计模式,各种设计模式的组合使得MVC模式的实现相对简单容易。视图可以看作一棵树,显然可以用复合模式来实现。视图和模型之间的关系可以通过观察者模式来体现。控制控制器视图的显示可以通过策略模式来实现。模型通常是一个中介,可以通过中介模式来实现。
什么是mvc模式
分类: 电脑/网络 >> 反病毒
解析:
MVC(Model/View/Controller)模式是国外用得比较多的一种设计模式,好象最早是在Smaltalk中出现。MVC包括三类对象。Model是应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。
模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。
1、模型(Model)
模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑.
2、视图(View)
视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。
3、控制器(controller)
控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。
MVC 式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性
早期的程序中,如果不注意对数功能和显示的解耦合,常常会导致程序的复杂及难以维护。很多VB,Delphi等RAD程序都有这种问题。甚至现在的C#,Java有时候也会出现把业务逻辑写在显示模块中的现象
管MVC设计模式很早就提出,但在Web项目的开发中引入MVC却是步履维艰。主要原因:一是在早期的Web项目的开发中,程序语言和HTML的分离一直难以实现。CGI程序以字符串输出的形式动态地生成HTML内容。后来随着脚本语言的出现,前面的方式又被倒了过来,改成将脚本语言书写的程序嵌入在HTML内容中。这两种方式有一个相同的不足之处即它们总是无法将程序语言和HTML分离。二是脚本语言的功能相对较弱,缺乏支持MVC设计模式的一些必要的技术基础。直到基于J2EE的JSP Model 2问世时才得以改观。它用JSP技术实现视图的功能,用Servlet技术实现控制器的功能,用JavaBean技术实现模型的功能
JSP Model 1 与 JSP Model 2
SUN在JSP出现早期制定了两种规范,称为Model1和Model2。虽然Model2在一定程度上实现了MVC,但是它的应用用并不尽如人意
JSP Model 1
JSP Model 2
model2 容易使系统出现多个Controller,并且对页面导航的处理比较复杂
有些人觉得model2仍不够好,于是Craig R. McClanahan 2000年5月提交了一个WEB framework给Java Community.这就是后来的Struts.
2001年7月,Struts1.0,正式发布。该项目也成为了Apache Jakarta的子项目之一
Struts 质上就是在Model2的基础上实现的一个MVC架构。它只有一个中心控制器,他采用XML定制转向的URL。采用Action来处理逻辑
javaMVC架构面试题
model:模型层
view:视图层
controller:控制层
mvc (modal view controler)本来是存在于desktop程序中的,m是指数据模型,v是指用户界面,c则是控制器。使用mvc的目的是将m和v的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。c存在的目的则是确保m和v的同步,一旦m改变,v应该同步更新。
模型-视图-控制器(mvc)是xerox parc在八十年代为编程语言smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为sun公司j2ee平台的设计模式,并且受到越来越多的使用 coldfusion 和 php 的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。
mvc如何工作
mvc是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用mvc应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。
视图
视图是用户看到并与之交互的界面。对老式的web应用程序来说,视图就是由html元素组成的界面,在新式的web应用程序中,html依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括macromedia flash和象xhtml,xml/xsl,wml等一些标识语言和web services.
如何处理应用程序的界面变得越来越有挑战性。mvc一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
模型
模型表示企业数据和业务规则。在mvc的三个部件中,模型拥有最多的处理任务。例如它可能用象ejbs和coldfusion components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制器
控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击web页面中的超链接和发送html表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。
现在我们总结mvc的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
为什么要使用 mvc
大部分web应用程序都是用像asp,php,或者cfml这样的过程化语言来创建的。它们将像数据库查询语句这样的数据层代码和像html这样的表示层代码混在一起。经验比较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的, 它需要精心的计划和不断的尝试。mvc从根本上强制性的将它们分开。尽管构造mvc应用程序需要一些额外的工作,但是它给我们带来的好处是无庸质疑的。
首先,最重要的一点是多个视图能共享一个模型,正如我所提及的,现在需要用越来越多的方式来访问你的应用程序。对此,其中一个解决之道是使用mvc,无论你的用户想要flash界面或是 wap 界面;用一个模型就能处理它们。由于你已经将数据和业务规则从表示层分开,所以你可以最大化的重用你的代码了。
由于模型返回的数据没有进行格式化,所以同样的构件能被不同界面使用。例如,很多数据可能用html来表示,但是它们也有可能要用macromedia flash和wap来表示。模型也有状态管理和数据持久性处理的功能,例如,基于会话的购物车和电子商务过程也能被flash网站或者无线联网的应用程序所重用。
因为模型是自包含的,并且与控制器和视图相分离,所以很容易改变你的应用程序的数据层和业务规则。如果你想把你的数据库从mysql移植到oracle,或者改变你的基于rdbms数据源到ldap,只需改变你的模型即可。一旦你正确的实现了模型,不管你的数据来自数据库或是ldap服务器,视图将会正确的显示它们。由于运用mvc的应用程序的三个部件是相互对立,改变其中一个不会影响其它两个,所以依据这种设计思想你能构造良好的松偶合的构件。
对我来说,控制器的也提供了一个好处,就是可以使用控制器来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。
mvc的缺点
mvc的缺点是由于它没有明确的定义,所以完全理解mvc并不是很容易。使用mvc需要精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考。
你将不得不花费相当可观的时间去考虑如何将mvc运用到你的应用程序,同时由于模型和视图要严格的分离,这样也给调试应用程序到来了一定的困难。每个构件在使用之前都需要经过彻底的测试。一旦你的构件经过了测试,你就可以毫无顾忌的重用它们了。
根据我个人经验,由于我们将一个应用程序分成了三个部件,所以使用mvc同时也意味着你将要管理比以前更多的文件,这一点是显而易见的。这样好像我们的工作量增加了,但是请记住这比起它所能带给我们的好处是不值一提。
mvc并不适合小型甚至中等规模的应用程序,花费大量时间将mvc应用到规模并不是很大的应用程序通常会得不偿失。
mvc是一条创建软件的好途径
mvc设计模式是一个很好创建软件的途径,它所提倡的一些原则,像内容和显示互相分离可能比较好理解。但是如果你要隔离模型、视图和控制器的构件,你可能需要重新思考你的应用程序,尤其是应用程序的构架方面。如果你肯接受mvc,并且有能力应付它所带来的额外的工作和复杂性,mvc将会使你的软件在健壮性,代码重用和结构方面上一个新的台阶。
java开发:Swing是MVC设计的典范
不管你的项目是否用到了Swing技术 我都要说 Swing是一个设计优秀的Java包 它充满了大师的智慧 如果你学了Java却连一个Button还不会写 就象你学习Visual Basic却不会用Button 那可绝对是不能被原谅的 Swing技术的应用已经在国外大行其道 由于java的免费 易学以及大家对于java技术的充分信赖 好多公司早早的就把应用程序的一切 从后台服务到前台人机交互界面 统统移到了java开发上 Swing出现了快 年了 凭借其先进的设计思想 一直未曾落后于哪种语言的界面开发技术 使用和理解Swing的设计思想 对软件开发者大有裨益
Swing的设计是MVC的典范 虽然MVC的概念有点泛滥 可是真正能够理解并熟练掌握 在设计和开发里面自然流露的并不多见 记得用VC++开发程序时候 MFC向导也是生成Document和View两个类 当时一直奇怪为什么这么绕圈子 再看Swing的设计 则到处充满了MVC的痕迹 仔细研究Swing中事件监听 Model View分离 Renderer/Editor机制 可插拔的LookAndFeel等机制 简直就是一门艺术 充满了美感 而如果你非常痛恨这些设计并觉得他们怪异 很可能你是刚从VB或者Delphi转过来 这些快速开发工具帮助了你也 害 了你
Swing设计的不错 不过可能过度学术化的设计也使得Swing跑起来并不灵巧 学习难度也大 这客观上确实使得Swing一直没有被广泛使用 而且广受诟病 记得以前 Swing有什么成功的应用吗? 之类的帖子一直是热门话题 IBM等则趁机抓住小辫子弄了SWT吸引了不少人 使得Java GUI技术面临分裂的危险
不过随着JAVA的不断升级和优化 Swing的速度一直在提高 美观性也在改善 基于Swing的成功应用也越来越多了 关于Swing是否消亡或被SWT代替或是否能作桌面应用的争论逐渐少了 不过喜欢并精通Swing技术的开发者 尤其在国内 依旧非常少
lishixinzhi/Article/program/Java/hx/201311/27176
java的MVC是什么?
MVC是一种通用的编程思想,独立于语言。MVC意思是Model(模型)+View(视图)+Controller(控制器)。其中Model指的就是数据模型,负责封装数据、处理数据;View负责展示用户界面;Controller用于协调模型和视图,负责接收用户请求。
mvc中的mvc分别指什么
MVC是Java中的一种设计模式,在你写程序的时候一定得按照这样的模式写代码,他的目的是为了减少层与层之间的耦合,方便后续的维护
M——指的是Model,即模型,在实际的开发中我们的实体类就是我们的模型,再通俗一点就是你写了很多private修饰的变量,然后写了很多get、set方法的类就叫模型
V——指的是View,即视图,就是我们JavaWEB中的视图,也就是JSP了,通俗一点就是用户可以看到的页面就叫做视图
C——指的是Controller,即控制器,就是我们在接收前端穿过来的请求的那个类就叫做控制器,比如我们的servlet,向模型发送数据,控制用户输入,读取视图的数据
mvc模式中的c在java web项目中是指
C指的是控制器。在Java Web中,我们一般以MVC进行Web开发,其中M指的是模型;V指的是视图;C指的是控制器。