1,机制:springmvc 的入口是servlet,struts2 是filter。
2,性能:spring 是基于方法的设计,struts2 是基于类,所以spring会稍微比struts2快。
3,参数传递:struts2可以用属性来接收参数,所以参数是让多个方法共享的。
4,设计思想:struts2更符合OOP思想,spring 是在servlet上的拓展。
5,struts2有自己独特的interceptor实现机制,springmvc用的是独立的AOP。
6,spring3 mvc,支持JSR303,方便的处理ajax请求,只需一个注解@ResponseBody,然后直接返回响应文本。
7,spring是单实例,struts2是多实例的(每个请求都会生成一个实例)。
8,springmvc还有servlet都是方法的线程安全,所以在类方法声明的私有或者公有变量不是线程安全的,而struts2的确实是线程安全的。