在struts1.0中一个比较明显的缺点就是:当一个非常大的团队进行开发的时候对于配置文件(通常是struts-config.xml)
的维护是一件麻烦的事情.当系统比较小开发人远不多的时候,这种问题通常不会很明显;然而一旦涉及到大团队的开发,可想
而知,维护所有的mapping请求信息到一个单个的配置文件中将是一件多么痛苦的事情。
在struts1.1中通过引入多模块(multiple sub-applications)来解决这种问题,其中没一个子模块都有自己的struts-config.xml.
...
抛砖引玉的说

解决方案 »

  1.   

    http://plateau.sicool.com/article/struts/whyUpdateToStruts11.html
      

  2.   

    通过引入多模块,一个更灵活的维护配置文件的方法就是为每个模块配置独立的xml文件,现在有许多原来是在web.xml中配置的信息(如:resource bundle location,maximum upload file size等等)转移到struts-config.xml中,当然和以前版本兼容把这些信息写在web.xml中仍然有效。
      

  3.   

    在struts1.0中你是否有这样的烦恼:不得不为了每一个页面表单配备一个单独的Formbean(当然有些时候多个页面跳转的时候可以共用一个Formbean),你是否也为写N个枯燥的get set 方法而苦恼?
    从struts1.1开始,有一种替代的方法:基于DynaBeans的Dynamic ActionForms,他允许你在struts-config.xml中为每一个页面表单书写必要的formbean元素,其他的事情你自不必理会(那些枯燥乏味的get set方法现在可以终于可以置之不理了)。
    如果你目前的项目已经使用到它,你就会发现它确实给我们省了许多力气。
      

  4.   

    to ejb99666(走光啦!) :
    用cvs管理就不存在你说的问题。
      

  5.   

    我现在也在用struts,希望和参与大家讨论
      

  6.   

    顶一下,和java高手学习中
    同意楼上用cvs进行版本控制,但是struts内部支持更好~~~
      

  7.   

    to
     lj0425(冰芝麻) and ejb99666(走光啦!) and 楼主我也用过Struts多模块,
    我的版本控制是ClearCase,没用过CVS,听说那东西很好一直想尝尝鲜。。当Struts1.0时,如果很多人都要修改Struts-config。xml时,这时麻烦是最明显的。
    ClearCase同一个Stream不允许Reserved式同时CheckOut同一个文件
    当然,你可以开多个流,但你就要面临Merge的头疼(不知CVS是否做得更好?)。。Struts1.1确实有很多好处。
    我是比较喜欢它这个多模块的特点的。当一个项目很大时,可以将一个模块分给一个小组,
    一个小组对应一个Struts-config文件;
    减少了并发冲突;
    而且从结构上看起来也更合理;我也很中意它的自定义异常;
    它能让程序更好的体现自己存在的目的和作用范围(如果你用好的话)
      

  8.   

    可以不同的开发人员只负责对自已的struts-config-模块名.xml进行form-beans、action-mappings、message-resources、ValidatorPlugIn、TilesPlugin的配置,开发时各自写自己的资源文件、validator文件、tiles文件互不影响。