三层架构和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。