MyException - 我的异常网
当前位置:我的异常网» J2EE » 三层架构和mvc的关系,该如何解决

三层架构和mvc的关系,该如何解决

www.MyException.Cn  网友分享于:2013-01-31  浏览:65次
三层架构和mvc的关系
在j2ee中 表示层,业务逻辑层,数据访问层这三层都用什么技术实现,和MVC的关系是什么

------解决方案--------------------
Model-View-Controller
MVC架构是一种架构,其实需要其他模式协作完成。在J2EE模式目录中,通常采用service to worker模式实现,而service to worker模式可由集中控制器模式,派遣器模式和Page Helper模式组成。而Struts只实现了MVC的View和Controller两个部分,Model部分需要开发者自己来实现,Struts提供了抽象类Action使开发者能将Model应用于Struts框架中。

------解决方案--------------------
MVC模式就指Model、View、Controller。Model是用JavaBean实现,View是用JSP实现,Controller是用servlet实现。三层架构,即:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。每一层都有自己的职责,完成不同的任务,尽量减少不同层之间的交流,所有内聚性得到了大大的降低。它们作用如下:
1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。


------解决方案--------------------
探讨
表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL) 组成model
之前有controller和view
视图可以是jsp, excel, word, jpg等

------解决方案--------------------
M:模型层hibernate ,是底层的数据库
V:视图层,简单的说就是jsp页面
C :控制层 业务逻辑的处理
Struts2 对视图层进行封装更好的分离视图层和控制层 对数据进行封装

------解决方案--------------------
MVC其实是三层架构中表现层的一种框架,struts比较好的实现了MVC框架。
通俗来说,以struts举例
Model只是作为页面和控制器的表单传值(即form),view是用户能看到的页面(即jsp),control是根据用户的操作来控制页面跳转以及调用后台逻辑(即action)

------解决方案--------------------
三层架构只是从逻辑上把相关代码进行了分层或者说分离,每一层只管理自己的事情,也是面向对象的一种思维方式。
ssh就是三层架构的一种实现形式,struts是表现层,string是逻辑层,H是数据持久层。
------解决方案--------------------
探讨
引用:

引用:
表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL) 组成model
之前有controller和view
视图可以是jsp, excel, word, jpg等

除了UI

表现层属于view层吗?ssh和MVC又有什么关系呢?ssh和三层架构的关系呢

------解决方案--------------------
三层架构,MVC要把这2个的概念搞清楚,不要混为一谈,
MVC是一种设计理念,现在很多框架采用这种模式,比如struts框架。
MVC体现在三层架构中表现层中。

------解决方案--------------------
就SSH的结构来说

M:模型,访问数据库的,用 hebernate
V:视图,页面展示,用 struts2
C:控制,用 spring
------解决方案--------------------
个人认为两者之间没有关系。
struts是一个mvc框架,为的是将java代码和hmtl代码分开方便美工和java程序员分工。
它不涉及到数据库访问,业务处理。
而三层是为了解藕合,代码结构更清晰,方便程序的维护。
spring和业务层有关系吗?我认为没有,只是业务层可以用到这种技术而已。
------解决方案--------------------
MVC是思想不是什么技术。

model:javabean 
view:jsp 
control:servlet
用户直接访问servlet然后由servlet调用javabean最后选择其中一个JSP返回给用户。
servlet在这中间充当控制器的作用。这就是MVC。

文章评论

为什么程序员都是夜猫子
为什么程序员都是夜猫子
程序员的鄙视链
程序员的鄙视链
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
鲜为人知的编程真相
鲜为人知的编程真相
Java程序员必看电影
Java程序员必看电影
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
程序员都该阅读的书
程序员都该阅读的书
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
旅行,写作,编程
旅行,写作,编程
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
一个程序员的时间管理
一个程序员的时间管理
代码女神横空出世
代码女神横空出世
10个调试和排错的小建议
10个调试和排错的小建议
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
那些争议最大的编程观点
那些争议最大的编程观点
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
如何成为一名黑客
如何成为一名黑客
老程序员的下场
老程序员的下场
每天工作4小时的程序员
每天工作4小时的程序员
漫画:程序员的工作
漫画:程序员的工作
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
总结2014中国互联网十大段子
总结2014中国互联网十大段子
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
编程语言是女人
编程语言是女人
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
我是如何打败拖延症的
我是如何打败拖延症的
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
中美印日四国程序员比较
中美印日四国程序员比较
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有