没有合适的资源?快使用搜索试试~ 我知道了~
webwork教程webwork教程webwork教程
3星 · 超过75%的资源 需积分: 9 66 下载量 150 浏览量
2009-01-15
14:07:46
上传
评论
收藏 287KB DOC 举报
温馨提示
试读
47页
webwork教程webwork教程webwork教程webwork教程webwork教程webwork教程webwork教程webwork教程webwork教程webwork教程webwork教程webwork教程
资源推荐
资源详情
资源评论
WebWork 教程
有任何意见和建议,请 email to:achqian@hotmail.com(MSN)
版权所有,请勿转载和篡改
WebWork 教程-0.90 版
作者:moxie(安子)
发布记录:
2004-6-29:WebWork 教程 0.90 版
说明:本次发布的是初稿部分,除了章节:“实战 G-Roller-WW”、“ WebWork 与其它开源
项目的集成”,其余章节全部完成。
WebWork 教程
有任何意见和建议,请 email to:achqian@hotmail.com(MSN)
版权所有,请勿转载和篡改
目 录
WebWork 教程-0.90 版....................................................................................................................1
WebWork 介绍............................................................................................................................3
WebWork 安装-HelloWorld.....................................................................................................3
WebWork 安装....................................................................................................................3
HelloWorld..........................................................................................................................4
Action(动作)...............................................................................................................................6
Action 介绍.........................................................................................................................6
用户注册例子.....................................................................................................................7
Field-Driven Action vs. Model-Driven Action.................................................................11
ActionContext(Action 上下文).................................................................................................12
ActionContext 介绍..........................................................................................................12
ServletActionContext........................................................................................................14
ServletDispatcher 原理.............................................................................................................14
Action 的单元测试...........................................................................................................17
Result Type................................................................................................................................18
表达式与言 EL 和 OGNL........................................................................................................23
OGNL 介绍.......................................................................................................................23
值堆栈-OgnlValueStack.................................................................................................23
Interceptor(拦截器)框架...........................................................................................................29
Interceptor 的原理............................................................................................................32
验证框架...................................................................................................................................33
为用户注册添加验证功能...............................................................................................33
XWork 配置详述......................................................................................................................38
xwork.xml 文件的标签元素............................................................................................39
实战 G-Roller-WW...................................................................................................................42
G-Roller-WW 介绍...........................................................................................................42
JSTL 与 WebWork 的整合................................................................................................42
中文解决方案...................................................................................................................42
WebWork 与其它开源项目的集成..........................................................................................42
Spring................................................................................................................................42
Hibernate...........................................................................................................................42
Xml-RPC...........................................................................................................................42
总结...........................................................................................................................................43
附录...........................................................................................................................................43
我钟爱的 Opensympnony.................................................................................................43
从技术的角度 Struts1.1 与 WebWork2 的比较...............................................................45
WebWork 的项目资源......................................................................................................46
参考资料...........................................................................................................................47
WebWork 教程
有任何意见和建议,请 email to:achqian@hotmail.com(MSN)
版权所有,请勿转载和篡改
WebWork 介绍
WebWork 是由 OpenSymphony 组织开发的,致力于组件化和代码重用的拉出式 MVC 模
式 J2EE Web 框架。WebWork 目前最新版本是 2.1,现在的 WebWork2.x 前身是 Rickard
Oberg 开发的 WebWork,但现在 WebWork 已经被拆分成了 Xwork1 和 WebWork2 两个项目
如下示意图所示:
Xwork 简洁、灵活功能强大,它是一个标准的 Command 模式实现,并且完全从 web
层脱离出来。Xwork 提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验
证 , 类 型 转 换 , 强 大 的 表 达 式 语 言 ( OGNL – the Object Graph Notation
Language), IoC(Inversion of Control 倒置控制)容器等。
WebWork2 建 立 在 Xwork 之 上 , 处 理 HTTP 的 响 应 和 请 求 。 WebWork2 使 用
ServletDispatcher 将 HTTP 请 求 的 变 成 Action( 业 务 层 Action 类 ), session ( 会
话)application(应用程序)范围的映射,request 请求参数映射。WebWork2 支持多视图表
示,视图部分可以使用 JSP, Velocity, FreeMarker, JasperReports,XML 等。
下面我们提到的 WebWork 将为 WebWork2,使用的版本是 2.1。
WebWork 安装-HelloWorld
WebWork 安装
当然,在具体开发使用介绍之前,搭建好运行环境是必备的。
首先从 https://webwork.dev.java.net/servlets/ProjectDocumentList
下载最新的 WebWork 压
缩包,并将其解压开来。打开解压目录,你将看到以下的文件和目录:
webwork-2.x.jar 当然就是 WebWrok 最新发布的 Jar 包
webwork-example.war 是 WebWrok 自带的很有代表性的功能演示例子,掌握它是提高你的
WebWork 技术水平的捷径
WebWork1
XWork1
WebWork2
Web
Non-web
WebWork 教程
有任何意见和建议,请 email to:achqian@hotmail.com(MSN)
版权所有,请勿转载和篡改
webwork-migration.jar 提供快速将 1.x 版本移植到 2.x 版本所用的类文件
docs 目录 WebWrok 的使用文档,包括 api 文档、clover 文档、单元测试(Junit)文档等
lib 目录 WebWork 在运行或编译时所用到的所有.jar 包
src 目录 源程序目录
2、WebWork 是 J2EE Web 框架,当然要运行在 Web 容器中,我用的是稳定的 Tomcat 4.1,
关于 tomcat 的安装和部署请自己搞定。
3、用 WebWork 当然要将它的运行时用到的 Jar 包放到 Web 容器可以找到的 ClassPath 中,
将步骤 1 介绍的 webwork-2.x.jar 放到你部署目录下 WEB-INF\lib 目录里,同时将 WebWrok
解压目录 lib\core 下的所有.jar 文件也拷贝到 WEB-INF\lib 目录,这些是运行 WebWork 必需
要用到的 jar 包。
4、了解 Web 框架的朋友都知道,一般 Web 框架都是通过一个 JavaServlet 控制器提供统一
的请求入口,解析请求的 url,再去调用相应的 Action 进行业务处理。WebWork 也不例外,
它要求你在 web.xml 文件里配置一个派遣器 ServletDispatcher,它初始化 WebWrok 的一些
配置信息,解析 XWork 的 Action 配置信息,根据请求去组装和调用执行相应的拦截器
(Interceptor)、Action、Action Result(Action 执行结果的输出)等,具体配置如下:
……
<servlet>
<servlet-name>webwork</servlet-name>
<servlet-
class>com.opensymphony.webwork.dispatcher.ServletDispatcher</
servlet-class>
</servlet>
……
<servlet-mapping>
<servlet-name>webwork</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
……
这样,.action 结尾的所有 url 请求将直接有 ServletDispatcher 去调度。下面我们写一个
经典的 HelloWorld,跑一个简单实例来验证你运行环境是否可用,并感受一下简单、功能强
大的 WebWork 的开发。
注意:如果使用 WebWork 自带的标签库,除了配置相应的标签库以外,还须将
com.opensymphony.webwork.views.velocity.WebWorkVelocityServlet 配置到 web.xml,具体可
以参考 webwork-example 里面的配置。
HelloWorld
首先看下面这个程序 HelloWorldAction.java:
package helloWorld
import com.opensymphony.xwork.Action;
public class HelloWorldAction implements Action{
WebWork 教程
有任何意见和建议,请 email to:achqian@hotmail.com(MSN)
版权所有,请勿转载和篡改
String greeting;
public String getGreeting() {
return greeting;
}
public String execute() throws Exception {
greeting = "Hello World!";
return SUCCESS;
}
}
HelloWorldAction 是一个普通的 Java 类,它实现了 Action 这个接口。Action 是一个非
常简单的接口,只有一个方法:public String execute() throws Exception; ,Action 类介绍见
下一节。HelloWorldAction 有一个 String 类型字段 greeting,在 execute()方法中,greeting 被
赋值“Hello World!”,并返回 String 型常量 SUCCESS,SUCCESS 的定义详见 Action 接口,
这个常量代表了 execute()方法执行成功,将返回成功页面。
返回的页面 greetings.jsp 代码如下:
<%@ taglib prefix="ww" uri="webwork" %>
<html>
<head>
<title>First WebWork Example</title>
</head>
<body>
<p><ww:property value="greeting"/></p>
</body>
</html>
greetings.jsp 很简单的 jsp 页面,它使用了 WebWork 自带的标签库。它的作用是输出变量
“ greeting” 的 值 。 这 个 <ww:property value="greeting"/> 语 句 , 相 当 于 调 用 相 应
Action(HelloWorldAction)的 getGreeting()方法,取得变量“greeting”的值。
我们的 HelloWorld 代码就这么多,完了。可是,HelloWorldAction 怎么去调用、执行?
执行成功它又怎么知道返回到 greetings.jsp?XWork 的配置文件 xwork.xml 会负责将要执行
的 Action 和展现的视图连接起来,见 xwork.xml 的如下片断:
<action name="hello" class=" helloWorld .HelloWorldAction">
<result name="success" type="dispatcher">
<param name="location">/greetings.jsp</param>
</result>
</action>
我们先看 action 标签:name=”hello”,表示我们调用这个 Action 的标识是 hello,这样
我们可以通过下面的 url 访问这个 Action:…/hello.action,
例如:http://localhost:8080/webwork/hello.action;class=" helloWorld .HelloWorldAction"很好
理解, 这 是 真正调用 执行 的 类 。我们在 看 看 result 标签 : name="success" , 记 得前面
HelloWorldAction 返回的字符常量 SUCCESS 吗?它的值其实就是“success”,它表示 Action
剩余46页未读,继续阅读
资源评论
- cheer12262012-02-13太老了,而且内容太少
godspeed_2008
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功