国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Struts的NCRE網(wǎng)上報名系統(tǒng)的設(shè)計與實現(xiàn)

2013-12-29 00:00:00耿偉王競吳蕾趙強(qiáng)
電腦知識與技術(shù) 2013年4期

摘要:基于B/S模式的NCRE網(wǎng)上報名系統(tǒng)可提高工作效率。研究了Struts框架的工作機(jī)制及流程。給出了NCRE網(wǎng)上報名系統(tǒng)的功能設(shè)計。闡述了基于Struts的報名系統(tǒng)的部分實現(xiàn)。最后給出了系統(tǒng)的開發(fā)平臺并展示了運(yùn)行效果。

關(guān)鍵詞:網(wǎng)上報名;Struts框架;功能設(shè)計;系統(tǒng)實現(xiàn)

中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2013)04-0709-03

Design and Implementation of NCRE Online Registration System Based on Struts

GENG Wei,WANG Jing,WU Lei, ZHAO Qiang

(Xuzhou Medical College,Xuzhou 221004,China)

Abstract: NCRE online registration system based on B/S pattern can improve work efficiency. The work mechanism and work flow of Struts framework are researched. The function design of NCRE online registration system is presented. Some system implementations of NCRE online registration based on Struts are discussed. Last, development platform and running effect are shown.

Key words: online registration; Struts framework; function design; system implementation

全國計算機(jī)等級考試(National Computer Rank Examination,簡稱NCRE)原有的考務(wù)系統(tǒng)采用C/S模式架構(gòu),使用其進(jìn)行報名工作效率非常低下。當(dāng)前,互聯(lián)網(wǎng)技術(shù)已經(jīng)非常普及。充分使用網(wǎng)絡(luò)資源、改變先前的報名方式、采用網(wǎng)上報名,是更為高效的方式,也是發(fā)展趨勢。

Java技術(shù)由于其良好的可移植性和安全性得到了廣泛的應(yīng)用。在一個項目的開發(fā)中,利用框架技術(shù)可以提高軟件開發(fā)的速度和效率,而且有利于軟件后期的維護(hù)?;贘ava平臺的Web框架有許多,如Struts、JSF、Struts2、Spring等。在這些框架中,Struts框架在Java Web應(yīng)用的開發(fā)中有相當(dāng)大的用戶群,成為受歡迎的Java Web MVC模式框架之一。

本文對Struts框架技術(shù)在Web應(yīng)用開發(fā)中的工作機(jī)制及流程進(jìn)行研究,并對其在NCRE網(wǎng)上報名系統(tǒng)中的設(shè)計與實現(xiàn)進(jìn)行論述,為NCRE網(wǎng)上報名系統(tǒng)的設(shè)計與實現(xiàn)提供了一種解決方案。

1 Struts框架工作機(jī)制及流程

Struts是一個基于MVC模式的Java Web框架。MVC模式強(qiáng)制性地把應(yīng)用程序的輸入、處理和輸出分開,把應(yīng)用程序分成三個核心模塊:模型、視圖和控制器。在Struts框架中,模型由實現(xiàn)業(yè)務(wù)邏輯的JavaBean或EJB組件構(gòu)成,控制器由ActionServlet和Action來實現(xiàn),視圖由一組JSP文件構(gòu)成。如圖1所示。

圖1 Struts實現(xiàn)的MVC框架

基于Struts框架的Web應(yīng)用在啟動時就會加載并初始化ActionServlet,ActionServlet從struts-congif.xml文件中讀取配置信息,把它們存放到各種配置對象中。當(dāng)ActionServlet接收到一個客戶請求時,將執(zhí)行如下1~7流程。

1)檢索和用戶請求匹配的ActionMapping配置對象,如果不存在,就返回用戶請求路徑無效的信息。

2)如果ActionForm對象不存在,就創(chuàng)建一個ActionForm對象,把客戶提交的表單數(shù)據(jù)保存到ActionForm對象中。

3)根據(jù)配置信息決定是否需要表單驗證。如果需要驗證,就調(diào)用ActionForm的validate()方法。

4)如果ActionForm的validate()方法返回null或返回一個不包含ActionMessage的ActionErrors對象,就表示表單驗證成功,執(zhí)行5、6、7三步。如果ActionForm的validate()方法是返回一個包含一個或多個ActionMessage的ActionErrors對象,就表示表單驗證失敗,那么ActionServlet將直接把請求轉(zhuǎn)發(fā)給包含用戶提交表單的JSP組件。在這種情況下,不再執(zhí)行5、6、7三步。

5)ActionServlet根據(jù)ActionMapping對象包含的映射信息決定將請求轉(zhuǎn)發(fā)給哪個Action。如果相應(yīng)的Action對象不存在,就先創(chuàng)建這個對象,然后調(diào)用Action的execute()方法。

6)Action的execute()方法返回一個ActionForward對象,ActionServlet再把客戶請求轉(zhuǎn)發(fā)給ActionForward對象指向的JSP組件。

