使用SSH后,或者是别的框架,性能是提高了,还是降低了?    如果说,架构增加了一些东西,原本直接访问jsp就可以了,现在还要访问控制器,还要初始化action,多了一些操作,从这个角度来说,性能是降低了。    但如果从另外一个角度,如果说struts,spring,可以把生成的组件运行在tomcat的管理范围之外。那么这些组件的运行效率只取决于jvm的性能高低,绕过了tomcat的性能瓶颈,这么来说,效率又有可能是提高了的。    当然,应用的效率不仅仅是在mvc上,主要还在于对数据库的访问上。利用缓存,可以大幅度提高效率。这一方面暂时不考虑,就事论事的讲框架本身,用或者不用,效果有多大差别?
     我想这个问题还是源于我对web容器的运行机制不太了解,也没有仔细研究struts,spring的源码,请问有了解的吗?大概说说原理?

解决方案 »

  1.   

    只要自己的代码质量不是太糟糕。那么你使用框架之后效率降低是肯定的。
    至于其他的疑问,目前我也没有很好的答案来帮助你。借用一句话"不要为了struts而struts,不要为了spring而spring"。
      

  2.   

    没有多想的效率肯定降低,但是为什么还要用SSH呢,
    原因:
    让代码基于一个类似的开发风格,有利于团队的快速开发
    不像纯jsp程序,如果有10个人开发,我感觉会有10种不同的写法。整合时候,估计会挂掉.............
      

  3.   

    要是硬说的话, 可能JSP 是最快的. 但是考虑到整合,维护那肯定是用框架比较好. 软件都是考虑成本的, 使用框架能极大减少维护和设计的成本
      

  4.   

    访问  效率 要输 jdbc 直接 连数据库最快。ssh 当然不能比但是。。ssh 既然存在必然有他存在的意义,正如楼上所说。。开发效率提高。。分层有利于维护,扩展性增强,但是 同样。。这样做起来。。是很累。各有各的好处!!
      

  5.   

    先感谢各位兄弟,我想我没把问题说明白。
    我了解用框架的好处,我只是想知道。框架是在web容器之外,还是在web容器之内运行,我总感觉tomcat在某些方面是个瓶颈。也许大家觉得用大腿也能想明白,多了写控制器,模型之后,程序会变慢,但是我大腿却没想的太明白,我感觉似乎有可能框架是不依靠web容器的,这样也许可以绕过tomcat的性能瓶颈。也许我钻牛角尖了,兄弟们海涵。
      

  6.   

    提高一个应用服务的性能 不仅仅提高web容器吧
    更多的 是设计上的问题
      

  7.   

    性能提高是肯定的。这样可以解决代码冗余的问题。
    将代码与业务相分离。
    Spring的应用,效果会更加明显。
      

  8.   

    框架也是运行在容器中吧 不管用什么 最终形成的还是servlet 我认为
      

  9.   

    tomcat可以和apache整合
    让某些静态页面的呈现透过apache直接返回
    藉此减少tomcat的工作
      

  10.   

    ====
    这个说法比较正确,不管什么框架,到头来都是要切割成很小的最终的java单位来执行。
      

  11.   

    这些框架压根就不是为了解决性能问题而生的,因此他们不可能对性能带来提升。
    相反的,因为要读xml、要反射、要代理、要加载更多的class,生成更多的实例,使用框架后性能只会比不用的时候差,当然了,这个差别在现在的pc机上恐怕是感觉不到的,顶多在初始化时慢了而已。