新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 投稿與審稿系統(tǒng)的設(shè)計與實現(xiàn)

投稿與審稿系統(tǒng)的設(shè)計與實現(xiàn)

作者: 時間:2011-12-09 來源:網(wǎng)絡(luò) 收藏

3.3
3.3.1 模塊

 (1)填寫稿件信息
 作者角色填寫稿件信息:作者在表示層頁面Modify.JSP中填寫稿件信息,點擊提交按鈕時,頁面信息通過form表單發(fā)送給控制層,控制層ModifyAction收到作者的請求,調(diào)用業(yè)務(wù)邏輯層處理邏輯Modify方法,業(yè)務(wù)層處理邏輯調(diào)用持久層update方法訪問領(lǐng)域?qū)ο髮拥臄?shù)據(jù)對象。數(shù)據(jù)對象與數(shù)據(jù)庫中的數(shù)據(jù)對應(yīng),處理數(shù)據(jù)對象就相當(dāng)于處理數(shù)據(jù)庫中的數(shù)據(jù)。圖4為作者填寫稿件信息的邏輯時序圖。

部分代碼如下:
ModifyAction調(diào)用業(yè)務(wù)層邏輯方法的代碼為:
public String modify()
{
cf.modify(c);
return Action.SUCCESS;
}
操作數(shù)據(jù)表的業(yè)務(wù)層接口代碼: public void modify (Caogao c);
操作數(shù)據(jù)表業(yè)務(wù)邏輯層方法modify代碼:public void modify (Caogao c) {
cd.update(c);
}
操作數(shù)據(jù)表的持久層接口代碼:public Caogao update(Caogao entity);
操作數(shù)據(jù)表持久層方法update代碼:
public Caogao update(Caogao entity) {
    EntityManagerHelper.beginTransaction();
     try {
Caogao result = getEntityManager().merge(entity);
EntityManagerHelper.commit();
return result;
} catch (RuntimeException re) {
EntityManagerHelper.rollback();
throw re;
}
}
(2)上傳稿件
作者角色上傳稿件:采用在線文件上傳組件Components-FileUPload上傳稿件。作者在表示層頁面Upload.jsp中選擇要上傳的稿件的路徑,點擊上傳按鈕,頁面請求通過form表單發(fā)送給控制層UploadAction, form中的enctype屬性用來設(shè)置上傳數(shù)據(jù)的編碼方式,應(yīng)設(shè)為multipart/form-date。UploadActon中的execute()方法中首先創(chuàng)建一個字節(jié)型輸入流來讀取傳送來的文件file。然后通過ServletAcrionContext.getRequest().getRealPath()獲取存儲問價的父目錄,然后創(chuàng)建一個destFile文件。該文件用來做為輸出流的目的文件。最后再創(chuàng)建一個關(guān)于destFile文件的輸出流。創(chuàng)建完輸入流和輸出流后,就可以創(chuàng)建一個中間字節(jié)數(shù)組buffer來實現(xiàn)輸入流與輸出流的轉(zhuǎn)換,從而實現(xiàn)文件的上傳功能。實現(xiàn)上傳功能,還要在struts.xml文件中對實現(xiàn)文件上的Action進行攔截器方面的配置,可以設(shè)置允許上傳文件的大小,文件類型等等。上傳成功后返回Uploadsuccess.jsp。
3.3.2 審稿模塊
(1)查閱稿件
編輯角色查看稿件信息:稿件信息包括稿件的基本信息、稿件內(nèi)容及編輯部工作人員和專家對其的評價。查看稿件內(nèi)容需要下載稿件,實現(xiàn)方法也是采用Components-FileUPload組件,和上面講到的上傳稿件類似,這里就不再詳述。在編輯角色的ViEW層頁面Editor.jsp點擊目標(biāo)稿件的查看按鈕,則通過URL鏈接到findSingleContribution.action,并把目標(biāo)稿件的id傳送給action,此action調(diào)用業(yè)務(wù)層處理邏輯findSingleContribution,業(yè)務(wù)層調(diào)用持久層findById方法查詢數(shù)據(jù)對象, 查詢完成后返回數(shù)據(jù)庫結(jié)果,返回數(shù)據(jù)對象結(jié)果,返回邏輯處理結(jié)果,返回頁面視圖展現(xiàn)結(jié)果。
(2)審理稿件
編輯角色審理稿件:主要包括評價稿件,提交審理結(jié)果。評價稿件與作者角色填寫稿件信息類似,調(diào)用持久層的update方法。審理結(jié)果有三種:擬錄、退修、退稿、分別對應(yīng)數(shù)據(jù)庫flag中的1、2、3。提交審理結(jié)果就是修改flag的值。在Editor.jsp中選擇目標(biāo)稿件的三種稿件的任一種結(jié)果,調(diào)用控制層的review.action并傳遞目標(biāo)稿件的id和稿件處理結(jié)果flag的值給action,調(diào)用業(yè)務(wù)層的review方法,調(diào)用持久層的update方法。返回處理結(jié)果。
4 測試
布置到tomcate6中,通過瀏覽器訪問。按照注冊、登陸、、審稿的流程操作系統(tǒng)。測試結(jié)果表明基本實現(xiàn)了需求分析時的功能。并且該系統(tǒng)通過javascript實現(xiàn)了許多瀏覽器端數(shù)據(jù)輸入驗證功能,例如文題不能為空、驗證郵箱格式、驗證是否上傳了稿件等等。 圖5是成功后,按照編輯人員審稿的流程操作的測試結(jié)果。

本文的網(wǎng)站和系統(tǒng)是基于B/S結(jié)構(gòu),采用Dreamweaver制作靜態(tài)網(wǎng)頁,采用MVC模式Struts2+Spring+Jpa框架,Java語言和JSP技術(shù),MySQL數(shù)據(jù)庫實現(xiàn)的方案,完成了投稿和審稿功能。本系統(tǒng)具有如下優(yōu)點:采用Java語言和JSP技術(shù),具有跨平臺的優(yōu)點;基于B/S結(jié)構(gòu),系統(tǒng)運行更簡易;采用MVC模式和Struts2+Spring+Jpa框架,易維護、易升級、易操作。本系統(tǒng)很好地解決了傳統(tǒng)手工投審稿效率低、耗時長、交互性差的問題。
參考文獻
[1] 李振捷. JSP網(wǎng)站開發(fā)典型模塊與實例精講[M].北京:電子工業(yè)出版社,2007.
[2] 胡異峰.投稿考評及分析系統(tǒng)的與實現(xiàn)[J].計算機工程與應(yīng)用,2005(29):223-225.
[3] (荷)范德蘭斯著. MySQL開發(fā)者SQL權(quán)威指南[M].許杰星,等譯.北京:機械工業(yè)出版社,2008.
[4] 林永傍,劉偉平,黃紅斌,等.EPON故障管理系統(tǒng)的與實現(xiàn)[J].光通信技術(shù),2009,33(10):16-18.


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