Model(模型)
模型包含应用程序的核心功能。模型封装了应用程序的状态。有时它包含的唯一功能就是状态。它对视图或控制器一无所知。View(视图)
视图提供模型的表示。它是应用程序的外观。视图可以访问模型的读方法,但不能访问写方法。此外,它对控制器一无所知。当更改模型时,视图应得到通知。Controller(控制器)
控制器对用户的输入作出反应。它创建并设置模型。 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
Struts 概览Client browser(客户浏览器)
来自客户浏览器的每个 HTTP 请求创建一个事件。Web 容器将用一个 HTTP 响应作出响应。Controller(控制器)
控制器接收来自浏览器的请求,并决定将这个请求发往何处。就 Struts 而言,控制器是以 servlet 实现的一个命令设计模式。struts-config.xml 文件配置控制器。业务逻辑
业务逻辑更新模型的状态,并帮助控制应用程序的流程。就 Struts 而言,这是通过作为实际业务逻辑“瘦”包装的 Action 类完成的。Model(模型)的状态
模型表示应用程序的状态。业务对象更新应用程序的状态。ActionForm bean 在会话级或请求级表示模型的状态,而不是在持久级。JSP 文件使用 JSP 标记读取来自 ActionForm bean 的信息。View(视图)
视图就是一个 JSP 文件。其中没有流程逻辑,没有业务逻辑,也没有模型信息 -- 只有标记。标记是使 Struts 有别于其他框架(如 Velocity)的因素之一。 

解决方案 »

  1.   

    MVC和三层结构是两回事,当然MVC也可以用三层结构来实现。
    三层结构典型的是WEB层(JSP、SERVLET、JAVABEAN等)、EJB层
    、数据库在三个不同的主机上运行。MVC一般是指WEB层再细化的设计技术,
    是一种开发编程技巧,基本上只涉及三层结构的其中一层。
    三层结构是一种技术体系,更多地考虑系统的性能、可扩展性、安全等。
    把MVC改一下,用EJB来写,只是最简单的三层结构。
      

  2.   

    http://www-900.ibm.com/developerWorks/cn/java/l-j2eeArch/index.shtml
    看看2.4. WAF
    WAF架构:WAF是WEB APPLICATION FRAMWORK的简称,是SUN蓝皮书例子程序中提出的应用框架。它实现了 MVC和其他良好的设计模式
      

  3.   

    如果用mvc的方式实现了两层结构,比较合理的改为三层的方式是什么样的呢?或者说mvc的两层开发方式对真正的三层根本没太大的意义?
    请指教~!谢谢~!;)
      

  4.   

    http://www-900.ibm.com/developerWorks/cn/java/l-j2eeArch/index.shtml
    这里很好的,多去看看好了。
      

  5.   

    我想说的是,mvc和三层架构并非完全无关。
    相对而言,mvc是一种抽象的模式,而三层架构则是mvc模式的一个具体的实现方案。web层--view,business层--control,data层--modelstruts实际上并非只在web层工作。他的action实际上是business层的controller,至于ejb,你可以用,当然也可以选择不用,并非使用ejb才算business层。而实体bean,某种意义上是model,是data层的。一家之言,见笑.:)
      

  6.   

    在J2ee中 M-V-C 模式是用在表示层(UI)的
    不同model调用不同外观对象加载view ,View 的改变通过control 推向不同model