Struts2和springmvc的本质区别:

        1.springmvc入口是一个servlet前端控制器( DispatcherServlet ),struts2入口是一filter过滤器(StrutsPrepareAndExecuteFilter).
        2.struts2通过在action类中定义成员变量接收参数,(属性驱动和模型驱动),它只能使用多例模式管理action.
 springmvc通过在coontroller方法中定义形参接收参数,springmvc可以使用单例模式管理controller.      
        3.springmvc是基于方法开发的,注解开发中使用requestMapping将url和方法进行 映射,如果根据url找到controller类的方法生成一个handler处理器对象(只包括一个method).
struts2是基于类开发的,每个请求过来创建一个action实例,实例对象中有若干个方法.
开发中建议使用springmvc,springmvc方法更类似service业务方法.
        4.struts2采用值栈存储请求和相应的数据,通过OGNL存取数据,springmvc通过参数绑定期将request请求内容解析,并给方法形参赋值.
        5.struts2和springmvc的速度是相当的,由于struts2的漏洞较多,跟多企业使用springmvc

你可能感兴趣的:(Struts2和springmvc的本质区别:)