7)ActionForward對象指向的JSP組件生成動態(tài)網(wǎng)頁,返回給客戶。

2 系統(tǒng)功能設(shè)計

原有的考務(wù)系統(tǒng)基于C/S模式。其報名的方式是讓所有學(xué)生到現(xiàn)場進(jìn)行照片的采集和報名信息錄入。采用這種方式進(jìn)行報名非常耗時,從而造成報名現(xiàn)場排起長隊進(jìn)行等待的現(xiàn)象。針對上述的問題,對NCRE的網(wǎng)上報名系統(tǒng)提出以下設(shè)計思想:

使用B/S模式應(yīng)用進(jìn)行報名。將報名的過程分為網(wǎng)上預(yù)報名和信息確認(rèn)兩個階段。在網(wǎng)上預(yù)報名階段,讓分散在各處的考生提前將自己的報名信息通過互聯(lián)網(wǎng)錄入報名系統(tǒng)中。在信息確認(rèn)階段,考生集中到指定地點(diǎn)進(jìn)行交費(fèi)、信息核對、領(lǐng)取報名回執(zhí)等。

總體上,NCRE網(wǎng)上報名系統(tǒng)的功能分為考生和考務(wù)兩大模塊,從功能上分為:預(yù)報名、信息確認(rèn)以及系統(tǒng)管理。具體功能見圖2所示的NCRE網(wǎng)上報名系統(tǒng)功能圖。

圖2 NCRE網(wǎng)上報名系統(tǒng)功能圖

3 系統(tǒng)實現(xiàn)

3.1 頁面布局

一個應(yīng)用系統(tǒng)的各頁面最好具有統(tǒng)一的風(fēng)格布局。NCRE網(wǎng)上報名系統(tǒng)采用如圖3所示的網(wǎng)頁布局。header區(qū)域為頁頭區(qū),footer區(qū)域為頁腳區(qū),sidebar區(qū)域為功能菜單區(qū),content區(qū)域為內(nèi)容區(qū)。

圖3 網(wǎng)頁布局示意圖

基于以上布局的頁面,其header和footer兩個區(qū)域的內(nèi)容基本不變化,變化最多的是content區(qū)中的內(nèi)容。為簡少HTML頁面代碼的重復(fù)使用,本系統(tǒng)的頁面設(shè)計使用了Struts的Tiles子框架。Tiles是功能強(qiáng)大的JSP模板框架,它能夠簡少HTML頁面代碼的重復(fù)使用。使用Tiles可以將JSP頁面分解為單個“Tiles”或部分,然后可將各部分粘合在一起創(chuàng)建一個組合頁面。Tiles框架將網(wǎng)頁的布局和內(nèi)容分離,為Web頁面的創(chuàng)建提供了一種模板機(jī)制,允許先創(chuàng)建模板,然后在運(yùn)行時動態(tài)地將內(nèi)容插入到模板中。

本系統(tǒng)中使用的布局文件為layout.jsp,使用表格來對header、footer、sidebar和content四個區(qū)域進(jìn)行頁面布局。在頁面相應(yīng)的各表格代碼中,分別使用形如的標(biāo)簽進(jìn)行占位。在tiles-defs.xml文件中進(jìn)行各區(qū)域文件的定義。以下代碼是用戶登錄頁面的定義。

3.2 表單數(shù)據(jù)驗證

NCRE的報名對考生報名信息各字段有著明確的要求。如:姓名、身份證號、性別、出生時期、報考語言級別等字段不能為空,且各信息之間在邏輯上要一致,如出生日期字段要與身份證號中的日期相一致。Struts提供了完善的表單數(shù)據(jù)驗證功能。當(dāng)用戶提交了HTML表單,Struts框架將自動把表單數(shù)據(jù)組裝到ActionForm Bean中,ActionForm Bean中的屬性和HTML表單中的字段一一對應(yīng),然后運(yùn)行ActionForm Bean中的數(shù)據(jù)驗證方法validate()。以下示例代碼為報名注冊頁面中用于驗證姓名字段是否為空以及是否含有半角或全角空格。

