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层框架,没有进行深入的研究,可以自己去看看,比较一下。
WebWork2和Spring MVC Framework的比较的更多相关文章
- Spring MVC Framework 注解
ControllerAdvice Spring MVC Framework会把 @ControllerAdvice注解内部使用 @ExceptionHandler.@InitBinder.@Model ...
- Spring MVC Framework 实例
一 SpringMVC基础入门,创建一个HelloWorld程序 1 首先,导入SpringMVC需要的jar包. commons-logging-<version>.jar spring ...
- Intellij IDEA采用Maven+Spring MVC+Hibernate的架构搭建一个java web项目
原文:Java web 项目搭建 Java web 项目搭建 简介 在上一节java web环境搭建中,我们配置了开发java web项目最基本的环境,现在我们将采用Spring MVC+Spring ...
- spring mvc 介绍
Spring MVC Tutorial tag. * * If you do not want to deal with the intricities of the noscript * secti ...
- No mapping found for HTTP request with URI [/HelloWeb/] in DispatcherServlet with name 'HelloWeb' Spring MVC
I'm learning the Spring Framework, and I'm doing the HelloWeb tutorial on tutorialspoint, and I can' ...
- Spring MVC Cookie example
In this post we will see how to access and modify http cookies of a webpage in Spring MVC framework. ...
- Spring MVC Hello World Example(转)
Spring 3 You may interest at this Spring 3 MVC hello world example. In Spring MVC web application, i ...
- Spring MVC - 静态页面
环境搭建 以下示例显示如何使用Spring MVC Framework编写一个简单的基于Web的应用程序,它可以使用<mvc:resources>标记访问静态页面和动态页面.首先使用Int ...
- 【64】Spring mvc详解
Spring mvc框架 Spring web MVC 框架提供了模型-视图-控制的体系结构和可以用来开发灵活.松散耦合的 web 应用程序的组件.MVC 模式导致了应用程序的不同方面(输入逻辑.业务 ...
随机推荐
- 【原】Spark Standalone模式
Spark Standalone模式 安装Spark Standalone集群 手动启动集群 集群创建脚本 提交应用到集群 创建Spark应用 资源调度及分配 监控与日志 与Hadoop共存 配置网络 ...
- 【UER #1】跳蚤OS(Trie)
跳蚤OS 是跳蚤国自主研发的功能强大的操作系统. 跳蚤OS的文件系统与普通的文件系统类似,是个文件夹套文件夹的结构.文件系统根目录称为“//”.我们可以用文件路径来表明文件所在的位置,比如“/flea ...
- NOIP2002 矩形覆盖
题四 矩形覆盖(存盘名NOIPG4) [问题描述]: 在平面上有 n 个点(n <= 50),每个点用一对整数坐标表示.例如:当 n=4 时,4个点的坐标分另为:p1(1,1),p2(2,2), ...
- Spring笔记之(一)初探
对spring框架的学习我是从模拟它的简单实现开始,这样也易于领悟到它的整个框架结构,以下是简单实现的代码: 配置文件:spring.xml <?xml version="1.0&qu ...
- HDU4763 - Theme Section(KMP)
题目描述 给定一个字符串S,要求你找到一个最长的子串,它既是S的前缀,也是S的后缀,并且在S的内部也出现过(非端点) 题解 CF原题不解释....http://codeforces.com/probl ...
- poj1637--Sightseeing tour(最大流)
最大流求混合图是否存在欧拉回路. 以下内容摘自http://www.cnblogs.com/Missa/archive/2012/12/05/2803107.html 讲的很清楚. 混合图的欧拉回路问 ...
- nyoj 915 +-字符串
+-字符串 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 Shiva得到了两个只有加号和减号的字符串,字串长度相同.Shiva一次可以把一个加号和它相邻的减号交换. ...
- maven工程-eclipse红叹号
从公司代码库中check下一份完整代码,在其他开发机器上都能正确构建,唯独一台机器无法正确构建,查证了2个小时,最后还是死在了最基础的问题上 maven工程 工程如下,创建了一个新的maven工程,j ...
- Http协议简单解析及web请求过程
HTTP协议: HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统. 基于HTTP协议的客户端/服务器请求响应机制的信息交换过程包含下面几个步骤: 1) ...
- Android架构分析之Android消息处理机制(二)
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android版本号:4.4.2 在上一篇文章中我们看了一个使用Handler处理Message消息的样例,本文我们 ...