zoukankan      html  css  js  c++  java
  • WebWork2和Spring MVC Framework的比较

    http://daihaixiang.blog.163.com/blog/static/3830134200711411515336/

    WebWork2和Spring MVC Framework的比较

    (1)基本使用

         Spring MVC Framework与Spring的其它部分一起使用自然能够很好的融合,不需要额外的工具包和配置

         WebWork2和Spring集成需要webwork2-spring.jar做连接器,并要做相当步骤的配置,不过还算简单

    (2)控制器

           Spring MVC Framework的控制器要实现Controller接口,其处理核心是handleRequest(表单交互是onSubmit)方法,主要任务是构造Model数据返回给视图显示

           WebWork2的控制器要扩展ActionSupport类(Action接口的缺省实现),其处理核心是execute方法,由于视图需要的Model数据都是以Action属性的形式存在,其主要任务是设置这些属性的值

    (3)显示视图内容

           Spring MVC Framework只提供绑定表单域元素的taglibs,视图内容显示功能则由JSTL完成

           WebWork2需要使用自己提供的taglibs显示视图内容,才能很好的利用它的特性,因此不需要JSTL

    (4)资源束访问

          Spring MVC Framework提供通用的方法:指定(集中)存放资源束的属性文件,并能和JSTL的<fmt:message>很好的结合使用

           WebWork2使用Action类名或其父类名对应的属性文件存放资源束;资源束可以分散到各Action类名对应的属性文件中,也可以集中到父类名对应的属性文件中,用<ww:text>访问

    (5)表单交互

         Spring MVC Framework使用Command对象(POJO)封装表单交互传递的数据,并使用taglibs绑定Command对象的属性到表单域元素,来读取和设置表单域元素的值,有些复杂

         WebWork2将Action属性和表单域元素自然绑定,比较简洁明了,但是其验证失败后错误信息的处理没有Spring MVC Framework简洁

    (6)数据有效性验证

            Spring MVC Framework需要自己编写验证器,并且验证规则和实现逻辑混合在一起,不利于重用

            WebWork2提供比较灵活的验证机制:首先是将验证规则和实现逻辑分离,便于重用;其次是WebWork2和XWork提供了常用的验证器,不需要再自己写了;此外,验证规则用XML文件保存,修改验证规则只要修改XML文件,不需要修改代码;最后,如果没有适合的验证器,也可以自己扩展定制验证器,写一次就可以重复利用

    (7)个人观点

         本人认为使用WebWork2来实现Web应用层更好些,虽然需要做一些额外的配置,但是WebWork2有它的一些优势,如前面讲的表单交互的简洁性,数据验证的规则和实现分离,另外还有集成的OGNL特性,Velocity技术等。

    注:Spring也支持Velocity等多种web层框架,没有进行深入的研究,可以自己去看看,比较一下。


  • 相关阅读:
    HttpClient后台post 请求webapi
    [SQL Server] 复制数据库任务
    C# js 在页面能执行,放在单独js文件不能执行
    Flink 中的kafka何时commit?
    jar依赖
    AI重要算法
    NonWindowJoin
    Rocket MQ 源码解析
    linear algebra
    Theories of Deep Learning
  • 原文地址:https://www.cnblogs.com/bluejoe/p/5115987.html
Copyright © 2011-2022 走看看