Struts2技术深度解析:Action、Result、异常处理与类型转换
需积分: 1 124 浏览量
更新于2024-07-29
收藏 1.92MB DOC 举报
"Struts2学习文档,由周亮撰写,日期2011-07-19,涵盖了Struts2框架的Action、Result、模型驱动、异常处理、类型转换和输入校验等多个核心概念。"
Struts2是Java Web开发中的一个流行MVC框架,它简化了Web应用的构建过程。以下是文档中详细阐述的一些关键知识点:
1. **Struts2 Action**
- **Action通过ActionContext间接访问ServletAPI**:ActionContext提供了与Servlet容器交互的桥梁,可以访问请求、响应、session等对象。
- **Action通过ActionContext直接访问ServletAPI**:ActionContext类允许Action直接获取HttpServletRequest和HttpServletResponse,进行数据读写或跳转操作。
- **Action通过实现相应接口获取相应实例**:例如,实现ServletActionContextAware接口,可以直接获取到ServletActionContext实例。
- **Action通过ServletActionContext类的静态方法**:直接调用ServletActionContext的静态方法,如getThreadLocalRequest()和getThreadLocalResponse(),以访问当前线程的请求和响应。
2. **Struts2 Result**
- **type="plainText"**:用于返回纯文本内容。
- **type="redirect"**:实现HTTP级别的重定向,客户端发起新的请求。
- **type="redirectAction"**:内部跳转,保持请求参数,并且避免多次提交。
- **动态结果**:允许在配置文件中动态指定结果类型。
- **请求参数决定结果**:根据请求参数来选择不同的结果。
- **全局结果**:定义在struts.xml中的全局结果,可应用于所有Action,减少重复配置。
3. **Struts2 模型驱动**:模型驱动模式下,Action无需包含业务逻辑,仅负责接收请求、转发控制,模型对象承载数据。
4. **Struts2 异常处理**
- **局部异常映射**:在Action配置中定义特定异常的处理方式。
- **全局异常映射**:在struts.xml中配置,对所有Action统一处理异常。
- **未知处理器**:当Action没有对应的Execute方法时的处理策略。
- **综合示例**:结合以上机制,实现灵活的异常处理流程。
5. **Struts2 类型转换**
- **Struts2内建的类型转换器**:框架提供了一些默认的转换器,如将String转换为基本类型。
- **基于OGNL的类型转换**:通过OGNL表达式进行复杂的转换,例如将字符串转换为复合类型。
- **自定义类型转换器**:分为局部和全局,可以针对特定Action或全局应用。
- **局部转换器**:只影响特定Action的字段。
- **全局转换器**:应用于整个应用的所有Action。
- **类型转换错误处理**:当转换失败时,Struts2提供机制处理异常并展示错误信息。
6. **Struts2 输入校验**
- **输入校验概述**:包括客户端验证和服务端验证,以及类型转换后的校验。
- **基本输入校验**:使用注解或者XML配置进行字段级的校验规则定义。
- **编写校验规则**:自定义校验规则,例如验证长度、格式等。
这个文档深入探讨了Struts2框架的关键组件和功能,为开发者提供了全面的学习材料,帮助他们理解和掌握Struts2的使用方法。
2009-03-30 上传
2008-12-02 上传
2010-07-11 上传
2010-09-02 上传
2009-01-21 上传
2018-05-24 上传
2012-08-15 上传
108 浏览量
keyuhai
- 粉丝: 0
- 资源: 33
最新资源
- 天池大数据比赛:伪造人脸图像检测技术
- ADS1118数据手册中英文版合集
- Laravel 4/5包增强Eloquent模型本地化功能
- UCOSII 2.91版成功移植至STM8L平台
- 蓝色细线风格的PPT鱼骨图设计
- 基于Python的抖音舆情数据可视化分析系统
- C语言双人版游戏设计:别踩白块儿
- 创新色彩搭配的PPT鱼骨图设计展示
- SPICE公共代码库:综合资源管理
- 大气蓝灰配色PPT鱼骨图设计技巧
- 绿色风格四原因分析PPT鱼骨图设计
- 恺撒密码:古老而经典的替换加密技术解析
- C语言超市管理系统课程设计详细解析
- 深入分析:黑色因素的PPT鱼骨图应用
- 创新彩色圆点PPT鱼骨图制作与分析
- C语言课程设计:吃逗游戏源码分享