### WebWork学习笔记知识点 #### 一、WebWork框架简介 - **定义**: WebWork是一个由OpenSymphony组织开发的MVC(Model-View-Controller)框架,专注于组件化和代码重用,适用于J2EE应用程序开发。 - **最新版本**: 当前最新版本为2.1,基于Xwork构建。 - **架构演变**: - **Xwork**: - 脱离了Web层,成为一个独立的、简洁灵活的Command模式实现。 - 提供了核心功能如前端拦截器、表单属性验证、类型转换、OGNL表达式语言、IoC容器等。 - **WebWork 2**: - 基于Xwork之上,处理HTTP响应和请求。 - 使用`ServletDispatcher`将HTTP请求映射到业务层的Action类。 - 支持多种视图表示形式,如JSP、Velocity、FreeMarker等。 #### 二、WebWork安装与配置 - **步骤1**: 下载WebWork压缩包,并解压。 - **文件结构**: - `webwork-2.x.jar`: 最新的WebWork Jar包。 - `webwork-example.war`: 功能演示示例。 - `webwork-migration.jar`: 提供1.x至2.x版本迁移支持。 - `docs`: 文档,包括API文档、Clover文档、单元测试文档等。 - `lib`: 运行所需的Jar包。 - `src`: 源代码目录。 - **步骤2**: 配置Web容器。 - **推荐使用**: Tomcat 4.1。 - **步骤3**: 配置ClassPath。 - 将`webwork-2.x.jar`及`lib\core`下的所有Jar包复制到部署目录下的`WEB-INF\lib`。 - **步骤4**: 配置ServletDispatcher。 - 在`web.xml`中配置`ServletDispatcher`作为请求的入口点,用于解析URL并调用相应的Action进行业务处理。 #### 三、HelloWorld示例 - **实现步骤**: 1. 创建Action类。 2. 定义Action的处理逻辑。 3. 配置Action与视图之间的映射关系。 4. 测试并运行示例。 - **Action**: - **概念**: 表示业务逻辑的操作。 - **示例**: 用户注册。 - **Field-Driven Action vs Model-Driven Action**: - **Field-Driven Action**: - 属性驱动,Action类中的字段直接与表单字段绑定。 - **Model-Driven Action**: - 模型驱动,通过模型对象来封装数据,更灵活,适合复杂场景。 #### 四、ActionContext与ServletActionContext - **ActionContext**: - **定义**: 提供对Action执行期间可用的数据结构访问。 - **包含信息**: - 请求参数。 - 会话数据。 - 应用程序数据。 - **ServletActionContext**: - **作用**: 提供对Servlet API的访问,如HttpServletRequest、HttpServletResponse等。 - **示例**: - 获取HttpServletRequest: `ServletActionContext.getRequest()`。 #### 五、ServletDispatcher原理 - **功能**: 作为WebWork的入口点,解析HTTP请求,并调用相应的Action。 - **原理**: - 解析URL,查找匹配的Action配置。 - 调用Action,并返回结果。 - 根据结果类型执行相应操作(如渲染页面)。 #### 六、Action的单元测试 - **目的**: 确保Action的正确性。 - **方法**: - 使用JUnit等测试框架编写测试用例。 - 模拟请求和响应对象进行测试。 - 测试Action的行为和返回值。 #### 七、ResultType与OGNL - **ResultType**: - **定义**: 控制Action执行后返回的结果类型。 - **示例**: “dispatcher”、“redirect”、“stream”等。 - **OGNL**: - **定义**: Object Graph Navigation Language,用于获取或设置对象属性的强大表达式语言。 - **应用场景**: - 访问对象属性。 - 执行条件判断。 - 数据绑定。 #### 八、Interceptor框架 - **概念**: 用于扩展Action行为的机制。 - **原理**: - 在Action执行前后执行拦截器。 - 可以实现日志记录、性能监控等功能。 - **配置**: - 在配置文件中定义拦截器及其执行顺序。 #### 九、验证框架 - **功能**: 实现输入验证,确保数据的有效性和安全性。 - **示例**: - 为用户注册添加验证功能,如邮箱格式校验。 - **配置**: - 在Action配置中指定验证规则。 #### 十、XWork配置详解 - **文件**: `xwork.xml`。 - **标签元素**: - `<package>`: 定义一组Action及相关配置。 - `<action>`: 定义Action的具体行为。 - `<result>`: 定义Action执行后的结果类型。 - `<interceptor>`: 定义拦截器。 #### 十一、实战G-Roller-WW - **项目简介**: G-Roller-WW是一个实际项目案例,展示了WebWork与其他技术(如Spring、Hibernate)的集成。 - **技术栈**: - **Spring**: 容器管理、事务管理。 - **Hibernate**: ORM框架,用于数据库交互。 - **JSTL与WebWork整合**: 使用JSTL标签库简化JSP页面开发。 #### 十二、中文解决方案 - **实现方式**: - 使用国际化文件(如.properties文件)存储不同语言的文字。 - 在配置文件中指定资源文件路径。 - 在视图层动态加载资源文件。 #### 十三、WebWork与其他开源项目集成 - **Spring**: - **集成优势**: 提供了IoC容器管理,便于组件间的解耦。 - **Hibernate**: - **集成优势**: 实现ORM,简化数据库操作。 - **Xml-RPC**: - **集成优势**: 实现远程过程调用,便于Web服务开发。 #### 十四、总结 - **核心优势**: - 简洁、灵活的设计。 - 强大的OGNL表达式语言。 - 丰富的插件和配置选项。 - **适用场景**: - 中大型Web应用开发。 - 需要高度定制化的项目。 - **未来发展**: - 持续改进性能。 - 加强与其他框架的集成能力。 #### 十五、附录 - **个人感悟**: - 作为一名开发者,选择合适的框架至关重要。 - WebWork以其灵活的架构和丰富的功能,成为值得信赖的选择。 - **技术比较**: - 从技术角度比较Struts 1.1与WebWork 2的区别,如架构设计、性能优化等方面。 - **项目资源**: - 官方网站、社区论坛、文档资料等。 - **参考资料**: - 官方文档。 - 开发指南。 - 第三方文章和博客。
- 粉丝: 9
- 资源: 55
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 5G SRM815模组原理框图.jpg
- T型3电平逆变器,lcl滤波器滤波器参数计算,半导体损耗计算,逆变电感参数设计损耗计算 mathcad格式输出,方便修改 同时支持plecs损耗仿真,基于plecs的闭环仿真,电压外环,电流内环
- 毒舌(解锁版).apk
- 显示HEX、S19、Bin、VBF等其他汽车制造商特定的文件格式
- 8bit逐次逼近型SAR ADC电路设计成品 入门时期的第三款sarADC,适合新手学习等 包括电路文件和详细设计文档 smic0.18工艺,单端结构,3.3V供电 整体采样率500k,可实现基
- 操作系统实验 ucorelab4内核线程管理
- 脉冲注入法,持续注入,启动低速运行过程中注入,电感法,ipd,力矩保持,无霍尔无感方案,媲美有霍尔效果 bldc控制器方案,无刷电机 提供源码,原理图
- Matlab Simulink#直驱永磁风电机组并网仿真模型 基于永磁直驱式风机并网仿真模型 采用背靠背双PWM变流器,先整流,再逆变 不仅实现电机侧的有功、无功功率的解耦控制和转速调节,而且能实
- 157389节奏盒子地狱模式第三阶段7.apk
- 操作系统实验ucore lab3