mvc框架是什么(struts框架)

admin 439 0

大家好,感谢邀请,今天来为大家分享一下mvc框架是什么的问题,以及和struts框架的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

一、我们常说的mvc框架是指什么

1、MVC全名是Model--View--Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。其中Model层处理数据,业务逻辑等;View层处理界面的显示结果;Controller层起到桥梁的作用,来控制View层和Model层通信以此来达到分离视图显示和业务逻辑层。

2、我们往往把Android中界面部分的实现也理解为采用了MVC框架,常常把Activity理解为MVC模式中的Controller。

3、看似没有什么特别的地方,但是由几个需要特别关注的关键点:

4、View是把控制权交移给Controller,自己不执行业务逻辑。

5、Controller执行业务逻辑并且操作Model,但不会直接操作View,可以说它是对View无知的。

6、View和Model的同步消息是通过观察者模式进行,而同步操作是由View自己请求Model的数据然后对视图进行更新。

二、什么是MVC啊

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。

比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。

模型-视图-控制器(MVC)是Xerox PARC在二十世纪八十年代为编程语言Smalltalk-80发明的一种软件设计模式,已被广泛使用。

后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。

MVC是一种使用 MVC(Model View Controller模型-视图-控制器)设计创建 Web应用程序的模式:

1、Model(模型)表示应用程序核心(比如数据库记录列表)。

2、View(视图)显示数据(数据库记录)。

3、Controller(控制器)处理输入(写入数据库记录)

MVC模式同时提供了对 HTML、CSS和 JavaScript的完全控制:

1、Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。

通常模型对象负责在数据库中存取数据。

2、View(视图)是应用程序中处理数据显示的部分。

通常视图是依据模型数据创建的。

3、Controller(控制器)是应用程序中处理用户交互的部分。

通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

MVC分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。

MVC分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。

MVC指MVC模式的某种框架,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP+ servlet+ javabean的模式。

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

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

模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。

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

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

Struts是Apache软件基金下Jakarta项目的一部分。Struts框架的主要架构设计和开发者是Craig R.McClanahan。Struts是Java Web MVC框架中不争的王者。经过长达九年的发展,Struts已经逐渐成长为一个稳定、成熟的框架,并且占有了MVC框架中最大的市场份额。

但是Struts某些技术特性上已经落后于新兴的MVC框架。面对Spring MVC、Webwork2这些设计更精密,扩展性更强的框架,Struts受到了前所未有的挑战。但站在产品开发的角度而言,Struts仍然是最稳妥的选择。

Struts有一组相互协作的类(组件)、Servlet以及jsp tag lib组成。基于struts构架的web应用程序基本上符合JSP Model2的设计标准,可以说是MVC设计模式的一种变化类型。

根据上面对framework的描述,很容易理解为什么说Struts是一个web framework,而不仅仅是一些标记库的组合。但 Struts也包含了丰富的标记库和独立于该框架工作的实用程序类。

Struts有其自己的控制器(Controller),同时整合了其他的一些技术去实现模型层(Model)和视图层(View)。

在模型层,Struts可以很容易的与数据访问技术相结合,包括EJB,JDBC和Object Relation Bridge。在视图层,Struts能够与JSP, Velocity Templates,XSL等等这些表示层组件相结合。

三、什么是mvc框架(什么是Mvc)

1、常见的MVC框架有JSP?servlet?javabean的模式。

2、一个MVC模式的框架,强制分离应用的输入、处理和输出。使用MVC的应用程序分为三个核心组件:模型、视图和控制器。他们各自处理自己的任务。最典型的MVC是JSP?servlet?javabean的模式。

3、使用mvc框架核心控制器的主要目的是处理所有的请求,然后统一处理那些特殊的请求(控制器)(字符编码、文件上传、参数接受、异常处理等。).SpringMVC核心控制器是Servlet,Struts2是Filter。

4、?SpringMVC会比Struts2稍微快一点。SpringMVC是基于方法的设计,而Sturts2是基于类的设计。每次发送请求都会实例化一个动作,每个动作都会注入属性。SpringMVC基于方法,粒度更细,但要像控制servlet中的数据一样小心控制。

5、SpringMVC是方法级拦截。拦截方法后,根据参数上的注释注入请求数据。在SpringMVC中,一个方法对应一个请求上下文。Struts2框架是类级拦截。每次请求到来时,都会创建一个动作,然后调用settergetter方法在请求中注入数据。Struts2实际上是通过settergetter方法处理请求的。

6、参考来源:百度百科-mvc框架mvc是一种框架模式,强制分离应用程序的输入、处理和输出。使用mvc的应用程序分为三个核心组件:模型、视图和控制器。他们各自处理自己的任务。最典型的mvc模式是jspservletjavabean模式。很多框架都是为了方便MVC模式的实现而设计的,比如Struts和spring。

7、现在很多公司都是自己实现MVC框架,而不是使用开源框架。

8、Struts1,Struts2,SpringMVC,Grails和JSF是常用的MVC框架,还有Tapestry。

9、WEB中最常用的结构。百度会有非常具体的解释。需要做网页什么的吗?以j2ee为例,我用过的很多mvc框架都是前端显示:jsp(htmlcssjs(jquery))后端:Struts2/1SpringIbatis/Hibernate/MyBatis,目前比较流行的。Hibernate具有最好的数据库兼容性。Ibatis/mybatis比较好用。

OK,关于mvc框架是什么和struts框架的内容到此结束了,希望对大家有所帮助。