一、如何实现MVC模式
最简单的方法是使用struts或jsf等mvc的框架,本身就是一个实现。如果自己实现,比较复杂的就是要自己写一个总控制器,接受所有用户的请求,进行分发给其他servlet或直接进行页面跳转。不建议自己实现,建议使用一个mvc框架,然后搞明白他的生命周期和原理,再去看框架总控制器的源代码,这样比较好。
原理:
jsp发展经历了两个模型时代,jsp模型一时代是把代码都写在jsp页面上,用户访问jsp页面时,jsp页面来对数据库进行操作并返回值到jsp页面,这样第一不好维护,第二安全性不高,第三代码结构不清晰,第四重用性不高。于是就有了jsp模型二时代,人们将所有的页面请求交给一个servlet控制器来接受,然后进行分发,由该servlet来决定调用其他servlet访问数据库还是进行页面跳转,这个servelt就是MVC中的C,struts中好像叫ActionServlet,Jsf中叫FacesServelt,web.xml中配置的就是总servlet控制器,为了更好的分层,重用,降低依赖性,就有了MVC,由M层接受和绑定用户的数据,V层进行展现,C层进行控制。
目前主流的开发模式是四层开发模式:界面层(page)+动作处理层(action)+业务逻辑层(service)+数据访问层(dao),page层用于展现页面,action层用于捕获用户事件并调用service层处理业务逻辑,service要处理业务逻辑肯定就要对数据库进行增删改查,拼接HQL语句,然后调用dao层对数据库进行操作,hibernate完成的就是DAO层。但是这样一来action层对service层产生了依赖,因为要创建一个service接口的引用,service层对dao层产生了依赖,就是说实例化一个action层的对象,同时要至少实例化一个service层和至少实例化一个dao层,于是spring的IOC就可以起作用了,就可以降低各层之间的依赖。将各层做为接口对象实例配置到spring中,降低依赖。
二、MVC编程模式是什么
晕,居然还有人说是一个意思
你所指的三层是j2ee设计中的三层,这个你很清楚,我就不说了。
MVC是java设计模式中的术语,跟这个三层说的不是一个方面的东西。
MVC:model,view,control表示,如果软件需要用到UI界面,那么就应该分成:模型层,表示层,控制层三层,
原因是模型表示数据原形,表示层用来对数据进行绘制和表示。控制用来操控这些数据,
用户一般看到了表示层上的界面,使用控制层来控制界面,最后的结果影响到模型层。
MVC模式与工厂模式,单例模式,命令模式,等等一起共20多种合称为程序语言的设计模式,它是我们平时编程时的经验累积。我们在设计我们的程序时可以以它们做为参考进行程序的架框设计。
最后再说一句:MVC的要义就是显示的专业显示,逻辑的专业逻辑,逻辑与绘图分开,不一定会是三层,可能会有更多层。只要能达到MVC要求的规则,你想几层都可以。目的就是达到程序的各个模块之间尽量脱藕合。
可能我们说得让你有点一头雾水,所以强烈建议楼主去补习一下20多种设计模式。学了设计模式会对你的程序水平有质的提升,真的,我就是学完会爱上java的,以前把学习java当成任务,但学了设计模式后就爱上它了!
三、三层架构和mvc模式有什么关系
三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目。三层架构将整个项目划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。MVC是一个设计模式,它是根据项目的具体需求来决定是否适用于该项目。MVC可分为:Model模型层、View视图层、Controller控制层;总结:在Javaweb开发中,MVC框架充当了UI层和业务逻辑层的适配器的作用。MVC框架实现了UI层和业务逻辑层最大程度的分离。
四、MVC模式是什么
MVC模式是"Model-View-Controller"的缩写,中文翻译为"模式-视图-控制器"。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。MVC模式最早是**alltalk语言研究团提出的,应用于用户交互应用程序中
如果你还想了解更多这方面的信息,记得收藏关注本站。