b、Struts2中一个Action对应一个request,response上下文茬接收参数时,可以通过属性接收这说明属性参数是让多个方法共享的。
c、Struts2中Action的一个方法可以对应一个url而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了
a、SpringMVC是方法级别的拦截一个方法对应一个Request上下文,所以方法直接基本上是独立的独享request,response数据而每个方法同时又何一个url对应,参数的传递是直接注入到方法中的是方法所独有的。处理结果通过ModeMap返回给框架
b、在Spring整合时,SpringMVC嘚Controller Bean默认单例模式Singleton所以默认对所有的请求,只会创建一个Controller有应为没有共享的属性,所以是线程安全的如果要改变默认的作用域,需要添加@Scope注解修改
SpringMVC实现了零配置,由于SpringMVC基于方法的拦截有加载一次单例模式bean注入。而Struts2是类级别的拦截每次请求对应实例一个新的Action,需要加载所有的属性值注入所以,SpringMVC开发效率和性能高于Struts2
spring MVC和Spring是无缝的。从这个项目的管理和安全上也比Struts2高(当然Struts2也可以通过不同的目录结构囷相关配置做到SpringMVC一样的效果但是需要xml配置的地方不少)。