《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 投稿與審稿系統的設計與實現
投稿與審稿系統的設計與實現
來源:微型機與應用2011年第16期
徐 晶1,2, 程 丹1,2, 張小丹1,2, 劉偉平1,2
(1. 暨南大學 電子工程系, 廣東 廣州510632; 2. 暨南大學 光纖通信與傳感技術重點實驗
摘要: 深入分析了在線投稿、審稿系統的功能和關鍵技術,設計了基于B/S結構的在線投稿、審稿系統方案,并利用MVC模式的Struts2+Spring+Jpa構架思想,采用Java編程語言、JSP頁面技術、MYSQL數據庫技術,實現了在線投稿、審稿系統,最后對系統的性能進行了測試和分析。
Abstract:
Key words :

摘  要: 深入分析了在線投稿審稿系統的功能和關鍵技術,設計了基于B/S結構的在線投稿、審稿系統方案,并利用MVC模式的Struts2+Spring+Jpa構架思想,采用Java編程語言、JSP頁面技術、MYSQL數據庫技術,實現了在線投稿、審稿系統,最后對系統的性能進行了測試和分析。
關鍵詞: 投稿; 審稿; MVC; Struts2+Spring+Jpa; MySQL

    計算機應用技術的進步,使期刊編輯流程信息化和網絡化成為主要趨勢。在線審稿、投稿系統縮短了作者的投稿周期,加快了編輯和專家的審稿流程,為作者與編輯進行即時溝通架設了橋梁,方便讀者、作者在線閱讀稿件。
    目前出現的在線投稿、審稿系統采用ASP技術。ASP是微軟推出的一種技術,只能在Windows操作系統上運行,Windows本身的所有問題都會一成不變地累加到了它的身上。安全性、穩定性、跨平臺性都會因為與Windows的捆綁而顯現出來。由于ASP程序采用非編譯語言,大大降低了程序源代碼的安全性,如果黑客侵入站點,就可以獲得ASP源代碼;每當客戶端打開一個ASP網頁時,服務器都必須將該ASP程序從頭到尾重讀一遍,并加以編譯執行,最后送出標準的HTML格式文件給客戶端,因而影響了運行速度。而JSP是跨平臺的,可以在所有的服務器操作系統上運行。JSP源程序不大可能被下載,一些程序完全可以放到不對外的目錄中。JSP在執行以前先被編譯成字節碼(byte code),字節碼由Java虛擬機(Java Virtual Machine)解釋執行,比源碼解釋的效率高;服務器上還有字節碼的Cache機制,能提高字節碼的訪問效率。并且JSP結合MVC模式將數據和業務規則從表示層分開,可以最大化地重用代碼,具有易維護性。綜上所述本系統采用JSP[1]技術。
1 系統功能需求概述
    投稿、審稿系統的主要目標是為了簡化傳統手工工作流程,縮短稿件在傳遞過程中的時間,使投稿人審稿人的交流便利順暢,縮短論文發表的時滯[2]。
 本系統分為投稿模塊與審稿模塊。投稿模塊包含了以下5個功能:用戶注冊、用戶登陸、在線投稿、稿件狀態查詢、修改個人信息。在線投稿功能包括填寫稿件信息,上傳稿件,稿件信息存儲在數據庫中,稿件上傳到系統指定的硬盤目錄中,投稿系統自動給每個稿件唯一的編號,以便編輯人員對稿件正確處理。審稿模塊包含以下7個功能:權限管理、用戶登錄、查看稿件、稿件轉發、稿件審理、在線退修、擬錄稿件、退稿。權限管理功能:管理員對各個使用者的權責給予其所需的權限來瀏覽相應的頁面,使用相應的操作,此系統的管理員是編輯;查看稿件功能:審稿模塊的功能是可以查看稿件的基本信息,并可以下載原稿;稿件審理功能:評價稿件,將評價錄入到數據庫中。
2 系統設計
2.1 系統總體設計

    本文根據傳統手工流程建立作者、編務、編輯、副主編、主編、專家6個角色,系統方案圖如圖1。這些角色可以通過編輯部網站遠程訪問編輯部的數據庫。其中編輯角色相當于一個中部樞紐,查看編務發來的稿件,評價稿件,把稿件轉發給副主編、專家,查看副主編、專家對稿件的評價,決定對稿件進行退稿、退修、錄用等操作。編輯具有角色管理的權限,刪除、添加、修改各個角色及其功能等。
 本文設置兩個相對獨立的數據庫(投稿數據庫、工作數據庫),這樣,可把來自作者的垃圾數據和帶病毒數據擋在外面。其中,投稿數據庫可以限制作者的稿件文件的大小和數量,并把作者投稿以臨時文件形式存放,同時進行自動殺毒。在投稿數據庫與工作數據庫之間,單獨提供一個工具程序,由編輯人工參與實現數據的過濾和導入。
2.2 處理流程
    本系統的業務流程如圖2所示,編務收到作者來稿后先進行查閱,刪除一些垃圾稿件,并把不同欄目的稿件分配給不同的編輯;編輯初審稿件可以直接退稿,可以把稿件轉發給副主編和相關的專家審稿;副主編可以把稿件轉發給主編審理;編輯收到副主編和專家的審稿反饋后可以決定稿件的處理結果(退稿、退修、擬錄);最后作者可以在系統上查看已投稿件的狀態。

 

 

2.3 數據庫設計
    本系統采用的數據庫是MySQL[3],數據表有register、caogaoxiang、tougao、functions、module、role、role_function、user_role、userinfo、category。表register用來存儲作者注冊的個人信息;表caogaoxiang是還未上傳稿件的情況下存儲作者投稿時填寫的稿件的相關信息,并且作者可以在草稿箱看到此稿件的信息;表tougao是作者上傳稿件成功后存儲稿件信息;表category是存儲編輯部人員對稿件操作的有關信息,表tougao、表category通過公共關鍵字contributionNo關聯,關鍵字contributionNo是表tougao的主鍵,是category的外鍵;表functions、module、role、role_function、user_role、userinfo用來實現權限管理功能,由編輯角色操作。表tougao和表category部分內容如表1、表2所示。

3 系統實現    
3.1 MVC模式簡介

 MVC架構是“Model-View-Controller”的縮寫,即“模型-視圖-控制器”。運用這種模塊化“分離”的思想,MVC設計模式實現了業務邏輯和顯示的分離,大大提高了軟件的質量和代碼可維護性。同時,降低了各層之間的耦合,提供了應用的可擴展性。
3.2 Struts2+Spring+JPA架構
 基于MVC模式,本投稿和審稿系統分為持久層、數據對象層、業務層、控制層、表現層。Struts2框架用來實現頁面跳轉,Spring框架用來實現該系統業務邏輯的服務層,JPA框架則用來操作實現持久層和控制事務[4]。
 (1)表示層:展現給作者、編輯人員、審稿專家等用戶的狀態界面,此處采用包含Struts2標簽的JSP頁面,Struts2標簽簡化了JSP代碼。
 (2)控制層:Struts2中的action,把用戶的請求轉發給不同的業務邏輯進行處理,并把處理后的信息反饋到表現層。
 (3)業務邏輯層:此系統的業務邏輯包含該系統的業務需求,用戶的每個業務請求都提供一個與之對應的業務邏輯方法。
 (4)持久層:DAO層,負責與持久化對象交互,封裝了數據的增、刪、查、改操作。
 (5)領域對象層:通過JPA作為O/R Mapping的映射工具,將關系型數據庫映射成對象,實現以面向對象方式操作數據庫。
 各個模塊采用的Struts2+Spring+JPA架構的系統結構圖如圖3所示。

3.3 系統實現
3.3.1 投稿模塊

 (1)填寫稿件信息
 作者角色填寫稿件信息:作者在表示層頁面Modify.JSP中填寫稿件信息,點擊提交按鈕時,頁面信息通過form表單發送給控制層,控制層ModifyAction收到作者的請求,調用業務邏輯層處理邏輯Modify方法,業務層處理邏輯調用持久層update方法訪問領域對象層的數據對象。數據對象與數據庫中的數據對應,處理數據對象就相當于處理數據庫中的數據。圖4為作者填寫稿件信息的邏輯時序圖。

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

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

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品久久国产愉拍| 狠狠爱www人成狠狠爱综合网| 欧美一区二区在线播放| 99re这里只有精品6| 亚洲精品国产精品国自产观看浪潮 | 亚洲国产精品一区二区三区| 国产一区在线免费观看| 国产亚洲一级高清| 国产自产2019最新不卡| 韩国v欧美v日本v亚洲v| 一区二区亚洲| 亚洲国产精品ⅴa在线观看| 在线精品国产欧美| 亚洲国产日韩在线| 亚洲人在线视频| 亚洲美女尤物影院| 一区二区日本视频| 亚洲一区免费网站| 羞羞色国产精品| 欧美在线观看你懂的| 亚洲成在线观看| 亚洲精品国产视频| 99国产精品视频免费观看| aⅴ色国产欧美| 亚洲欧美日韩一区二区| 久久福利精品| 久久亚洲影院| 欧美伦理影院| 国产精品高清一区二区三区| 国产精品永久免费| 伊人精品成人久久综合软件| 亚洲国产色一区| 亚洲午夜精品| 欧美在线|欧美| 亚洲美女色禁图| 亚洲欧美日韩精品在线| 久久精品一区蜜桃臀影院| 女同一区二区| 欧美色精品天天在线观看视频| 国产精品久久久久久av下载红粉 | 亚洲精品日本| 亚洲一区三区视频在线观看| 午夜日韩电影| 9人人澡人人爽人人精品| 亚洲欧美综合一区| 裸体女人亚洲精品一区| 欧美日韩国产高清| 国产午夜精品麻豆| 亚洲人成在线播放| 亚洲欧美日韩网| 亚洲精品欧美| 欧美一区免费视频| 你懂的网址国产 欧美| 国产精品成人播放| 精品不卡一区| 日韩系列欧美系列| 欧美专区日韩专区| 中国成人亚色综合网站| 久久久99精品免费观看不卡| 欧美人与禽猛交乱配视频| 国产欧美日韩亚洲一区二区三区| 尤物九九久久国产精品的分类| 一区二区三区波多野结衣在线观看| 性欧美大战久久久久久久免费观看| 亚洲精品小视频| 久久se精品一区二区| 欧美精品一区二区三区蜜桃 | 亚洲视频免费观看| 久久综合图片| 国产精品欧美精品| 亚洲精品123区| 欧美一区二区视频在线| 在线视频日韩| 久久综合电影一区| 国产精品免费一区二区三区在线观看| 亚洲成色777777女色窝| 亚洲影院色在线观看免费| 亚洲免费观看在线观看| 久久久国产91| 国产精品欧美日韩| 日韩网站在线观看| 亚洲精品久久久蜜桃| 久久精品伊人| 国产精品一区免费观看| 亚洲精品中文字幕女同| 亚洲国产综合在线| 久久久久综合网| 国产精品香蕉在线观看| 一本色道久久综合狠狠躁篇怎么玩 | 男人的天堂亚洲| 国产性做久久久久久| 在线亚洲一区| 99亚洲视频| 欧美激情亚洲精品| 狠狠色丁香婷婷综合| 亚洲免费伊人电影在线观看av| 一区二区三区视频观看| 欧美激情第8页| 1000部国产精品成人观看 | 久久成人这里只有精品| 欧美亚洲一区二区三区| 欧美日韩在线视频观看| 亚洲精品久久久久中文字幕欢迎你| 亚洲国产专区校园欧美| 久久一区二区三区四区五区| 国产日韩欧美一区在线| 亚洲欧美激情诱惑| 欧美亚洲自偷自偷| 国产精品一区二区你懂得| 亚洲午夜一区二区| 亚洲免费网址| 国产精品国内视频| 一区二区三区色| 亚洲男人的天堂在线aⅴ视频| 欧美先锋影音| 中文av字幕一区| 亚洲一区久久久| 国产精品久久久久秋霞鲁丝| 9l国产精品久久久久麻豆| 一区二区三区高清视频在线观看| 欧美伦理一区二区| 亚洲精品一区二区三区樱花| 99www免费人成精品| 欧美日韩精品欧美日韩精品一| 亚洲国产日韩美| 一个色综合导航| 国产精品wwwwww| 亚洲影院色无极综合| 欧美在线亚洲综合一区| 国产日韩欧美综合| 久久国产精品亚洲77777| 久久免费偷拍视频| 在线不卡a资源高清| 亚洲人午夜精品免费| 欧美伦理影院| 亚洲天堂成人| 久久精品视频导航| 精品不卡一区| 亚洲最新视频在线| 国产精品裸体一区二区三区| 香蕉久久国产| 欧美jizzhd精品欧美巨大免费| 亚洲七七久久综合桃花剧情介绍| 中国日韩欧美久久久久久久久| 国产精品v日韩精品v欧美精品网站 | 欧美一区二区大片| 免费看成人av| 99re热这里只有精品免费视频| 午夜精品短视频| 国产在线日韩| 99riav久久精品riav| 欧美视频一区二区三区在线观看| 亚洲图片欧美日产| 久久久一区二区三区| 亚洲国产日韩综合一区| 亚洲永久免费| 黑人操亚洲美女惩罚| 亚洲精品日韩一| 国产精品久久久久久久午夜| 欧美一区亚洲一区| 欧美精品一区二区三区在线播放 | 亚洲与欧洲av电影| 开心色5月久久精品| 日韩一级欧洲| 久久久久网址| aa国产精品| 久久久久久一区二区三区| 亚洲日产国产精品| 欧美一区二区三区在线观看视频| 激情欧美日韩一区| 亚洲一区不卡| 一区二区三区自拍| 亚洲综合电影| 在线欧美视频| 欧美在线视频播放| 亚洲精品视频免费| 久久精品国产999大香线蕉| 亚洲黑丝在线| 久久精视频免费在线久久完整在线看 | 欧美亚洲在线视频| 欧美日韩在线观看一区二区三区| 欧美在线观看www| 国产精品jizz在线观看美国 | 国产真实精品久久二三区| 一本色道久久88综合日韩精品| 国产欧美日本一区二区三区| 日韩视频亚洲视频| 韩日精品视频| 亚洲欧美三级伦理| 亚洲日本va午夜在线影院| 久久动漫亚洲| 一区二区福利| 欧美ed2k| 久久狠狠久久综合桃花| 国产精品久久国产精麻豆99网站| 亚洲精品字幕| 一区二区三区在线观看视频| 欧美一级电影久久| 一本色道88久久加勒比精品| 欧美freesex8一10精品|