public ActionErrors validate(ActionMapping mapping,

HttpServletRequest request){

ActionErrors errors=new ActionErrors();

if (this.name==null||"".equals(this.name))

errors.add("name",new ActionMessage("name.null") );

if (this.name.indexOf(" ")!=-1 || this.xm.indexOf(" ")!=-1 ){

errors.add("name.space",new ActionMessage("name.space") );

return errors; }

本系統(tǒng)在設(shè)計時對各表單信息的驗證進(jìn)行了周全的考慮,使信息在進(jìn)入業(yè)務(wù)邏輯層之前就得以驗證,保證了存入數(shù)據(jù)庫中數(shù)據(jù)的正確性,讓系統(tǒng)運(yùn)行得更加穩(wěn)健。

3.3 業(yè)務(wù)處理

業(yè)務(wù)流程方面。NCRE網(wǎng)上報名系統(tǒng)業(yè)務(wù)流程設(shè)計的合理與否直接影響報名工作的效率。為此,在系統(tǒng)業(yè)務(wù)的流程進(jìn)行了以下設(shè)計:一、考生先在網(wǎng)上預(yù)報名,得到一個注冊號;二、考生到繳費(fèi)點(diǎn)進(jìn)行交費(fèi),取得一個收據(jù)號(收據(jù)單);三、考生到信息確認(rèn)點(diǎn)進(jìn)行繳費(fèi)與信息確認(rèn),取得一個報名號(報名回執(zhí)單),至此報名成功。

業(yè)務(wù)數(shù)據(jù)安全方面。為了保證數(shù)據(jù)的安全,系統(tǒng)采用了對用戶可指定角色權(quán)限的設(shè)計。如:照片處理角色可進(jìn)行照片的上傳與管理,信息確認(rèn)角色可進(jìn)行信息的確認(rèn),查詢角色只能進(jìn)行信息的查詢。以上設(shè)計可讓工作人員做到權(quán)責(zé)明晰。此外,系統(tǒng)還可以指定IP,只有指定IP地址的機(jī)器才能進(jìn)行信息確認(rèn)工作。這些設(shè)計大大增強(qiáng)了系統(tǒng)關(guān)鍵數(shù)據(jù)的安全性和有效性。

本系統(tǒng)中,表單數(shù)據(jù)經(jīng)過驗證后進(jìn)入業(yè)務(wù)邏輯處理層進(jìn)行處理。盡管JSP頁面中可以嵌入Java代碼進(jìn)行業(yè)務(wù)邏輯的處理,但這樣會系統(tǒng)結(jié)構(gòu)凌亂。系統(tǒng)中所有的業(yè)務(wù)邏輯處量均通過Action進(jìn)入。對于簡單的業(yè)務(wù)邏輯,其處理代碼直接寫在Action類的execute()方法中;復(fù)雜的業(yè)務(wù)邏輯則寫在獨(dú)立的JavaBean中,需要時在execute()方法中進(jìn)行實例化調(diào)用。

3.4 開發(fā)平臺與運(yùn)行效果展示

開發(fā)平臺:JDK 6 ,集成開發(fā)環(huán)境:MyEclipse 5.1,Java Web服務(wù)器:Apache Tomcat 5。系統(tǒng)運(yùn)行效果截圖見圖4。

5 結(jié)束語

全國計算等級考試原有報名系統(tǒng)模塊存在報名效率低下的問題,所以本文提出了解決問題的方案:開發(fā)并運(yùn)用基于B/S模式的網(wǎng)上報名系統(tǒng)。該文所展示的基于Struts的NCRE網(wǎng)上報名系統(tǒng),已經(jīng)多次應(yīng)用到考點(diǎn)的報名工作中,該系統(tǒng)使用后,較以前的工作方式效率得到了極大的提高,系統(tǒng)運(yùn)行穩(wěn)健。所以,在此探討Struts的工作機(jī)理、闡述NCRE網(wǎng)上報名系統(tǒng)的設(shè)計及其部分實現(xiàn),以期給全國計算機(jī)等級考試的工作者們一些參考。

參考文獻(xiàn):

[1] 王競,趙強(qiáng),耿偉.Struts Tiles在NCRE網(wǎng)上報名系統(tǒng)中的應(yīng)用[J].中國新技術(shù)新產(chǎn)品,2010,16( 44).

[2] 孫衛(wèi)琴.精通Struts:基于MVC的Java Web設(shè)計與開發(fā)[M].北京:電子工業(yè)出版社,2006.

[3] 耿偉,吳蕾,王競.全國計算機(jī)等級考試網(wǎng)上報名系統(tǒng)的設(shè)計[J].電腦知識與技術(shù),2010(15): 4193-4194.

[4] 崔鵬飛,姜利群.基于異構(gòu)數(shù)據(jù)源的網(wǎng)絡(luò)等級考試報名管理系統(tǒng)設(shè)計及實現(xiàn)[J].中國教育技術(shù)裝備,2008(12):75-76.

[5] James Holmes.Struts程序員查詢詞典[M].北京:中國鐵道出版社,2005.

孝义市| 罗甸县| 察哈| 苏尼特右旗| 平顶山市| 璧山县| 鄂托克前旗| 黄陵县| 佛教| 疏附县| 霍城县| 瓦房店市| 浑源县| 西贡区| 和政县| 江孜县| 定陶县| 广平县| 浦北县| 唐河县| 和田市| 永城市| 安康市| 鹰潭市| 资源县| 青浦区| 建宁县| 宜良县| 搜索| 常山县| 周至县| 阿城市| 定兴县| 兖州市| 岑溪市| 双柏县| 长阳| 保定市| 清水河县| 阿拉尔市| 通山县|