Struts2 XML配置实现输入校验详解
需积分: 3 9 浏览量
更新于2024-08-18
收藏 152KB PPT 举报
"这篇资源主要介绍了如何在Struts2框架中使用XML配置方式实现输入校验,以及Struts2开发所需的必备JAR包和启动配置。"
在Struts2框架中,实现输入校验是保证应用程序数据完整性和安全性的重要步骤。通常,我们会使用基于XML的配置文件来进行这一操作。Action类需要继承自`ActionSupport`,这样可以利用Struts2提供的验证机制。在给出的示例中,我们创建了一个XML验证文件,其内容如下:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>用户名不能为空!</message>
</field-validator>
</field>
</validators>
```
这个XML文件定义了对`username`字段的验证规则。`field-validator`元素指定了验证类型,这里是`requiredstring`,确保字段值不是空字符串。`param`元素的`trim`参数设置为`true`,意味着在验证前会先移除字段值两端的空白字符。`message`元素则定义了当验证失败时向用户显示的错误信息。
为了使Struts2能找到这个验证文件,它需要与Action类放在同一包下,并且遵循特定的命名规则:`ActionClassName-validation.xml`,其中`ActionClassName`是Action类的简单类名。比如,如果Action类名为`cn.itcast.action.UserAction`,那么验证文件应命名为`UserAction-validation.xml`。
开发Struts2应用时,需要依赖一系列的JAR文件,这些文件可以从Apache Struts官方网站下载。基础的开发环境至少需要以下JAR包:
1. `struts2-core-2.x.x.jar`: Struts2框架的核心库,包含核心功能和组件。
2. `xwork-2.x.x.jar`: XWork库,作为Struts2的基础。
3. `ognl-2.6.x.jar`: 对象图导航语言(OGNL),Struts2用来处理对象和表达式的绑定。
4. `freemarker-2.3.x.jar`: FreeMarker模板引擎,用于生成动态HTML页面。
5. `commons-logging-1.1.x.jar`: 通用的日志包,支持Log4J和JDK1.4+的日志记录。
6. `Commons-fileupload`: 用于处理文件上传的库。
此外,如果需要与其他第三方框架如Spring集成,还需要相应插件的JAR文件,如`struts2-spring-plugin-2.x.x.jar`。
在Struts2的启动配置方面,与Struts1.x不同,Struts2框架是通过Filter而非Servlet启动的。在`web.xml`中,需要配置`FilterDispatcher`过滤器,如下所示:
```xml
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
```
这里的`filter-name`定义了过滤器的名称,而`filter-class`指定使用的是Struts2的`FilterDispatcher`。`url-pattern``/*`意味着所有请求都将通过Struts2框架处理。
Struts2通过XML配置文件实现了灵活的输入校验,并通过特定的Filter配置来启动和管理框架,为开发者提供了强大而全面的Web应用开发支持。
2022-07-07 上传
2016-08-11 上传
2010-02-17 上传
2023-05-31 上传
2023-04-27 上传
2024-10-26 上传
2023-05-24 上传
2023-07-15 上传
2023-04-22 上传
深夜冒泡
- 粉丝: 16
- 资源: 2万+
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