当前位置:首页 期刊杂志

基于Struts2 的运动员信息管理输入校验

时间:2024-08-31

潘 健

(渤海大学教育与体育学院,辽宁锦州,121013)

随着计算机技术和网络技术的迅速普及,整个社会的发展与信息技术的关系越来越密切,信息化对体育事业发挥着越来越重要的作用。体育信息化是指体育领域利用现代信息技术,通过对信息资源的深化开发和广泛利用,不断提高教学、训练、经营、管理、决策等活动的效率和水平,进而提高体育的社会效益、经济效益和竞争力的过程。体育信息化建设不仅对提高体育系统办公透明化、提高管理水平、提高办事效率具有深远意义,还将对我国从体育大国向体育强国迈进起到积极的推动作用。运动员信息管理是体育信息化的重要组成部分。开发运动员信息管理系统,将运动员的信息进行集中管理、实现信息共享,有利于充实和丰富运动员管理理论体系、有利于提升运动员管理的现代化水平、有利于深化运动员管理改革、有利于提高训练水平和运动员的全面发展。由于Web 应用的开放性以及通过输入页面收集的数据非常复杂,不仅包含正常用户的错误输入,还可能包含恶意用户的错误输入。一个健壮的应用系统必须将这些非法输入阻止在应用之外,防止这些非法输入进入系统,这样才能保证系统不受影响。因此,输入校验是所有Web 应用必须解决的问题。本文基本Struts2 校验框架研究输入校验,为运动员信息管理系统开发提供支持。

1 Struts2 校验框架

Struts2 是Struts 的下一代产品,是在struts1 和WebWork的技术基础上进行了合并的全新的框架。Struts2 以WebWork为核心,采用拦截器的机制来处理用户的请求,使得业务逻辑控制器能够与ServletAPI 完全脱离开。输入校验一般可分为客户端校验和服务器校验,客户端校验最常用的方式就是用JavaScript 脚本语言对用户输入的数据进行校验,服务器端校验就是在服务器端采用程序代码或配置文件的方式对用户输入的数据进行校验。利用Struts 的提供的Validator 验证框架可实现客户端和服务器端双重验证。Struts 的Validator 验证框架定义了13 个常用的验证规则,分别是required(校验非空)、requiredstrin(校验字符串不能为空)、int(校验整数)、double(校验双精度浮点数)、date(校验日期)、expression(校验表达式)、fieldexpression(校验字段表达式)、email(校验邮件地址)、url(校验网址)、visitor(校验Action 里的复合属性)、conversion(校验格式转换)、stringlength(校验字符串长度)、regex(校验正则表达式)。Struts2 校证框架运行流程如图1 所示。

表1 运动员信息表(Athletes information table)

2 数据库逻辑结构设计

通常的数据库设计是以需求分析为基础,进行概念结构设计、逻辑结构设计、物理结构设计和安全性设计。本文研究的核心内容是输入校验,输入校验仅涉及到数据库逻辑结构。因此,本文只进行逻辑结构设计。逻辑结构反映成分数据之间的逻辑关系,与数据库管理系统(DBMS,Database Management System)相关,本软件使用Microsoft SQL Server 2008 数据库管理系统。根据中华人民共和国体育行业标准《运动员身体形态与机能数字化档案要求》对运动员基本信息管理的相关要求,设计的数据库逻辑结构如表1 所示。

3 校验文件设计

Struts2 中单独对每一个Action 指定一个校验文件,命名方式为-validation.xml,存放在与Action 相同的包中,校验只需要配置一个校验文件即可实现。对于表1 的16个字段进行归类后,需要使用7 种校验器。校验文件设计如下:

(1)校验非空。为了信息的完整性,通常表1 中所有字段都不能为空。但是,录入人员录入数据时,可能是某些数据未采集到或某些数据还不确定,暂时可以为空。因此,程序设计时要根据实际情况确定。校验非空的校验器类型名称是“required”。本文以“运动员姓名”字段不能为空为例,校验代码设计如下:

图1 Struts2 校验框架运行流程

(2)校验字符串长度。所有数据类型为varchar 型和char 型的字段,如果超过数据库表中设定的长度,存储时就会出现错误,因此都需要进行字符串长度校验。该校验要求被校验字段的长度必须在指定的范围之内。校验字符串长度的校验器类型名称是“stringlength”。以“身份证号”为例,校验代码设计如下:

(3)校验整数。“技术等级”字段需要进行整数校验。要求被校验字段的数值必须在指定的范围内。校验整数的校验器类型名称是“int”。校验代码设计如下:

(4)校验双精度浮点数。“最好成绩”字段需要双精度浮点数校验。要求数值在指定范围内,并且被校验的Action 属性是双精度浮点数。校验双精度浮点数的校验器类型名称是“double”。校验代码设计如下:

(5)校验日期。“出生日期、注册日期、取得日期”三个字段需要校验日期格式,要求字段的日期值必须在指定范围内。校验日期的校验器类型名称是“date”。以“出生日期”为例,校验代码设计如下:

(6)校验邮件地址。“电子邮箱”字段需要进行邮件地址校验。如果该字段的字符为非空,则必须是合法电子邮件地址。校验邮件地址的校验器类型名称是“email”。校验代码设计如下:

(7)校验网址。“个人主页”字段需要进行网址校验。如果该字段的字符为非空,则必须是合法的URL 地址。校验网址的校验器类型名称是“url”。校验代码设计如下:

[1] 邱旭东,刘文浩,梁效平,杨健民.我国体育信息化建设现状及对策研究[J].中国体育科技,2013,49(5):134-138.

[2] 孙庆祝,刘逢翔,陈家起,陈培友.我国体育信息化发展趋势及对策研究[J].西安体育学院学报,2007, 24(1): 7-12.

[3] 张志刚.Struts2 框架技术开发与应用[J].计算机光盘软件与应用,2013, 16(23):119-120.

[4] 博客( 张波的技术积累).Struts2 之验证框架[EB/OL].http://blog.csdn.net/woshisap/article/details/7300907, 2014-12-1.

[5] 国家体育总局. 运动员身体形态与机能数字化档案要求[Z]. 2014-5-22.

[6] 周冬初,鞠凤娟,郭东珲.基于Struts2 框架校验数据及整合正则表达式的实现方法[J].计算机与现代化, 2011, 27(1): 85-87.

[7] Luob博客.Struts2使用Validation框架验证数据( 三 十 七)[EB/OL].http://takeme.iteye.com/blog/1667716, 2014-12-1.

[8] 李晓明.基于Struts2 框架的输入校验功能的实现与应用[J].电脑知识与技术,2013,9(35):8201-8202.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!