struts2和springmvc的区别

  • struts2是基于类开发的,一个请求对应一个类;springMVC是基于方法开发的,一个请求对应一个类中的方法(所以springMVC更容易使用Restful传参)
  • struts2接收参数是通过类的成员变量来完成的,这些变量在多线程访问中,是共享的,所以struts2只能使用多例开发
  • springMVC接收参数是通过方法的形式参数完成的,将url和controller中的方法映射,映射成功后,springmvc生成一个handlers对象,对象中只包括一个method,方法执行结束的时候,形参的数据就销毁,所以springmvc可以进行单例开发,并且建议使用
  • struts2的核心控制器是filter;springMVC的核心控制器是servlet
  • spring管理springMVC比struts2更加简单方便,且spring为springMVC提供的注解更加全面,而struts2需要使用xml配置大量参数
  • springMVC使用AOP机制,减少配置文件编写
  • struts2的每个请求都需要封装一个对应的ValueStack对象(action对象以及其他对象),保证线程安全,但是消耗内存
原文地址:https://www.cnblogs.com/qf123/p/8602838.html