Struts2 XML配置实现输入校验详解
需积分: 3 110 浏览量
更新于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应用开发支持。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2010-07-14 上传
2010-04-02 上传
2010-02-17 上传
2022-07-07 上传
2011-04-18 上传
2007-07-09 上传
深夜冒泡
- 粉丝: 17
- 资源: 2万+
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查