zoukankan      html  css  js  c++  java
  • Struts与Spring MVC的比较

     1 一,Struts2 
     2 
     3  1,每次请求(request)都会实例化一个控制类(Action),因为Model存在与Action中,即action是有状态的,所以每次请求都要实例化,而且struts2的设计者认为在强大的垃圾收集器下,用完就扔,并不会影响性能问题,而且还可以保证线程的安全问题.
     4 
     5  
     6 
     7 2,自从struts2之后,里面的设计除了action之外,大部分功能都围绕着拦截器设计,如果称我们平常的逻辑为横性思维的话,拦截器提供了纵向思维扩展,在我们执行action时,可以任意提供其他的应用,有点像aop的味道....
     8 
     9  
    10 
    11 3,至于struts2提供了很丰富的界面功能,,这点我觉的没必要比较,因为在大多数应用开发中,,大多数人在界面上都运用其他的第三方如jstl或者extjs等等...这个不作优势比较
    12 
    13  
    14 
    15 4,稍微看了下源码,使用了代理(ActionProxy)以及反射机制进行(dispatch),有些人说这样的代理是最损耗性能,,,如上面的设计者所说每次都创建一个实例没事,更何况这个代理呢,,,在java企业应用时,大部分可以就架构而去性能..
    16 
    17  
    18 
    19 二,spring mvc
    20 
    21  
    22 
    23 1,也有提供拦截器,,但是提供的并没有sturts2完全以及强大
    24 
    25  
    26 
    27 2,spring提供了annotation的注释,使我们更少的去配置xml,而且灵活度非常强,使开发起来更加便利
    28 
    29  
    30 
    31 3,spring 提供的handleAdapter,可使servlet或者其他自己实现的接口替换进来,相当灵活
    32 
    33  
    34 
    35 4,spring提供的mapping,action,view(jsp,velocity等),根据需要可以实现最大限度的灵活性
    36 
    37  
    38 
    39 结:本人认为,综合了上述的内容,,
    40 
    41 一个团队中决定使用哪种框架开发,应该取决于团队对某种框架的了解程度,,达到更高效的开发才最合适,,没有最好的框架,只有最适合的框架...
  • 相关阅读:
    (转)用Ajax技术让IE Web Control Tree View实现大数据量读取
    您试图从目录中执行CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序
    oracle数据库中ORA28000: the account is locked问题
    C#动态生成html页面
    oracle 用户权限解释
    HCPC2013校赛训练赛 2
    ZOJ2770 Burn the Linked Camp 差分约束
    POJ2570 Fiber Network 状态压缩+floyd
    ZOJ3088 Easter Holidays 最短路
    POJ1364 King 差分约束
  • 原文地址:https://www.cnblogs.com/bug-butterfly/p/4058830.html
Copyright © 2011-2022 走看看