我以前是学asp.net的,我刚学用Struts的MVC2来做jsp网页,看了很多资料,有些东西很糊涂的,我对MVC2和asp.net中的三层结构的关系的理解如下几个问题,也不知道对不对?如果理解不对,请老大们指正一下!谢谢!
1.在jsp的MVC2(Model,View,Controller的缩写)中:Model层主要放JavaBean,Model层中主要放些连接数据库的字符串和操作数据库的代码(比如 添加信息 修改信息 更新信息 插入信息 删除信息等),Model层就相当于asp.net中的三层结构的数据访问层!对吗?如果理解不对,请老大们指正一下!谢谢!2.在jsp的MVC2(Model,View,Controller的缩写)中:View层主要放jsp页面(如index.jsp等页面文件),View层就相当于asp.net中的三层结构的表示层!对吗?如果理解不对,请老大们指正一下!谢谢!3.在jsp的MVC2(Model,View,Controller的缩写)中:Controller层主要放些配置文件Struts-Config.XML,这些配置文件中主要放一些和数据层打交道具体实现方法(如:使增、删、改这些方法的实现!)和数据是否唯一的验证和一些数据有效性的验证,Controller层就相当于asp.net中的三层结构的业务逻辑层!对吗?如果理解不对,请老大们指正一下!谢谢!
1.在jsp的MVC2(Model,View,Controller的缩写)中:Model层主要放JavaBean,Model层中主要放些连接数据库的字符串和操作数据库的代码(比如 添加信息 修改信息 更新信息 插入信息 删除信息等),Model层就相当于asp.net中的三层结构的数据访问层!对吗?如果理解不对,请老大们指正一下!谢谢!2.在jsp的MVC2(Model,View,Controller的缩写)中:View层主要放jsp页面(如index.jsp等页面文件),View层就相当于asp.net中的三层结构的表示层!对吗?如果理解不对,请老大们指正一下!谢谢!3.在jsp的MVC2(Model,View,Controller的缩写)中:Controller层主要放些配置文件Struts-Config.XML,这些配置文件中主要放一些和数据层打交道具体实现方法(如:使增、删、改这些方法的实现!)和数据是否唯一的验证和一些数据有效性的验证,Controller层就相当于asp.net中的三层结构的业务逻辑层!对吗?如果理解不对,请老大们指正一下!谢谢!
我以前也是学.net的~~
ActionFrom用于实现初始化表单值对象以及验证
Action就用于调用业务逻辑进行实际的操作最后返回一个ActionFroward对象并找到相应的跳转路径进行跳转
M层表示程序的状态和业务逻辑,由JAVABEAN和EJB组件来实现.
V层楼主的理解没有错,就是JSP文件,Struts中把ActionBean也划分到了V层中,Struts用它来控制M与V之间表单数据的传递.
C层就是Servlet,在Struts中,C层由ActionServlet类和Action类来实现,其中ActionServlet负责接收Http请求信息,然后根据Struts-Config.xml配置文件把请示转发给适当的Action对象.如果Action对象不存在,ActionServlet会创建一个Action对象.而Action类负责调用M层中的JavaBean或EJB组件的方法.具体的一些概念书上都写得很清楚,楼主查阅一下就会清楚了.
Java项目是 Model,DataAccess,ActionForm,Action,Bean,UI个人意见
395页有一段话如下:应用中的那些经常说 “这是我所有的,以及这是我想要的” 的部分通常称为是业务层,或者程为模型(Model) (MVC 中的M)。这也是你的应用所不同于其它应用的本质部分。
这本电子书好像把业务逻辑层说成就是MVC的Model层啊!可我看别的MVC的文章又把数据库访问层说成是Model层啊!这让我们这些菜鸟更糊涂了啊!我想请问一下:asp.net中的三层结构的数据库访问层到底属不属于jsp中MVC的范围啊?(也就是MVC中到底有没有数据库访问层啊?)急想搞清楚这些重要的东西啊!希望高手们给个标准的答案啊!谢谢了!希望高手们给个标准的答案啊!谢谢了!希望高手们给个标准的答案啊!谢谢了!
395页有一段话如下:应用中的那些经常说 “这是我所有的,以及这是我想要的” 的部分通常称为是业务层,或者程为模型(Model) (MVC 中的M)。这也是你的应用所不同于其它应用的本质部分。
这本电子书好像把业务逻辑层说成就是MVC的Model层啊!可我看别的MVC的文章又把数据库访问层说成是Model层啊!这让我们这些菜鸟更糊涂了啊!我想请问一下:asp.net中的三层结构的数据库访问层到底属不属于jsp中MVC的范围啊?(也就是MVC中到底有没有数据库访问层啊?)急想搞清楚这些重要的东西啊!希望高手们给个标准的答案啊!谢谢了!希望高手们给个标准的答案啊!谢谢了!希望高手们给个标准的答案啊!谢谢了!
一个好的用户界面(GUI)的设计通常可以在现实世界找到相应的表现。例如,如果在您的面前摆放着一个类似于电脑键盘按键的一个简单的按钮,然而就是这么简单的一个按钮,我们就可以看出一个GUI设计的规则,它由两个主要的部分构成,一部分使得它具有了按钮应该具有的动作特性,例如可以被按下。另外一部分则负责它的表现,例如这个按钮是代表了A还是B。 看清楚这两点你就发现了一个很强大的设计方法,这种方法鼓励重用reuse,而不是重新设计redesign。你发现按钮都有相同的机理,你只要在按钮的顶上喷上不同的字母便能制造出“不同”的按钮,而不用为了每个按钮而重新设计一份图纸。这大大减轻了设计工作的时间和难度。 如果您把上述设计思想应用到软件开发领域,那么取得相似的效果一点都不让人惊奇。一个在软件开发领域应用的非常广泛的技术Model/View/Controller(MVC)便是这种思想的一个实现。 这当然很不错,但是或许您又开始疑惑这和java基础类JFC(Java Foundation Class)中的用户界面设计部分(Swing)又有什么关系呢?好的,我来告诉你。 尽管MVC设计模式通常是用来设计整个用户界面(GUI)的,JFC的设计者们却独创性的把这种设计模式用来设计Swing中的单个的组件(Component),例如表格Jtable,树Jtree,组合下拉列表框JcomboBox等等等等。这些组件都有一个Model,一个View,一个Controller,而且,这些model,view,controller可以独立的改变,就是当组件正在被使用的时候也是如此。这种特性使得开发GUI界面的工具包显得非常的灵活。 MVC设计模式把一个软件组件区分为三个不同的部分,model,view,controller。 Model是代表组件状态和低级行为的部分,它管理着自己的状态并且处理所有对状态的操作,model自己本身并不知道使用自己的view和controller是谁,系统维护着它和view之间的关系,当model发生了改变系统还负责通知相应的view。 View代表了管理model所含有的数据的一个视觉上的呈现。一个Model可以有一个以上的View,但是Swing中却很少有这样的情况。 Controller管理着model和用户之间的交互的控制。它提供了一些方法去处理当model的状态发生了变化时的情况。 使用键盘上的按钮的例子来说明一下:Model就是按钮的整个机械装置,View/Controller就是按钮的表面部分。 下面的图解释了如何把一个JFC开发的用户界面分为model,view,controller,注意,view/Controller被合并到了一起,这是MVC设计模式通常的用法,它们提供了组件的用户界面(UI)。 用Button的例子详细说明 为了更好的理解MVC设计模式和Swing用户界面组件之间的关系,让我们更加深入的进行分析。我将采用最常见的组件button来说明。 我们从model来开始。 Model 一个按钮的model所应该具备的行为由一个接口ButtonModel来完成。一个按钮model实例封装了其内部的状态,并且定义了按钮的行为。它的所有方法可以分为四类: 1、查询内部状态 2、操作内部状态 3、添加和删除事件监听器 4、发生事件 法。 程序员通常并不会直接和model以及view/controller打交道,他们通常隐藏于那些继承自java.awt.Component的组件里面了,这些组件就像胶水一样把MVC三者合三为一。也正是由于这些继承的组件对象,一个程序员可以很方便的混合使用Swing组件和AWT组件,然后,我们知道,Swing组件有很多都是直接继承自相应的AWT组件,它能提供比AWT组件更加方便易用的功能,所以通常情况下,我们没有必要混合使用两者。
<BR> 共3页。 1 2 3 8 :楼主可研究下
395页有一段话如下:应用中的那些经常说 “这是我所有的,以及这是我想要的” 的部分通常称为是业务层,或者程为模型(Model) (MVC 中的M)。这也是你的应用所不同于其它应用的本质部分。
这本电子书好像把业务逻辑层说成就是MVC的Model层啊!可我看别的MVC的文章又把数据库访问层说成是Model层啊!这让我们这些菜鸟更糊涂了啊!我想请问一下:asp.net中的三层结构的数据库访问层到底属不属于jsp中MVC的范围啊?(也就是MVC中到底有没有数据库访问层啊?)急想搞清楚这些重要的东西啊!希望高手们给个标准的答案啊!谢谢了!希望高手们给个标准的答案啊!谢谢了!希望高手们给个标准的答案啊!谢谢了!
395页有一段话如下:应用中的那些经常说 “这是我所有的,以及这是我想要的” 的部分通常称为是业务层,或者程为模型(Model) (MVC 中的M)。这也是你的应用所不同于其它应用的本质部分。
这本电子书好像把业务逻辑层说成就是MVC的Model层啊!可我看别的MVC的文章又把数据库访问层说成是Model层啊!这让我们这些菜鸟更糊涂了啊!我想请问一下:asp.net中的三层结构的数据库访问层到底属不属于jsp中MVC的范围啊?(也就是MVC中到底有没有数据库访问层啊?)急想搞清楚这些重要的东西啊!希望高手们给个标准的答案啊!谢谢了!希望高手们给个标准的答案啊!谢谢了!希望高手们给个标准的答案啊!谢谢了!
所以基本上m层包括了数据访问和大部分业务逻辑的实现。而v层负责最终的呈现。c层控制器主要控制程序的流向,在Struts架构中可能c层也会包含少部分业务逻辑的实现。
ASP.NET我也在做,感觉其实MS因为开发的方便性屏蔽了很多东西,在实际MVC的实现和构成上反而没有J2EE清晰
其实大部分做。NET程序所谓的数据访问层无非就是定义访问接口,在接口实现中定义各种操作,在.NET中用ORM的不多
而JSP的层次可能会更复杂一些,当然,不是说程序上的复杂
比如structs webwork之类,其实说严格点都是提供的一种界面解决方案而已,M是JSP,C一般是structs和webwork给你控制了(交给他们的servlet做处理),将一个请求转交给Action
C层也可以包含很多,比如webwork ,有丰富的拦截器的AOP实现,校验实现
而M就可以很多了,如果分细点,可以包含Action类,操作接口,接口实现,然后数据库访问一般就是采用ORM方案在接口实现里面,就接口定义方面,跟。NET其实差不多,当然,嫌麻烦直接把逻辑处理写在Action的也有很多。不过由于有SRPING这些东东,JSP各层之前可以显得更独立,组合也更加自由。
V层就是.net中的.aspx(不包括.aspx.cs)
其他就不存在必然的共同性了