潘 健
(渤海大學(xué)教育與體育學(xué)院,遼寧錦州,121013)
隨著計算機技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速普及,整個社會的發(fā)展與信息技術(shù)的關(guān)系越來越密切,信息化對體育事業(yè)發(fā)揮著越來越重要的作用。體育信息化是指體育領(lǐng)域利用現(xiàn)代信息技術(shù),通過對信息資源的深化開發(fā)和廣泛利用,不斷提高教學(xué)、訓(xùn)練、經(jīng)營、管理、決策等活動的效率和水平,進而提高體育的社會效益、經(jīng)濟效益和競爭力的過程。體育信息化建設(shè)不僅對提高體育系統(tǒng)辦公透明化、提高管理水平、提高辦事效率具有深遠意義,還將對我國從體育大國向體育強國邁進起到積極的推動作用。運動員信息管理是體育信息化的重要組成部分。開發(fā)運動員信息管理系統(tǒng),將運動員的信息進行集中管理、實現(xiàn)信息共享,有利于充實和豐富運動員管理理論體系、有利于提升運動員管理的現(xiàn)代化水平、有利于深化運動員管理改革、有利于提高訓(xùn)練水平和運動員的全面發(fā)展。由于Web 應(yīng)用的開放性以及通過輸入頁面收集的數(shù)據(jù)非常復(fù)雜,不僅包含正常用戶的錯誤輸入,還可能包含惡意用戶的錯誤輸入。一個健壯的應(yīng)用系統(tǒng)必須將這些非法輸入阻止在應(yīng)用之外,防止這些非法輸入進入系統(tǒng),這樣才能保證系統(tǒng)不受影響。因此,輸入校驗是所有Web 應(yīng)用必須解決的問題。本文基本Struts2 校驗框架研究輸入校驗,為運動員信息管理系統(tǒng)開發(fā)提供支持。
Struts2 是Struts 的下一代產(chǎn)品,是在struts1 和WebWork的技術(shù)基礎(chǔ)上進行了合并的全新的框架。Struts2 以WebWork為核心,采用攔截器的機制來處理用戶的請求,使得業(yè)務(wù)邏輯控制器能夠與ServletAPI 完全脫離開。輸入校驗一般可分為客戶端校驗和服務(wù)器校驗,客戶端校驗最常用的方式就是用JavaScript 腳本語言對用戶輸入的數(shù)據(jù)進行校驗,服務(wù)器端校驗就是在服務(wù)器端采用程序代碼或配置文件的方式對用戶輸入的數(shù)據(jù)進行校驗。利用Struts 的提供的Validator 驗證框架可實現(xiàn)客戶端和服務(wù)器端雙重驗證。Struts 的Validator 驗證框架定義了13 個常用的驗證規(guī)則,分別是required(校驗非空)、requiredstrin(校驗字符串不能為空)、int(校驗整數(shù))、double(校驗雙精度浮點數(shù))、date(校驗日期)、expression(校驗表達式)、fieldexpression(校驗字段表達式)、email(校驗郵件地址)、url(校驗網(wǎng)址)、visitor(校驗Action 里的復(fù)合屬性)、conversion(校驗格式轉(zhuǎn)換)、stringlength(校驗字符串長度)、regex(校驗正則表達式)。Struts2 校證框架運行流程如圖1 所示。
表1 運動員信息表(Athletes information table)
通常的數(shù)據(jù)庫設(shè)計是以需求分析為基礎(chǔ),進行概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計和安全性設(shè)計。本文研究的核心內(nèi)容是輸入校驗,輸入校驗僅涉及到數(shù)據(jù)庫邏輯結(jié)構(gòu)。因此,本文只進行邏輯結(jié)構(gòu)設(shè)計。邏輯結(jié)構(gòu)反映成分數(shù)據(jù)之間的邏輯關(guān)系,與數(shù)據(jù)庫管理系統(tǒng)(DBMS,Database Management System)相關(guān),本軟件使用Microsoft SQL Server 2008 數(shù)據(jù)庫管理系統(tǒng)。根據(jù)中華人民共和國體育行業(yè)標(biāo)準《運動員身體形態(tài)與機能數(shù)字化檔案要求》對運動員基本信息管理的相關(guān)要求,設(shè)計的數(shù)據(jù)庫邏輯結(jié)構(gòu)如表1 所示。
Struts2 中單獨對每一個Action 指定一個校驗文件,命名方式為
(1)校驗非空。為了信息的完整性,通常表1 中所有字段都不能為空。但是,錄入人員錄入數(shù)據(jù)時,可能是某些數(shù)據(jù)未采集到或某些數(shù)據(jù)還不確定,暫時可以為空。因此,程序設(shè)計時要根據(jù)實際情況確定。校驗非空的校驗器類型名稱是“required”。本文以“運動員姓名”字段不能為空為例,校驗代碼設(shè)計如下:
圖1 Struts2 校驗框架運行流程
(2)校驗字符串長度。所有數(shù)據(jù)類型為varchar 型和char 型的字段,如果超過數(shù)據(jù)庫表中設(shè)定的長度,存儲時就會出現(xiàn)錯誤,因此都需要進行字符串長度校驗。該校驗要求被校驗字段的長度必須在指定的范圍之內(nèi)。校驗字符串長度的校驗器類型名稱是“stringlength”。以“身份證號”為例,校驗代碼設(shè)計如下:
(3)校驗整數(shù)?!凹夹g(shù)等級”字段需要進行整數(shù)校驗。要求被校驗字段的數(shù)值必須在指定的范圍內(nèi)。校驗整數(shù)的校驗器類型名稱是“int”。校驗代碼設(shè)計如下:
(4)校驗雙精度浮點數(shù)?!白詈贸煽儭弊侄涡枰p精度浮點數(shù)校驗。要求數(shù)值在指定范圍內(nèi),并且被校驗的Action 屬性是雙精度浮點數(shù)。校驗雙精度浮點數(shù)的校驗器類型名稱是“double”。校驗代碼設(shè)計如下:
(5)校驗日期?!俺錾掌凇⒆匀掌?、取得日期”三個字段需要校驗日期格式,要求字段的日期值必須在指定范圍內(nèi)。校驗日期的校驗器類型名稱是“date”。以“出生日期”為例,校驗代碼設(shè)計如下:
(6)校驗郵件地址?!半娮余]箱”字段需要進行郵件地址校驗。如果該字段的字符為非空,則必須是合法電子郵件地址。校驗郵件地址的校驗器類型名稱是“email”。校驗代碼設(shè)計如下:
(7)校驗網(wǎng)址?!皞€人主頁”字段需要進行網(wǎng)址校驗。如果該字段的字符為非空,則必須是合法的URL 地址。校驗網(wǎng)址的校驗器類型名稱是“url”。校驗代碼設(shè)計如下:
[1] 邱旭東,劉文浩,梁效平,楊健民.我國體育信息化建設(shè)現(xiàn)狀及對策研究[J].中國體育科技,2013,49(5):134-138.
[2] 孫慶祝,劉逢翔,陳家起,陳培友.我國體育信息化發(fā)展趨勢及對策研究[J].西安體育學(xué)院學(xué)報,2007, 24(1): 7-12.
[3] 張志剛.Struts2 框架技術(shù)開發(fā)與應(yīng)用[J].計算機光盤軟件與應(yīng)用,2013, 16(23):119-120.
[4] 博客( 張波的技術(shù)積累).Struts2 之驗證框架[EB/OL].http://blog.csdn.net/woshisap/article/details/7300907, 2014-12-1.
[5] 國家體育總局. 運動員身體形態(tài)與機能數(shù)字化檔案要求[Z]. 2014-5-22.
[6] 周冬初,鞠鳳娟,郭東琿.基于Struts2 框架校驗數(shù)據(jù)及整合正則表達式的實現(xiàn)方法[J].計算機與現(xiàn)代化, 2011, 27(1): 85-87.
[7] Luob博客.Struts2使用Validation框架驗證數(shù)據(jù)( 三 十 七)[EB/OL].http://takeme.iteye.com/blog/1667716, 2014-12-1.
[8] 李曉明.基于Struts2 框架的輸入校驗功能的實現(xiàn)與應(yīng)用[J].電腦知識與技術(shù),2013,9(35):8201-8202.