没有合适的资源?快使用搜索试试~ 我知道了~
首页webwork深入浅出
webwork深入浅出
需积分: 9 122 下载量 46 浏览量
更新于2023-03-03
评论
收藏 353KB PDF 举报
作者:钱安川 前言 本篇文章并没有太多WebWork 的实战代码细节。本人非常希望能充当一名导游的角色,带领读者逐步游览webwork深入浅出-----WebWork的功能特性和原理。在第一章,我们将提出基于三层架构的Web层需要解决的10个问题,这是本文的纵轴。围绕着纵轴,我们按照横轴的顺序逐步描述讲解:WebWork简介、WebWork入门、WebWork原理、WebWork实战和技巧、展望WebWork未来、最后是本文的总结。
资源详情
资源评论
资源推荐
WebWo rk 深入浅出
作者:钱安川
前言
本篇文章并没有太多 WebWork 的实战代码细节。本人非常希望能充当一名导游
的角色,带领读者逐步游览 WebWork 的功能特性和原理。在第一章,我们将提出
基于三层架构的 Web 层需要解决的 10 个问题,这是本文的纵轴。围绕着纵轴,
我们按照横轴的顺序逐步描述讲解:WebWork 简介、WebWork 入门、WebWork 原
理、WebWork 实战和技巧、展望 WebWork 未来、最后是本文的总结。
基于三层架构的
Web
层需要解决的问题
我们这里讨论的 Web 层,是基于典型的三层架构:Web 层,业务层,数据层。故,
我们将不讨论任何涉及业务(业务逻辑)层和数据层功能的实现。
Web 层需要解决的问题:
1、数据的输入。如何获得基于无状态 HTTP 的请求数据?如何将请求的字符数据
转换为对应的模型对象?
2、输入数据的验证。如何验证输入数据的合法性并给出明确的错误消息提示 ?
3、数据的输出。如何展现复杂的对象结构?如何处理复杂的展现逻辑?
4、数据的传递和共享。如何在不同的请求或页面之间传递和共享数据?
5、页面的流程管理。如何管理 Web 应用中的页面流程?
6、模块化的管理。如何将复杂的 Web 应用以模块化的方式管理?
7、灵活可扩展的架构。如何支持各种不同的展现层技术?如何与业务层或数据
层的各种框架整合?
8 安全和访问控制的管理。如何提供基于 Web 的安全机制和资源访问控制的理?
9 代码实现的简洁和高效。如何让开发步骤和代码维护变得简单?如何尽量减少
开发的中间环节?如何将公共的功能剥离出来,并可以灵活的组装应用?
10、其它问题。异步调用、国际化支持、文件上传、防止重复提交等等。
下面,让我们来一起看看 WebWork 是如何解决上面的这些问题。
WebWork
简介
WebWork 是由 OpenSymphony 组织开发的,致力于组件化和代码重用的 J2EE Web
框架。WebWork 目前最新版本是 2.2.2,现在的 WebWork2.x 前身是 Rickard Oberg
开发的 WebWork,但现在 WebWork 已经被拆分成了 Xwork1 和 WebWork2 两个项目,
如下示意图所示:
work 简洁、灵活功能强大,它是一个标准的 Command 模式框架实现,并且完全
从 web 层脱离出来。Xwork 提供了很多核心功能:前端拦截机(interceptor),
运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph
Notation Language),IoC(Inversion of Control 依赖倒转控制)容器等。
WebWork2 建立在 Xwork 之上,处理 HTTP 的请求和响应。所有的请求都会被
它的前端控制器(ServletDispatcher,最新版本是 FilterDispatcher)截获。
前端控制器对请求的数据进行包装,初始化上下文数据,根据配置文件查找请求
URL 对应的 Action 类,执行 Action,将执行结果转发到相应的展现页面。WebWork2
支持多视图表示,视图部分可以使用 JSP, Velocity, FreeMarker,
JasperReports,XML 等。
下面我们提到的 WebWork 将为 WebWork2,使用的版本是 WebWork2.2.2。
WebWork
入门
WebWork 安装
如果只是搭建一个 WebWork 开发环境,那将非常简单:
1、 去网站 http://www.opensymphony.com/webwork 下载最新的
WebWork2.2.2 项目。
2、 搭建一个 Web 应用(这个不难吧);并拷贝 WebWork 框架运行需要的所
有 Jar 文件到 Web 应用的 WEB-INF\lib 中。这些 Jar 文件,可以在 WebWork
项目中 lib\default 目录找到,即那个目录里面的所有文件。当然,别忘
记今天的“主角”,在 WebWork 跟目录下的 webwork-2.2.2.jar 文件。
3、 在 Web.xml 文件中配置 WebWork 的前端控制器 FilterDispatcher,也就
是一个普通的 Servlet Filter(过滤器)而已。代码如下:
< filter >
< filter-name > webwork </ filter-name >
< filter-class >
com.opensymphony.webwork.dispatcher.FilterDispatcher </ filter-class >
</ filter >
< filter-mapping >
< filter-name > webwork </ filter-name >
< url-pattern > /* </ url-pattern >
</ filter-mapping >
不过如果是在实际项目中使用,安装过程中还是有一些问题需要注意的:
1、 关于前端控制器。在以前 WebWork2 版本里面,前端控制器是
ServeltDispatcher,它是一个 JavaServlet。而现在是一个 Filter(过滤
器),会导致无法在页面中使用 Jsp 的 include 来包含一个 WebWork 的
Action 请求的 URL。如果真的需要这样做,可以使用 WebWork 的 action
标签库。
2、 关于 Action 请求 URL 的后缀。我们知道,在一般的 Web 框架中,前端控
制器会将特定后缀的请求 URL 映射到对应的 Action 请求中。而我们这里
的前端控制器会接受任意的请求,但它默认是将.action 结尾的 URL 映射
为 WebWork 的 Action 请求。我们可以在 webwork.properties 文件中,设
置我们自己的后缀名,多个后缀名可以用逗号隔开。例如:
webwork.action.extension=action,do
3、 在 Jsp 页面中, WebWork 的标签库不需要在 web.xml 中定义,在页面中通过如
下的代码直接引用: <%@ taglib prefix = "ww" uri = "/webwork" %>
4、 在 Jsp 页面中,默认“altSyntax”是开启的。它是用来解决标签库中的
字符串和表达式语言混淆的问题。所以,作为变量的表达式语言应该放
在%{}中,否则 WebWork 会把它当作字符串处理。
5、 如果展现层技术使用 Freemarker(WebWork 官方的推荐,也是我个人的
推荐),如果在页面中需要使用标签库,必须在 web.xml 中配置
JspSupportServlet,代码如下:
< servlet >
< servlet-name > JspSupportServlet </ servlet-name >
< servlet-class >
com.opensymphony.webwork.views.JspSupportServlet </ servlet-class >
< load-on-startup > 1 </ load-on-startup >
</ servlet >
6、 还有一些其它的定制,比如:编码,标签的模板文件等等,都可以在
webwork.properties 文件中配置。如果在 ClassPath 中没有这个文件,
WebWork 会自动读取 WebWork 的 Jar 包里面的 default.properties 文件。
WebWork 核心概念
WebWork 的三个关键部分
剩余30页未读,继续阅读
apple0668
- 粉丝: 0
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 2023年中国辣条食品行业创新及消费需求洞察报告.pptx
- 2023年半导体行业20强品牌.pptx
- 2023年全球电力行业评论.pptx
- 2023年全球网络安全现状-劳动力资源和网络运营的全球发展新态势.pptx
- 毕业设计-基于单片机的液体密度检测系统设计.doc
- 家用清扫机器人设计.doc
- 基于VB+数据库SQL的教师信息管理系统设计与实现 计算机专业设计范文模板参考资料.pdf
- 官塘驿林场林防火(资源监管)“空天地人”四位一体监测系统方案.doc
- 基于专利语义表征的技术预见方法及其应用.docx
- 浅谈电子商务的现状及发展趋势学习总结.doc
- 基于单片机的智能仓库温湿度控制系统 (2).pdf
- 基于SSM框架知识产权管理系统 (2).pdf
- 9年终工作总结新年计划PPT模板.pptx
- Hytera海能达CH04L01 说明书.pdf
- 数据中心运维操作标准及流程.pdf
- 报告模板 -成本分析与报告培训之三.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0