Struts只是一个MVC框架(Framework),用于快速开发Java Web应用。Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签(Custom Tag)。Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式的商业逻辑。 Spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。

解决方案 »

  1.   

    http://www.jactiongroup.net/reference/html/mvc.html
      

  2.   

    还是不懂,能否直接给我解释一下我的问题.我想知道能否直接用spring代替struts,在spring中有没有struts的重复提交问题??
      

  3.   

    哪里有用spring做的网站,我想看看.
      

  4.   

    晕倒,楼主对这两个框架感觉都是一窍不通,或者说没有掌握精髓。
    现在大体说一下:
    structs:和ww2等一样,都是典型的mvc结构框架,至于mvc是什么,地球人都知道,如果你不知道就google吧:),structs偏重于表现层,它自己起一个控制器的作用即controller,它可以良好的把表现层与业务层分离开来。spring:说白了就是一个大杂烩,提供了目前各种流行框架的集成,经典的有对hibernate的集成,此外,如mail,axis...各种都有。另外,它比较经典的就是IOC与AOP的功能,楼上已经有人说了,如果你不知道,去google。此外,它还提供了Spring MVC,它基于webflow,至于用法,去查它的文档。structs的actionform是公认的败笔,我用得痛苦得不得了。
    另外,你说的重复提交,那是浏览器的问题,和structs无关。看你如何指挥浏览器了,如果你用redirect,就没有重复提交的问题,因为浏览器已经重定向了。但是你用forward,那在你刷新的时候就是重复提交。Spring比较偏重于业务层,在页面上一般是不显示出来的。当然,如果你用Spring的MVC例外。
    如果楼主讨论的是Spring MVC和Structs的话,那我告诉你,Spring MVC绝对要比structs优秀,但是实现起来比structs复杂,structs占在人多力量大,成熟,文档多。
    如果你真要用的话,还是建议你使用webwork,拦截器功能强大,使用ognl,绝对没得说。
      

  5.   

    structs:和ww2等一样,都是典型的mvc结构框架,至于mvc是什么,地球人都知道,如果你不知道就google吧:),structs偏重于表现层,它自己起一个控制器的作用即controller,它可以良好的把表现层与业务层分离开来。 spring:说白了就是一个大杂烩,提供了目前各种流行框架的集成,经典的有对hibernate的集成,此外,如mail,axis...各种都有。另外,它比较经典的就是IOC与AOP的功能,楼上已经有人说了,如果你不知道,去google。此外,它还提供了Spring   MVC,它基于webflow,至于用法,去查它的文档。 structs的actionform是公认的败笔,我用得痛苦得不得了。 
    另外,你说的重复提交,那是浏览器的问题,和structs无关。看你如何指挥浏览器了,如果你用redirect,就没有重复提交的问题,因为浏览器已经重定向了。但是你用forward,那在你刷新的时候就是重复提交。 Spring比较偏重于业务层,在页面上一般是不显示出来的。当然,如果你用Spring的MVC例外。 
    如果楼主讨论的是Spring   MVC和Structs的话,那我告诉你,Spring   MVC绝对要比structs优秀,但是实现起来比structs复杂,structs占在人多力量大,成熟,文档多。 
    如果你真要用的话,还是建议你使用webwork,拦截器功能强大,使用ognl,绝对没得说。