spring3 mvc与struts2比较

来源:互联网 发布:python isupper函数 编辑:程序博客网 时间:2024/05/27 20:53

http://www.360doc.com/content/10/0609/15/284485_32149409.shtml


比较了一下strus2与spring3 mvc的差别:

  1. spring mvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上 spring3 mvc就容易实现restful url。
    struts2是类级别的拦截, 一个类对应一个request上下文;实现restful url要费劲,因为struts2 action的一个方法可以对应一个url;而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了。
  2. spring3 mvc的方法之间基本上独立的,独享request response数据,请求数据通过参数获取,处理结果通过ModelMap交回给框架方法之间不共享变量
    而struts2搞的就比较乱,虽然方法之间也是独立的,但其所有Action变量是共享的,这不会影响程序运行,却给我们编码 读程序时带来麻烦。
  3. 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.    }  




0 0
原创粉丝点击