Struts2 | Spring MVC |
类级别的拦截,一个类对应一个 request 上下文, 很难实现 restful url,而 struts2 的架构实现起来要费劲, 因为 action 的一个方法可以对应一个 url,而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了 | 方法级别的拦截,一个方法对应一个 request 上下文,而方法同时又跟一个 url 对应,所以说从架构本身上 spring3 mvc 就容易实现restful url |
比较乱,虽然方法之间也是独立的,但其所有 Action 变量是共享的,这不会影响程序运行,却给我们编码读程序时带来麻烦;Struts2 在接受参数的时候,可以用属性来接受参数,这就说明参数是让多个方法共享的 | 方法之间基本上独立的,独享 request response 数据,请求数据通过参数获取,处理结果通过 ModelMap 交回给框架,方法之间不共享变量 |
支持手动验证凭借 validate 方法和 XWork 验证框架 | 验证也是一个亮点,支持 JSR303 处理 ajax 的请求更是方便只需一个注解 @ResponseBody,然后直接返回响应文本即可 |
入口是filter | 入口是servlet |