JAVAbean为什么被定义为MVC的model层的呢?请高手指点。

Eric贰 发布于 2011/09/04 20:57
阅读 7K+
收藏 1

在我以往的学习中,javabean 一般是用来传参的,作为JSP与SERVLET中间的桥梁或者是用作同数据库打交道的。

比如struts中的formbean其实也是个javabean。

但是我有看MVC的介绍,说javabean是与EJB同作用的,是处于MODEL层的,我就很郁闷了。看MVC的示意图,MODEL层是不和view层直接打交道的。那FORMBEAN是干嘛滴?难道是幻觉?

 

请高手指点。。。。。。

 

PS.再请高手指导下ACTION是control层不?既然是control层,javabean是在control 与view之间,又怎么能算model层呢?

以下是问题补充:

@Eric贰:既然有人说看不懂,那我重新梳理一下: javabean为什么被定义在MODEL层?我有两点主要疑惑: 1.struts里的formbean也是javabean,而formbean 的作用是用来页面传参的。和MODEL层有什么关系? 2.根据MVC的定义,model层是与control层打交道的,与view层是不直接交互的。 这里举struts的例子,view层(jsp) <==交互==> formbean <==交互==> control 层(action)。 很明显,在struts里formbean 不仅和control层交互,而且直接与view层页面交互。这与MODEL层的定义相差甚远。实在难以理解。 请指教~ (2011/09/04 22:42)
加载中
0
puras
puras

逻辑比较混乱,多个名词弄混了。

另外,Service和DAO,不属于MVC中的,如果非要算,那也算是Model层了。

0
hantsy
hantsy
不知所云
0
超级奶爸老谭
超级奶爸老谭

理解清楚就行。

View:一般来说,是指Jsp或其它用于展示界面的Servlet;

Controller:用于接受View层的请求,调用Model处理,再响应给用户;

Model:接受并处理Controller传入的数据;

Eric贰
Eric贰
我想问下,就是某些javabean(例如struts中的formbean)是用来页面传递参数用的。为什么javabean被划归到MODEL层呢,而不是control 层呢?请您多指教~
0
hunterli
hunterli

JavaBean有很多种,普通的POJO、EJB、Swing组件等等,都是JavaBean。

Struts里的FormBean是POJO,传输数据用的,不是Model。

JavaBean里面加上业务方法,就可以作为Model了。

就是不着调
就是不着调
struts中的FormBean不属于POJO吧,POJO是纯粹的java对象,没有侵入性,FormBean是继承了ActionForm的.
hunterli
hunterli
基本就这个意思,理解万岁!
Eric贰
Eric贰
是不是这样理解:javabean其实并不是处于model层。javabean 只是一个笼统的概念。用于在后台处理逻辑业务的javabean 才是处于model层。是么? 请指教。
0
星星爷
星星爷
这样理解如何:javabean是定义在model层的,但是struts里V-C之间有了一个bean,就是说的formbean,这里的formbean是一个javabean,可起的作用不是javabean的功能,应该说是javabean功能之一,只是传递参数而已。事实上,struts为了能实现MVC的功能 不得已而加了一个没有进化好的formbean!你看struts2里就没有了formbean
0
jeffsui
jeffsui

struts1中的formBean仅仅是在view和model层之间传输数据的,严格意义上说他并不是model.

换句话说不是所有的javaBean都能充当model,至少我是这样理解的。

struts2中已经没有了formBean的概念.

不过继承了action的子类,直接可以引用javaBean的对象,这样看,是不是struts2更贴近MVC呢.

0
Orientson
Orientson

struts中的formbean其实是domainobject,负责从页面收集数据并向下层传递,属于你说的传递参数作用是一致的。而真正和DB打交道,与DB字段一一对应的是dataobject,它才是与DB真正打交道的。

你可以查查domainobject和dataobject,这样会帮助你理解的。

Eric贰
Eric贰
非常感谢!~学习下
0
Nori
Nori
个人认为,可以这么说javabean不从属于任何一层,在三层中都它的出现,1、数据属性;2、将三层关联。正因为有了数据的流转才将三层联系在一起。
Eric贰
Eric贰
但是百度百科上的MVC定义,把JAVABEAN 定义为于EJB相同,都是MODEL层。。。。所以我很晕。。。
返回顶部
顶部