http://www.360doc.com/content/10/0609/15/284485_32149409.shtml
比较了一下strus2与spring3 mvc的差别:
- spring mvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上 spring3 mvc就容易实现restful url。
struts2是类级别的拦截, 一个类对应一个request上下文;实现restful url要费劲,因为struts2 action的一个方法可以对应一个url;而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了。 - spring3 mvc的方法之间基本上独立的,独享request response数据,请求数据通过参数获取,处理结果通过ModelMap交回给框架方法之间不共享变量
而struts2搞的就比较乱,虽然方法之间也是独立的,但其所有Action变量是共享的,这不会影响程序运行,却给我们编码 读程序时带来麻烦。 - spring3 mvc的验证也是一个亮点,支持JSR303,处理ajax的请求更是方便 只需一个注解@ResponseBody ,然后直接返回响应文本即可。
1.@RequestMapping(value="/whitelists")
2. public String index(ModelMap map){
3. Account account = accountManager.getByDigitId(SecurityContextHolder.get().getDigitId()) ;
4. List<Group> groupList = groupManager.findAllGroup(account.getId()) ;
5. map.put("account", account);
6. map.put("groupList", groupList);
7. return "/group/group-index" ;
8. }
9. //@ResponseBody ajax响应
10. @RequestMapping(value="/whitelist/{whiteListId}/del")
11. @ResponseBody
12. public String delete(@PathVariable Integer whiteListId){
13. whiteListManager.deleteWhiteList(whiteListId) ;
14. return "success" ;
15. }