版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
學(xué)號(hào):常州大學(xué)畢業(yè)設(shè)計(jì)(論文)(2012屆)題目學(xué)生學(xué)院專業(yè)班級(jí)校內(nèi)指導(dǎo)教師專業(yè)技術(shù)職務(wù)校外指導(dǎo)老師專業(yè)技術(shù)職務(wù)二○一二年六月PAGEI學(xué)術(shù)論文刊物管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要:隨著信息技術(shù)的迅速發(fā)展,許多單位都建立了自己的信息管理平臺(tái),學(xué)術(shù)期刊主辦單位也逐步建立了自己的網(wǎng)上投稿、審稿和稿件管理系統(tǒng)。本論文設(shè)計(jì)的學(xué)術(shù)論文刊物管理系統(tǒng)基于B/S結(jié)構(gòu),采用JSP技術(shù)、SSH技術(shù)和NavicatforMySQL數(shù)據(jù)庫(kù)技術(shù)進(jìn)行交互,主要完成對(duì)學(xué)術(shù)期刊的管理,不同的用戶可以根據(jù)不同的權(quán)限實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作,包括數(shù)據(jù)庫(kù)中信息的添加、刪除、修改、查詢等。系統(tǒng)實(shí)現(xiàn)了學(xué)術(shù)論文的在線投稿、審稿和稿件瀏覽,相關(guān)學(xué)術(shù)論文信息的管理,包括投稿人、審稿專家、公告、留言及論文投稿審稿過(guò)程控制等。測(cè)試表明,本系統(tǒng)具有操作簡(jiǎn)單、界面友好、功能完善、方便移植等特點(diǎn),該系統(tǒng)的投稿和審稿部分配合起來(lái)使用,能完成期刊編輯社的基本需求。關(guān)鍵詞:B/S架構(gòu);SSH技術(shù);學(xué)術(shù)論文刊物管理系統(tǒng)TheDesignandImplementationofAcademicPublicationManagementSystemAbstract:Withtherapiddevelopmentofinformationtechnology,manyorganizationshaveestablishedtheirowninformationmanagementplatforms.Theorganizersofacademicjournalshavegraduallyestablishedtheirownmanagementsystemforonlinesubmission,reviewandmanuscriptsmanagement.Inthispaper,basedonB/Sstructure,JSP,SSHandNavicatforMySQLdatabasetechnology,thedesignofacademicpublicationmanagementsystemmailycompletesthemanagementofacademicjournalsandthedifferentpermissionsonthedatabaseoperationfromdifferentusers,includingadding,deleting,modifying,querying,andsoon.Thesystemimplementsonlinesubmission,reviewandbrowseofpapersandrelevantacademicinformationmanagement,includingcontributors,reviewers,announcements,messages,processcontrolofpapersubmissionandreview.Testsshowthatthesystemiseasytouse,fullyfunctionalandeasilyportedwhichmeetsthebasicrequirementsofthejournaleditorialstaff.Keywords:B/SStructure;SSHTechnology;TheAcademicPublicationManagementSystem摘要 =1\*ROMANI目次 =3\*ROMANIIITOC\o"1-3"\f\h\z\u1引言 11.1課題的背景、目的和意義 11.2課題國(guó)內(nèi)外發(fā)展概況 11.3課題欲解決的問(wèn)題 22系統(tǒng)的總體設(shè)計(jì) 22.1系統(tǒng)可行性分析 22.2系統(tǒng)功能需求分析 32.3系統(tǒng)功能模塊設(shè)計(jì) 42.3.1系統(tǒng)總模塊設(shè)計(jì) 42.3.2登錄模塊的設(shè)計(jì) 52.3.3注冊(cè)模塊的設(shè)計(jì) 62.3.4前臺(tái)頁(yè)面模塊的設(shè)計(jì) 62.3.5作者入口模塊的設(shè)計(jì) 82.3.6專家入口模塊的設(shè)計(jì) 92.3.7編輯入口模塊的設(shè)計(jì) 92.3.8用戶管理模塊的設(shè)計(jì) 102.4數(shù)據(jù)庫(kù)概要設(shè)計(jì) 112.5數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì) 122.6系統(tǒng)環(huán)境需求 163系統(tǒng)的實(shí)現(xiàn) 173.1數(shù)據(jù)庫(kù)連接 173.2登錄模塊的實(shí)現(xiàn) 183.3注冊(cè)模塊的實(shí)現(xiàn) 193.4用戶管理模塊的實(shí)現(xiàn) 203.4.1增加投稿作者信息 213.4.2刪除投稿作者信息 223.4.3查找投稿作者信息 233.4.4修改投稿作者信息 243.5在線投稿模塊的實(shí)現(xiàn) 253.6審核稿件模塊的實(shí)現(xiàn) 264系統(tǒng)的測(cè)試及難點(diǎn)分析 274.1系統(tǒng)的測(cè)試 274.1.1查詢稿件功能測(cè)試 274.1.2通知作者修改稿件測(cè)試 284.2開(kāi)發(fā)過(guò)程中遇到的問(wèn)題及采用的解決方法 295結(jié)論 30參考文獻(xiàn) 32致謝 33常州大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)第34頁(yè)共33頁(yè)1引言1.1課題的背景、目的和意義近年來(lái)我國(guó)學(xué)術(shù)人員發(fā)表論文的數(shù)量快速增長(zhǎng),傳統(tǒng)的稿件處理方式已經(jīng)不適應(yīng)學(xué)術(shù)期刊的發(fā)展。目前主要存在著編輯部工作繁忙,稿件管理比較混亂,不能及時(shí)告知作者審稿的進(jìn)展情況等問(wèn)題。如何高效、快速地處理大量的期刊稿件,提高工作效率,縮短論文發(fā)表周期,成為編輯部迫切需要解決的問(wèn)題。隨著信息時(shí)代的高速發(fā)展,學(xué)術(shù)期刊網(wǎng)絡(luò)化已成為適應(yīng)時(shí)代發(fā)展的必然要求。我國(guó)很多學(xué)術(shù)期刊已經(jīng)在網(wǎng)上建立起自己的主頁(yè)和獨(dú)立網(wǎng)站。程維紅研究表明,中國(guó)科學(xué)技術(shù)協(xié)會(huì)所屬的1018份期刊中,2010年9月調(diào)查表明,有64%的期刊自建網(wǎng)站,其中超過(guò)60%的網(wǎng)站建立了采編系統(tǒng),包括在線投稿、在線查稿、在線審稿、遠(yuǎn)程編輯等[1]。期刊網(wǎng)絡(luò)化管理能夠解決人工管理的很多弊端,例如:可利用網(wǎng)站進(jìn)行信息發(fā)布,提高期刊的時(shí)效性,運(yùn)行效率高,動(dòng)作成本低,發(fā)行量大,社會(huì)效益高等等。這些優(yōu)點(diǎn)能夠極大地提高期刊信息管理的效率,逐步與世界接軌,最終實(shí)現(xiàn)稿件的科學(xué)化、正規(guī)化管理。本課題研究的目標(biāo)是利用目前比較流行的Spring框架技術(shù)構(gòu)建整個(gè)系統(tǒng),實(shí)現(xiàn)學(xué)術(shù)刊物的現(xiàn)代化管理。通過(guò)系統(tǒng)的實(shí)施,不同的用戶可以根據(jù)不同的權(quán)限實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作,包括數(shù)據(jù)庫(kù)中信息的添加、修改、刪除、查詢等。本系統(tǒng)具有操作簡(jiǎn)單、界面友好、方便移植等特點(diǎn),能夠很好的完成對(duì)學(xué)術(shù)成果的管理。本系統(tǒng)作為一種辦公系統(tǒng)具有非常重要的意義。以Internet為橋梁,突破了傳統(tǒng)投稿的諸多限制與不便,可通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)稿件的投遞。對(duì)編輯部來(lái)說(shuō),提高了工作效率,實(shí)現(xiàn)了辦公的自動(dòng)化。1.2課題國(guó)內(nèi)外發(fā)展概況國(guó)內(nèi)大多數(shù)學(xué)術(shù)網(wǎng)站僅限于雜志期刊本身基本信息的發(fā)布,并沒(méi)有充分利用網(wǎng)絡(luò)資源和現(xiàn)代化的計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)來(lái)實(shí)現(xiàn)雜志各種信息的管理和挖掘?;谖覈?guó)學(xué)術(shù)期刊弱勢(shì)地位與國(guó)外學(xué)術(shù)期刊的強(qiáng)勁發(fā)展態(tài)勢(shì)所形成的巨大反差,建立學(xué)術(shù)期刊的網(wǎng)絡(luò)信息管理平臺(tái),可極大地提高工作效率,拉近作者與雜志社的距離,提升雜志期刊的質(zhì)量,打造學(xué)術(shù)期刊的品牌。通過(guò)建立網(wǎng)絡(luò)信息化管理平臺(tái),可以在網(wǎng)絡(luò)上進(jìn)行雜志社信息發(fā)布、作者信息查詢、網(wǎng)上訂閱等功能,可以實(shí)現(xiàn)信息的快捷傳遞,提高雜志社的工作效率[2]??v觀國(guó)內(nèi)外學(xué)術(shù)期刊和數(shù)據(jù)庫(kù)廠商最近的動(dòng)態(tài)可以發(fā)現(xiàn),學(xué)術(shù)期刊網(wǎng)絡(luò)化具有一些明顯的發(fā)展趨勢(shì)。內(nèi)容深加工和數(shù)據(jù)挖掘的重要性被大大提高,學(xué)術(shù)期刊網(wǎng)絡(luò)化出版主體發(fā)生了深刻的變化,從傳統(tǒng)的學(xué)術(shù)出版社到現(xiàn)在的網(wǎng)絡(luò)學(xué)術(shù)出版平臺(tái),期刊集群化網(wǎng)絡(luò)出版模式成為發(fā)展趨勢(shì)。單個(gè)期刊幾乎不可能實(shí)現(xiàn)有很強(qiáng)影響力的網(wǎng)絡(luò)出版平臺(tái),因此,具備專業(yè)性檢索、知識(shí)關(guān)聯(lián)和深度鏈接的專業(yè)性集群期刊和學(xué)科門戶將從很大程度上代表著未來(lái)學(xué)術(shù)出版的趨勢(shì)[3]。總之,期刊網(wǎng)絡(luò)化發(fā)展迅猛,新概念和新技術(shù)不斷涌現(xiàn),作為精品內(nèi)容供應(yīng)商的學(xué)術(shù)期刊在網(wǎng)絡(luò)化大潮下,將面臨新的一輪發(fā)展機(jī)遇,如果沒(méi)能抓住這次機(jī)遇,將使我國(guó)學(xué)術(shù)期刊與國(guó)外同行的差距進(jìn)一步拉大。1.3課題欲解決的問(wèn)題由于本系統(tǒng)涉及到的事務(wù)較多,需要頻繁訪問(wèn)數(shù)據(jù)庫(kù),采用常規(guī)方法訪問(wèn)數(shù)據(jù)庫(kù),效率較低。使用Spring框架可以大大簡(jiǎn)化對(duì)數(shù)據(jù)庫(kù)的重復(fù)操作,只需要集中精力完成系統(tǒng)的業(yè)務(wù)邏輯設(shè)計(jì)??蚣芤话闶浅墒?,穩(wěn)健的,它可以處理系統(tǒng)很多細(xì)節(jié)問(wèn)題,比如,事務(wù)處理,安全性,數(shù)據(jù)流控制等問(wèn)題,而且它是不斷升級(jí)的,擴(kuò)展性也很好[4]。傳統(tǒng)的程序結(jié)構(gòu),只要有一點(diǎn)小的需求發(fā)生改變,將意味著放棄整個(gè)頁(yè)面或者改寫。采用J2EE分層架構(gòu),在優(yōu)秀的分層架構(gòu)里,控制層依賴于邏輯層,但絕不與任何具體的業(yè)務(wù)邏輯組件耦合,只與接口耦合。同樣,業(yè)務(wù)邏輯層依賴于DAO層,也不會(huì)與任何具體的DAO組件耦合,而是面向接口編程。這種方式的軟件實(shí)現(xiàn),即使軟件的部分發(fā)生改變,其他部分也盡可能不要改變[5]。其次要考慮數(shù)據(jù)庫(kù)的安全性。設(shè)計(jì)3張表,角色表、權(quán)限表和角色權(quán)限對(duì)應(yīng)表。使各角色進(jìn)入系統(tǒng)后只會(huì)顯示對(duì)應(yīng)的權(quán)限,這樣就不存在未經(jīng)授權(quán)或者不合法的用戶對(duì)數(shù)據(jù)庫(kù)進(jìn)行更改破壞。2系統(tǒng)的總體設(shè)計(jì)本章將介紹系統(tǒng)開(kāi)發(fā)的可行性分析、功能需求分析、功能模塊設(shè)計(jì)、數(shù)據(jù)庫(kù)的概要設(shè)計(jì)、數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)以及系統(tǒng)環(huán)境需求分析。2.1系統(tǒng)可行性分析(1)技術(shù)可行性本系統(tǒng)采用MyEclipseforSpring8.6作為開(kāi)發(fā)工具,服務(wù)器采用Tomcat6.0的版本。開(kāi)發(fā)平臺(tái)選擇J2EE(JavaPlatformEnterpriseEdition,Java平臺(tái)企業(yè)版)。考慮到數(shù)據(jù)可能較大和操作簡(jiǎn)單,數(shù)據(jù)庫(kù)使用NavicatforMySQL。利用成熟的Struts、Spring、Hibernate框架技術(shù),可以迅速地開(kāi)發(fā)本系統(tǒng)。Struts2的特點(diǎn):Struts2不同于Struts1,核心控制器是FilterDispatcher,它用于處理用戶請(qǐng)求的Action實(shí)例,并不是用戶實(shí)現(xiàn)的業(yè)務(wù)控制器,而是Action代理——因?yàn)橛脩魧?shí)現(xiàn)的業(yè)務(wù)控制器并沒(méi)有與ServletAPI耦合,顯然無(wú)法處理用戶請(qǐng)求。而Struts2框架提供了系列攔截器,該系列攔截器負(fù)責(zé)將HttpServletRequest請(qǐng)求參數(shù)解析出來(lái),傳入到Action中,并回調(diào)Action的excute方法來(lái)處理用戶請(qǐng)求。顯然,上面的處理過(guò)程是典型的AOP(面向切面編程)處理方式[6]。Spring2.5的特點(diǎn):Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IOC)和面向切面(AOP)的容器框架。輕量——從大小與開(kāi)銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個(gè)大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開(kāi)銷也是微不足道的。此外,Spring是非侵入式的:典型的Spring應(yīng)用中的對(duì)象不依賴Spring的特定類。控制反轉(zhuǎn)——Spring通過(guò)一種稱作控制反轉(zhuǎn)(IOC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IOC,一個(gè)對(duì)象依賴的其他對(duì)象會(huì)通過(guò)被動(dòng)的方式傳遞進(jìn)來(lái),而不是這個(gè)對(duì)象自己創(chuàng)建或者查找依賴對(duì)象[7]。面向切面——Spring提供了面向切面編程的支持,允許通過(guò)分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級(jí)服務(wù)進(jìn)行內(nèi)聚性的開(kāi)發(fā)。應(yīng)用對(duì)象只實(shí)現(xiàn)它們應(yīng)該做的——完成業(yè)務(wù)邏輯,僅此而已。它們并不負(fù)責(zé)其它的系統(tǒng)級(jí)關(guān)注點(diǎn),例如日志或事務(wù)支持。容器——Spring包含并管理應(yīng)用對(duì)象的配置和生命周期,在這個(gè)意義上它是一種容器,你可以配置你的每個(gè)bean如何被創(chuàng)建——基于一個(gè)可配置原型,你的bean可以創(chuàng)建一個(gè)單獨(dú)的實(shí)例或者每次需要時(shí)都生成一個(gè)新的實(shí)例——以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級(jí)的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用[8]。框架——Spring可以將簡(jiǎn)單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對(duì)象聲明式地組合,典型地是在一個(gè)XML文件里。Spring也提供了很多基礎(chǔ)功能,將應(yīng)用邏輯的開(kāi)發(fā)留給編程人員。Hibernate的特點(diǎn):Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP完成數(shù)據(jù)持久化的重任[9]。Hibernate的核心接口一共有5個(gè),分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個(gè)核心接口在任何開(kāi)發(fā)中都會(huì)用到。通過(guò)這些接口,不僅可以對(duì)持久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。Hibernate的配置文件是xml的格式,用來(lái)定制連接數(shù)據(jù)庫(kù),所以必須寫一個(gè)類和數(shù)據(jù)庫(kù)中的表形成映射,從而和JSP網(wǎng)頁(yè)動(dòng)態(tài)交互數(shù)據(jù)[10]。因此從技術(shù)上分析,開(kāi)發(fā)本系統(tǒng)是可行的。(2)需求可行性針對(duì)目前學(xué)術(shù)期刊處理的實(shí)際情況,人性化管理確實(shí)正在成為一個(gè)困擾編輯社的難題,本系統(tǒng)在此種情況下設(shè)計(jì)開(kāi)發(fā),是具有其價(jià)值和需求的。(3)操作可行性本系統(tǒng)的操作十分簡(jiǎn)單。以不同的角色進(jìn)入系統(tǒng)后,即擁有各角色才有的權(quán)限(系統(tǒng)管理員具有所以權(quán)限)。通過(guò)左邊樹(shù)形菜單欄可以方便的進(jìn)入各個(gè)功能模塊,操作簡(jiǎn)明易懂,十分方便用戶使用。2.2系統(tǒng)功能需求分析通過(guò)對(duì)任務(wù)書的仔細(xì)分析,本系統(tǒng)需要實(shí)現(xiàn)以下一些功能,分別是:前臺(tái)瀏覽刊物功能、作者工作區(qū)功能、專家工作區(qū)功能、編輯工作區(qū)功能和用戶管理功能。(1)前臺(tái)瀏覽刊物功能包括以下具體內(nèi)容:讀者既可以根據(jù)期刊標(biāo)題的關(guān)鍵字快速查找所需的學(xué)術(shù)期刊,也可以在分類列表中仔細(xì)尋找感興趣的期刊。每種期刊都會(huì)列出作者、刊名、學(xué)位授予單位、學(xué)位授予年度、專業(yè)、導(dǎo)師等一系列基本信息,方便讀者準(zhǔn)確閱讀學(xué)術(shù)期刊內(nèi)容。由于讀者權(quán)限較小,所以設(shè)計(jì)成只有閱讀期刊的權(quán)限。投稿作者如果對(duì)所投稿件有疑問(wèn)或者對(duì)系統(tǒng)有任何不懂可以在留言板中向管理員留言,留言內(nèi)容會(huì)準(zhǔn)確的反應(yīng)在用戶管理模塊中。(2)作者工作區(qū)功能包括以下具體內(nèi)容:主要分為在線投稿和查看稿件審核進(jìn)度兩個(gè)模塊。在線投稿時(shí)需按照投稿要求來(lái)投遞稿件,只有準(zhǔn)確的填寫了作者信息和稿件信息才會(huì)被錄入數(shù)據(jù)庫(kù)中供專家審核。作者可實(shí)時(shí)查看稿件審核進(jìn)度,以便完善和確認(rèn)稿件信息。(3)專家工作區(qū)功能包括以下具體內(nèi)容:審稿專家可在此模塊中審核稿件和查看審稿記錄。初始稿件的審稿狀態(tài)、編審?fù)ㄟ^(guò)、送審都為0,需要專家去處理這些稿件,除此之外專家還需給審核的稿件進(jìn)行評(píng)價(jià),從而方便編輯后續(xù)處理稿件。審核完成的稿件信息會(huì)在審稿記錄模塊中顯示出來(lái),確保能夠核對(duì)審稿信息。(4)編輯工作區(qū)功能包括以下具體內(nèi)容:主要有聯(lián)系投稿作者、上傳稿件和發(fā)布新聞通知等功能。專家送審過(guò)的稿件信息會(huì)在編輯工作區(qū)顯示,編輯根據(jù)專家意見(jiàn)及時(shí)通知作者修改、確認(rèn)、退稿、匯款等。只有專家審核通過(guò),才能上傳到前臺(tái)供讀者瀏覽。如果需要發(fā)布新聞通知,可在新聞通知區(qū)域填寫內(nèi)容,點(diǎn)擊發(fā)布后前臺(tái)主頁(yè)會(huì)以滾動(dòng)字幕形式展示給讀者相關(guān)信息。(5)用戶管理功能包括以下具體內(nèi)容:該模塊主要是管理員的相關(guān)操作,在此模塊中可以增、刪、查、改投稿作者和審稿專家的基本信息。除此之外,在回復(fù)留言模塊中,可以查看所有留言信息以便及時(shí)回復(fù)留言者。2.3系統(tǒng)功能模塊設(shè)計(jì)將系統(tǒng)設(shè)計(jì)成由相對(duì)獨(dú)立、單一功能的模塊組成的結(jié)構(gòu),從而縮小開(kāi)發(fā)范圍,防止錯(cuò)誤蔓延,提高系統(tǒng)的可靠性[11]。每個(gè)模塊可以單獨(dú)的被理解、編寫、調(diào)試、查錯(cuò)與修改,模塊結(jié)構(gòu)整體上具有較高的正確性、可理解性與可維護(hù)性。2.3.1系統(tǒng)總模塊設(shè)計(jì)根據(jù)系統(tǒng)的功能需求分析,本系統(tǒng)主要分為6個(gè)模塊,系統(tǒng)總體功能圖如圖2.1所示。主要系統(tǒng)模塊及功能描述如下:(1)公共模塊:包括用戶登錄和用戶注冊(cè)。(2)前臺(tái)頁(yè)面:主要分為期刊瀏覽和留言板兩個(gè)模塊。(3)作者入口:具有在線投稿與查看稿件審核進(jìn)度等模塊。(4)專家入口:具有審核稿件以及批閱意見(jiàn)等模塊。(5)編輯入口:主要有聯(lián)系作者與上傳新稿等模塊。(6)用戶管理:管理審稿專家和編輯的信息,包括信息的增、刪、改、查等,以及回復(fù)作者留言。學(xué)術(shù)論文刊物管理系統(tǒng)學(xué)術(shù)論文刊物管理系統(tǒng)前臺(tái)頁(yè)面作者入口專家入口編輯入口用戶管理公共模塊用戶登錄用戶注冊(cè)刊物瀏覽留言區(qū)域在線投稿稿件進(jìn)度審核稿件批閱意見(jiàn)聯(lián)系作者上傳新稿投稿作者審稿專家回復(fù)留言圖2.1系統(tǒng)總功能模塊圖2.3.2登錄模塊的設(shè)計(jì)登錄模塊的主要功能是驗(yàn)證用戶信息,判斷是否是合法用戶,成功才能進(jìn)入系統(tǒng)。用戶需要輸入用戶名、密碼,兩者均不能為空。輸入完畢,點(diǎn)擊登錄便會(huì)驗(yàn)證用戶名、密碼,只有當(dāng)輸入的數(shù)據(jù)和數(shù)據(jù)庫(kù)中的數(shù)據(jù)一致時(shí)才能登錄成功,否則返回登錄界面。登錄成功后系統(tǒng)便會(huì)根據(jù)此用戶名所屬的角色分配其相應(yīng)的功能模塊,不屬于此角色的功能進(jìn)入系統(tǒng)后是看不到的,避免非法操作系統(tǒng)模塊,破壞系統(tǒng)的安全性。登錄模塊的程序流程如圖2.2所示。否否是否是開(kāi)始登錄提示用戶名、密碼不能為空是否輸入用戶名、密碼用戶名、密碼是否正確提示用戶名、密碼不正確進(jìn)入系統(tǒng),登錄結(jié)束圖2.2登錄程序流程圖2.3.3注冊(cè)模塊的設(shè)計(jì)注冊(cè)模塊主要是用來(lái)注冊(cè)讀者和投稿作者相關(guān)信息,從而實(shí)現(xiàn)登錄系統(tǒng)。用戶需輸入用戶名,必須是6-20位的字符,如果不正確會(huì)提示不合規(guī)范重新輸入。密碼和用戶名類似,再次輸入的密碼必須和第一次相同,否則也會(huì)提示兩次密碼不相同請(qǐng)重新輸入。下拉列框需選擇您的角色,主要分讀者用戶和投稿作者。讀者只具有瀏覽期刊的功能,投稿作者權(quán)限稍大,能夠在線投稿以及查看稿件審核進(jìn)度。相關(guān)信息填寫完成后,點(diǎn)擊立即注冊(cè)便會(huì)跳轉(zhuǎn)到登錄首頁(yè)。具體的注冊(cè)流程如圖2.3所示。開(kāi)始注冊(cè)開(kāi)始注冊(cè)用戶名是否為空長(zhǎng)度是否合規(guī)范密碼是否為空長(zhǎng)度是否合規(guī)范第二次密碼是否與第一次相同選擇角色(讀者/作者)結(jié)束注冊(cè)并跳轉(zhuǎn)到登錄頁(yè)面提示用戶名為空或者不合規(guī)范否提示密碼為空或者不合規(guī)范否提示第二次密碼不相同是是是否圖2.3注冊(cè)程序流程圖2.3.4前臺(tái)頁(yè)面模塊的設(shè)計(jì)前臺(tái)頁(yè)面模塊主要功能有:刊物瀏覽、留言板等功能。具體的功能模塊圖如圖2.4所示。前臺(tái)頁(yè)面前臺(tái)頁(yè)面刊物瀏覽留言板查找所需期刊顯示期刊分類顯示新聞通知期刊詳細(xì)內(nèi)容填寫留言信息填寫回復(fù)方式圖2.4前臺(tái)頁(yè)面功能模塊圖刊物瀏覽模塊功能比較簡(jiǎn)單,考慮到是給讀者用戶瀏覽的,所以對(duì)數(shù)據(jù)庫(kù)的直接操作不是很多,只有一些普通的查看、查找功能。讀者不僅可以查看自己感興趣的期刊,還可以從新聞通知得知編輯社最新動(dòng)態(tài)。留言板模塊中用戶需填寫準(zhǔn)確的姓名、主題以及內(nèi)容,三者都不能為空,否則會(huì)提示重新填寫。填寫完留言信息后還需要選擇回復(fù)方式,系統(tǒng)管理員會(huì)默認(rèn)以站內(nèi)郵件方式回復(fù)留言者,除此之外還可以選擇手機(jī)短信或者Email回復(fù)。填寫完所有信息后點(diǎn)擊“提交留言內(nèi)容”,管理員模塊便可以看到留言內(nèi)容。留言板程序流程圖如圖2.5所示。開(kāi)始留言開(kāi)始留言填寫留言者姓名(不填則默認(rèn)登錄名)是否填寫了留言主題、內(nèi)容是否選擇了回復(fù)方式提示主題、內(nèi)容不能為空提示回復(fù)方式不能為空是是否否提交留言,結(jié)束留言圖2.5留言板程序流程圖2.3.5作者入口模塊的設(shè)計(jì)作者模塊主要實(shí)現(xiàn)了在線投稿功能和查看稿件審核進(jìn)度功能。在線投稿功能模塊圖如圖2.6所示。在線投稿在線投稿填寫作者信息填寫稿件信息上傳稿件全文填寫擴(kuò)展信息完成在線投稿稿件作者信息稿件聯(lián)系人稿件類屬信息稿件基本信息內(nèi)容數(shù)量信息基金資助情況稿件創(chuàng)新點(diǎn)投稿信全文附件繼續(xù)投遞稿件查看稿件狀態(tài)圖2.6在線投稿功能模塊圖在線投稿分為5步:填寫作者信息,填寫稿件信息,填寫稿件擴(kuò)展信息,上傳全文,完成投稿。每步都必須按照要求填寫才能執(zhí)行下一步,全部填寫完畢方可完成投稿。稿件進(jìn)度查詢我的稿件箱站內(nèi)信息稿件進(jìn)度查詢我的稿件箱站內(nèi)信息系統(tǒng)服務(wù)審理中的稿件待修改的稿件待確認(rèn)的稿件已發(fā)表的稿件已退回的稿件已收到的消息已發(fā)送的消息個(gè)人基本信息編輯部信息圖2.7稿件進(jìn)度查詢功能模塊圖2.3.6專家入口模塊的設(shè)計(jì)審稿專家模塊主要實(shí)現(xiàn)了審核稿件功能和查看審稿記錄功能。專家入口功能模塊圖如圖2.8所示。專家入口專家入口審核稿件審稿記錄查找所需稿件審核稿件全文刪除所選稿件查看已審稿件圖2.8專家入口功能模塊圖審核稿件模塊中顯示的是作者所投遞的有效的稿件,專家可以根據(jù)情況查找特定的稿件來(lái)進(jìn)行快速審核,初始審稿狀態(tài)都為空,專家需點(diǎn)擊“審核稿件”來(lái)進(jìn)行審理稿件,審核完成前需選擇是否送審,如果送審了,稿件會(huì)被傳遞到編輯部,編輯人員可以根據(jù)專家的評(píng)價(jià)來(lái)處理稿件。發(fā)現(xiàn)有不合格稿件或者是誤傳的稿件也可以及時(shí)刪除,優(yōu)化系統(tǒng)資源。審稿記錄模塊中可以查看已經(jīng)審核通過(guò)的稿件,以便后續(xù)查證。審核稿件程序流程圖如圖2.9所示。審核稿件開(kāi)始審核稿件開(kāi)始審核稿件標(biāo)題是否合格審核稿件內(nèi)容是否合格選擇審稿、編審、送審狀態(tài)審稿結(jié)束提出修改標(biāo)題的相關(guān)審稿意見(jiàn)提出修改內(nèi)容的相關(guān)審稿意見(jiàn)否否是是圖2.9審核稿件程序流程圖2.3.7編輯入口模塊的設(shè)計(jì)編輯模塊主要實(shí)現(xiàn)了通知作者、上傳新稿和發(fā)布新聞通知功能。編輯入口功能模塊圖如圖2.10所示。編輯入口通知作者上傳新稿發(fā)布新聞編輯入口通知作者上傳新稿發(fā)布新聞查找所需稿件查看專家評(píng)價(jià)選擇通知方式上傳合格稿件更新新聞通知通知作者模塊顯示的是專家送審的稿件信息,編輯可以根據(jù)專家給予的評(píng)價(jià)通過(guò)站內(nèi)郵件形式通知作者修改、確認(rèn)、退回、匯稿費(fèi)等。如果稿件得到專家同意認(rèn)為可以錄用,編輯可以將其上傳至前臺(tái)頁(yè)面供讀者閱覽。編輯部還可以在發(fā)布新聞欄填寫最新通知,內(nèi)容將以滾動(dòng)字幕形式顯示在刊物瀏覽模塊。通知作者程序流程圖如圖2.11所示。通知作者開(kāi)始判斷稿件是否合格判斷稿件能否上傳上傳稿件至前臺(tái)通知作者開(kāi)始判斷稿件是否合格判斷稿件能否上傳上傳稿件至前臺(tái)通知作者修改否是通知作者確認(rèn)并匯稿費(fèi)否是修改后重新上傳至專家處判斷是否按要求修改了送審至編輯處退回稿件是否通知作者結(jié)束2.3.8用戶管理模塊的設(shè)計(jì)用戶管理模塊主要實(shí)現(xiàn)了投稿作者信息管理功能和審稿專家信息管理功能,普通角色沒(méi)有管理這個(gè)模塊的權(quán)限,只有系統(tǒng)管理員才有這個(gè)權(quán)限。其中投稿作者是通過(guò)注冊(cè)獲得賬號(hào),而審稿專家和編輯持管理員給予的賬號(hào)進(jìn)入系統(tǒng)。用戶管理功能模塊圖如圖2.12所示。用戶管理投稿作者信息管理審稿專家信息管理添加投稿作者用戶管理投稿作者信息管理審稿專家信息管理添加投稿作者刪除投稿作者查找投稿作者修改投稿作者添加審稿專家刪除審稿專家查找審稿專家修改審稿專家2.4數(shù)據(jù)庫(kù)概要設(shè)計(jì) 通過(guò)對(duì)系統(tǒng)功能和業(yè)務(wù)流程的仔細(xì)調(diào)查、分析,本系統(tǒng)的數(shù)據(jù)需求包括:投稿作者信息、稿件信息、新聞通知信息、留言信息、審稿專家信息、權(quán)限信息、角色信息、角色對(duì)應(yīng)權(quán)限信息、期刊信息、用戶信息等。投稿作者信息包括:投稿作者ID、作者姓名、性別、省份、城市、電話、手機(jī)、email、郵政編碼、具體聯(lián)系方式、單位、登錄權(quán)限、角色I(xiàn)D。稿件信息包括:稿件ID、投稿作者姓名、學(xué)位授予單位、稿件聯(lián)系人、電話、學(xué)位授予年度、導(dǎo)師、郵政編碼、詳細(xì)地址、學(xué)科領(lǐng)域、研究方向、研究層次、稿件標(biāo)題、英文標(biāo)題、摘要、英文摘要、關(guān)鍵字、英文關(guān)鍵字、頁(yè)數(shù)、字?jǐn)?shù)、表格數(shù)、圖片數(shù)、基金、基金名稱、創(chuàng)新點(diǎn)、投稿信、上傳類型、文件名、稿件狀態(tài)、編審?fù)ㄟ^(guò)、上傳時(shí)間、專家評(píng)價(jià)、送審狀態(tài)、標(biāo)題修改、內(nèi)容修改、具體操作。新聞通知信息包括:新聞通知ID、新聞通知內(nèi)容。留言信息包括:留言ID、留言者姓名、留言者單位、留言主題、留言內(nèi)容、手機(jī)、email、電話、回復(fù)內(nèi)容。審稿專家信息包括:審稿專家ID、審稿專家用戶名、審稿專家真實(shí)姓名、性別、年齡、電話、省份、城市、郵政編碼、具體聯(lián)系方式、登錄權(quán)限、角色I(xiàn)D。權(quán)限信息包括:權(quán)限ID、父類權(quán)限ID、權(quán)限類型、權(quán)限內(nèi)容、權(quán)限路徑、權(quán)限提示。角色信息包括:角色I(xiàn)D、角色名、角色描述、登錄權(quán)限。角色對(duì)應(yīng)權(quán)限信息包括:角色對(duì)應(yīng)權(quán)限ID、角色I(xiàn)D、權(quán)限ID。期刊信息:期刊ID、標(biāo)題、內(nèi)容、英文摘要、作者姓名、學(xué)位授予單位、學(xué)位授予年度、研究層次、專業(yè)、導(dǎo)師。用戶信息:用戶ID、用戶名、密碼、角色I(xiàn)D、登錄權(quán)限。信息間的聯(lián)系,可以用E-R圖表示。如圖2.13所示。新聞通知新聞通知編輯作者審稿專家稿件通知送審?fù)端蛯徍税l(fā)布nmnmnm1nmn發(fā)布用戶名密碼聯(lián)系方式編輯編號(hào)作者編號(hào)姓名省份城市性別聯(lián)系方式……專家編號(hào)用戶名姓名聯(lián)系方式單位……上傳文件稿件編號(hào)稿件類型稿件狀態(tài)摘要11文件類型文件編號(hào)上傳日期1n專家意見(jiàn)留言發(fā)布管理員回復(fù)1nn1編號(hào)主題內(nèi)容聯(lián)系方式n1n圖2.13系統(tǒng)E-R圖2.5數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)化為與選用的DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)[12]。數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)的設(shè)計(jì)分為兩個(gè)步驟:首先將概念設(shè)計(jì)所得的E-R圖轉(zhuǎn)化為關(guān)系模型,也就是將實(shí)體、屬性和聯(lián)系都轉(zhuǎn)化為相應(yīng)的關(guān)系模型,主要包括一對(duì)一關(guān)系的轉(zhuǎn)換、一對(duì)多關(guān)系的轉(zhuǎn)化和多對(duì)多關(guān)系的轉(zhuǎn)化,最后再對(duì)關(guān)系模型進(jìn)行優(yōu)化本系統(tǒng)對(duì)表進(jìn)行了適當(dāng)?shù)奶幚恚瑫r(shí)聯(lián)系了實(shí)際情況,增加了一些必要的冗余數(shù)據(jù)項(xiàng)。好處如下:(1)降低程序復(fù)雜度。數(shù)據(jù)庫(kù)的規(guī)范化其實(shí)實(shí)質(zhì)是概念的單一化,所以規(guī)范化后的數(shù)據(jù)庫(kù)的表一般都較小,使得表中相關(guān)列最少,這雖然增強(qiáng)了數(shù)據(jù)庫(kù)的可維護(hù)性,但在系統(tǒng)要完成一些檢索時(shí),需要用復(fù)雜的聯(lián)接才能實(shí)現(xiàn)。這種操作需要較大開(kāi)銷,必將導(dǎo)致性能的下降,此時(shí)適當(dāng)增加數(shù)據(jù)的冗余是個(gè)不錯(cuò)的選擇。(2)提高系統(tǒng)的性能。數(shù)據(jù)庫(kù)層數(shù)據(jù)冗余無(wú)論采用何種體系結(jié)構(gòu),冗余數(shù)據(jù)都可以憑數(shù)據(jù)副本的方式出現(xiàn),副本的存在使許多應(yīng)用可以“本地性”,大大減少了網(wǎng)絡(luò)通信,提高系統(tǒng)的性能;再有當(dāng)某一節(jié)點(diǎn)出現(xiàn)故障時(shí),由于拷貝副本的存在,系統(tǒng)仍可以對(duì)此副本操作,而不至于因一處故障而使系統(tǒng)無(wú)法使用,所示適當(dāng)?shù)娜哂嗍呛苡斜匾摹8鶕?jù)E-R圖可以設(shè)計(jì)出10張表,分別為投稿作者信息表、稿件信息表、新聞通知信息表、留言信息表、審稿專家信息表、權(quán)限信息表、角色信息表、角色對(duì)應(yīng)權(quán)限信息表、期刊信息表、用戶信息表。如表2.1—2.10所示。表2.1投稿作者信息表authorinfo字段名稱數(shù)據(jù)類型主鍵可否為空描述authorIdint是(自增)否作者IDauthorNamevarchar否作者姓名sexvarchar可性別provincevarchar可省份cityvarchar可城市cellphonevarchar可電話phonevarchar可手機(jī)emailvarchar可郵箱postvarchar可郵政編碼contactvarchar可具體聯(lián)系方式workvarchar可單位flaguserIdintint否否登錄權(quán)限編輯ID表2.2稿件信息表confile字段名稱數(shù)據(jù)類型主鍵可否為空描述contributeIdint是(自增)否稿件IDauthoredthorNameworklinkmanphonecellphobeemailpostaddressintvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarchar否可可可可可可可可作者ID投稿作者姓名學(xué)位授予單位稿件聯(lián)系人電話郵政編碼詳細(xì)地址學(xué)科領(lǐng)域研究方向表2.2稿件信息表confile(續(xù))researchsubjectleveltitleengtitleabstractengabstractkeywordengkeywordpagewordtabpicfundfundNamecreationlettercontypefileFileNamefstatusfpassftimefadvicefsendfmodtitlefmodconfoperationreviewerIduserIdvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarcharintintintintintvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarcharinint可可可可可可可可可可可可可可可可可可可可可可可可可可可否否研究方向主題研究層次稿件標(biāo)題英文標(biāo)題摘要英文摘要關(guān)鍵字英文關(guān)鍵字頁(yè)數(shù)字?jǐn)?shù)表格數(shù)圖片數(shù)是否基金基金名稱創(chuàng)新點(diǎn)稿件信上傳類型文件名審稿狀態(tài)編審?fù)ㄟ^(guò)上傳時(shí)間審稿意見(jiàn)送審狀態(tài)主題修改內(nèi)容修改具體通知內(nèi)容審稿專家ID編輯ID表2.3新聞通知信息表event字段名稱數(shù)據(jù)類型主鍵可否為空描述eventIdint是(自增)否新聞通知IDcontent varchar可具體內(nèi)容表2.4留言信息表leaveword字段名稱數(shù)據(jù)類型主鍵可否為空描述leaveIdleaveNameintvarchar是(自增)否可留言ID留言者姓名表2.4留言信息表leaveword(續(xù))字段名稱數(shù)據(jù)類型主鍵可否為空描述workcellphonevarcharvarchar可可單位電話emailphonereplysubjectcontentvarcharvarcharvarcharvarcharvarchar可可可可可郵箱短信回復(fù)內(nèi)容留言主題留言內(nèi)容表2.5審稿專家信息表reviewerinfo字段名稱數(shù)據(jù)類型主鍵可否為空描述reviewerIdint是(自增)否審稿專家IDreviewerUnamevarchar可審稿專家用戶名reviewerNamevarchar可真實(shí)姓名sexvarchar可性別ageint可年齡telvarchar可電話provincevarchar可省份cityvarchar可城市postvarchar可郵政編碼contactvarchar可具體聯(lián)系方式flagint可登錄權(quán)限userIdint可編輯ID表2.6權(quán)限信息表rightinfo字段名稱數(shù)據(jù)類型主鍵可否為空描述rightCodevarchar是否權(quán)限等級(jí)編號(hào)rightParentCodevarchar可父權(quán)限等級(jí)編號(hào)rightTyperightTextrightUrlrightTipvarcharvarcharvarcharvarchar可可可可權(quán)限類型權(quán)限內(nèi)容權(quán)限路徑權(quán)限提示表2.7角色信息表roleinfo字段名稱數(shù)據(jù)類型主鍵可否為空描述roleIdint是(自增)否角色I(xiàn)DroleNameroleDescflagvarcharvarcharint可可可角色名稱角色描述登錄權(quán)限表2.8角色對(duì)應(yīng)權(quán)限信息表roleright字段名稱數(shù)據(jù)類型主鍵可否為空描述rr_IdroleIdrightCodeintintvarchar是(自增)否可可角色對(duì)應(yīng)權(quán)限ID角色I(xiàn)D權(quán)限等級(jí)編號(hào)表2.9期刊信息表thesis字段名稱數(shù)據(jù)類型主鍵可否為空描述thesisIdint是(自增)否期刊IDchineseNamevarchar否期刊標(biāo)題contentabstractauthorNamedgUnitagAnnuallevelmajorsupervisorvarcharvarcharvarcharvarcharvarcharvarcharvarcharint可可可可可可可可期刊內(nèi)容英文摘要作者姓名學(xué)位授予單位學(xué)位授予年度研究層次專業(yè)導(dǎo)師表2.10用戶信息表userinfo字段名稱數(shù)據(jù)類型主鍵可否為空描述userIdint是(自增)否用戶IDuserNamevarchar可用戶名pwdvarchar可用戶密碼roleIdint可角色I(xiàn)Dflagint可登錄權(quán)限2.6系統(tǒng)環(huán)境需求本系統(tǒng)對(duì)環(huán)境的需求,可以分為三個(gè)方面:數(shù)據(jù)庫(kù)環(huán)境、應(yīng)用程序開(kāi)發(fā)環(huán)境、運(yùn)行環(huán)境。(1)數(shù)據(jù)庫(kù)環(huán)境本系統(tǒng)使用的數(shù)據(jù)庫(kù)是MySQL,它是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi)。這樣就增加了速度并提高了靈活性。NavicatforMySQL是一個(gè)強(qiáng)大的MySQL數(shù)據(jù)庫(kù)服務(wù)器管理和開(kāi)發(fā)工具。它可以與任何3.21或以上版本的MySQL一起工作,并支持大部分的MySQL最新功能,包括觸發(fā)器、存儲(chǔ)過(guò)程、函數(shù)、事件、視圖、管理用戶等等。它不僅對(duì)專業(yè)開(kāi)發(fā)人員來(lái)說(shuō)是非常尖端的技術(shù),而且對(duì)于新手來(lái)說(shuō)也易學(xué)易用[13]。(2)應(yīng)用程序開(kāi)發(fā)環(huán)境本系統(tǒng)采用的開(kāi)發(fā)工具是MyEclipseforSpring8.6,它提供了對(duì)SpringMVC的強(qiáng)大支持功能,不僅針對(duì)Spring的專業(yè)編輯器,還針對(duì)Spring項(xiàng)目的創(chuàng)建向?qū)Чδ?,使得Spring開(kāi)發(fā)者可以更輕松的通過(guò)MyEclipseforSpring8.6快速創(chuàng)建一個(gè)基于Spring的應(yīng)用。除此之外MyEclipseforSpring8.6也提供了MyEclipse8.6全部特性支持,這讓MyEclipseforSpring8.6比起MyEclipse8.6幾乎是有過(guò)之而無(wú)不及[14]。(3)運(yùn)行環(huán)境本系統(tǒng)開(kāi)發(fā)時(shí)采用的操作系統(tǒng)是Windows7。運(yùn)行時(shí),推薦內(nèi)存512MB以上,處理器采用主頻500Mhz以上的處理器。硬盤空間要求至少要512M。服務(wù)器可以使用Tomcat6.0以上版本,也可以使用MyEclipseforSpring8.6自帶的Tomcat服務(wù)器。3系統(tǒng)的實(shí)現(xiàn)總體設(shè)計(jì)結(jié)束后,就要進(jìn)行系統(tǒng)的實(shí)現(xiàn),即進(jìn)行編碼。本章主要介紹一些核心模塊的實(shí)現(xiàn),如數(shù)據(jù)庫(kù)連接、用戶登錄、在線投稿、審核稿件等功能。3.1數(shù)據(jù)庫(kù)連接本系統(tǒng)通過(guò)spring整合hibernate,再使用hibernate去連接數(shù)據(jù)庫(kù),所以無(wú)需配置hibernate.cfg.xml文件,使用的是spring的hibernateTemplate的方法。首先,需要在文件applicationContext.xml中配置數(shù)據(jù)源(dataSource)bean和session工廠(sessionFactory)bean[15]。其中hibernate.dialect是hibernate的方言,表示允許hibernate針對(duì)特定的關(guān)系數(shù)據(jù)庫(kù)來(lái)生成優(yōu)化的sql語(yǔ)句;hibernate.connection.driver_class是連接數(shù)據(jù)庫(kù)的JDBC驅(qū)動(dòng)類。hibernate.connection.url是連接數(shù)據(jù)庫(kù)的絕對(duì)路徑;hibernate.connection.username是連接數(shù)據(jù)庫(kù)時(shí)使用的用戶名;hibernate.connection.password是連接數(shù)據(jù)庫(kù)的密碼;hibernate.show_sql是輸出所有sql語(yǔ)句到控制臺(tái);hibernate.format_sql在log和console中打印出規(guī)范的的SQL語(yǔ)句。以下是applicationContext.xml文件中關(guān)于數(shù)據(jù)庫(kù)連接的具體內(nèi)容:<!--DataSource--><beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <propertyname="driverClassName"value="com.mysql.jdbc.Driver"/> <propertyname="url"value="jdbc:mysql://localhost:3306/academic?useunicode=true&characterEncoding=utf-8"/> <propertyname="username"value="root"/> <propertyname="password"value="123"/></bean><!--SessionFactory--><beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <propertyname="dataSource"ref="dataSource"/> <propertyname="hibernateProperties"> <props> <propkey="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <propkey="hibernate.show_sql">true</prop> <propkey="hibernate.format_sql">true</prop> </props> </property> <propertyname="mappingDirectoryLocations"> <list> <value>classpath:com/aca/entity</value> </list> </property></bean><propertyname="hibernate.format_sql">true</property>3.2登錄模塊的實(shí)現(xiàn)用戶進(jìn)入登錄頁(yè)面時(shí),鼠標(biāo)的焦點(diǎn)會(huì)默認(rèn)停留在用戶名輸入框內(nèi),即在頁(yè)面加載的時(shí)候調(diào)用onload="myfocus()"方法,從而等待用戶的輸入。點(diǎn)擊登錄按鈕時(shí),會(huì)調(diào)用user.js文件中的checkLogin()方法,首先去掉用戶名中的空格,然后再判斷是否為空,如果用戶名為空,則提示“用戶名不能為空”,如果密碼為空,同樣提示“密碼不能為空”,最后判斷用戶名、密碼是否正確,如果正確則進(jìn)入系統(tǒng),否則返回登錄界面。如果是第一次登錄本系統(tǒng)的讀者、投稿作者沒(méi)有賬號(hào),可以點(diǎn)擊“注冊(cè)”按鈕,跳轉(zhuǎn)到注冊(cè)界面。user.js文件中的與登錄有關(guān)的js代碼如下:Stotype.trim=function()//去掉空格{returnthis.replace(/(^\s*)|(\s*$)/g,"");}functioncheckLogin()//檢查用戶是否按要求輸入登錄信息{ if($("#username").val().trim()=="") { alert('用戶名不能為空'); document.getElementById("username").focus(); returnfalse;} if($("#password").val().trim()=="") { alert('密碼不能為空'); document.getElementById("password").focus(); returnfalse;}}當(dāng)?shù)卿浶畔⒍驾斎胪瓿珊?,點(diǎn)擊“登錄”按鈕,系統(tǒng)會(huì)執(zhí)行user/user!doLogin.action,首先在struts.xml中找到name為"user"的action配置文件,再執(zhí)行UserinfoAction類中的doLogin方法,最后doLogin方法調(diào)用checkUser(Userinfou)業(yè)務(wù),實(shí)現(xiàn)和數(shù)據(jù)庫(kù)交互。登錄頁(yè)面如圖3.1所示。圖3.1登錄頁(yè)面核心代碼如下:<!--UserinfoAction-->publicStringdoLogin()throwsException{Userinfou=userService.checkUser(user);//調(diào)用checkUser業(yè)務(wù)if(u==null){return"index";//用戶不存在返回登錄頁(yè)面}//把用戶信息u寫入session中ServletActionContext.getRequest().getSession().setAttribute("USER",u);//根據(jù)角色編號(hào)得到角色信息introleId=u.getRoleinfo().getRoleId(); StringmenuStr= buildDTreeMenuString(roleService.getRoleWithRightsByRoleId(roleId));ServletActionContext.getRequest().getSession().setAttribute("MENU_STRING",menuStr);return"main";}<!--UserServiceImpl_H-->publicUserinfocheckUser(Userinfou){Stringhql="fromUserinfouleftouterjoinfetchu.roleinfowhereu.flag!=-1andu.userName=?andu.pwd=?";//查詢數(shù)據(jù)庫(kù),驗(yàn)證用戶名、密碼Object[]args=newObject[]{u.getUserName(),u.getPwd()};List<Userinfo>users=commonDao.list(hql,args);if(users==null||users.size()==0){returnnull;}returnusers.get(0);}3.3注冊(cè)模塊的實(shí)現(xiàn)注冊(cè)模塊與登錄模塊類似,進(jìn)入注冊(cè)頁(yè)面后鼠標(biāo)的焦點(diǎn)會(huì)默認(rèn)停留在登錄名處,調(diào)用的方法也是onload="myfocus()"。用戶需填寫登錄名、密碼、密碼確認(rèn)、郵箱等信息,每項(xiàng)都不能為空,否則會(huì)提示重新輸入,并且焦點(diǎn)會(huì)落到出錯(cuò)的輸入框中。具體驗(yàn)證代碼如下:functioncheckRegister(){ varf=document.myform; q=f.emails.value.indexOf("@"); if($("#uname").val().trim()==""||($("#uname").val().length<6)) { alert('請(qǐng)輸入至少6個(gè)字符的用戶名!'); document.getElementById("uname").focus();//對(duì)應(yīng)name獲得焦點(diǎn) returnfalse;} elseif($("#pwd").val().trim()==""||($("#pwd").val().length<6)) { alert('請(qǐng)輸入至少6個(gè)字符的密碼!'); document.getElementById("pwd").focus(); returnfalse;} elseif($("#pwd").val()!=($("#pwds").val())) { alert('2次密碼必須相同!'); document.getElementById("pwds").focus(); returnfalse;} elseif(q==-1){alert("請(qǐng)輸入有效的電子郵件地址"); f.emails.focus(); returnfalse;}}所有信息填寫完后點(diǎn)擊“立即注冊(cè)”,便會(huì)執(zhí)行user/user!doRegister.action,具體步驟與登錄類似,這里不做具體說(shuō)明。注冊(cè)界面如圖3.2所示。圖3.2注冊(cè)頁(yè)面3.4用戶管理模塊的實(shí)現(xiàn)用戶管理模塊涉及到投稿作者和審稿專家兩類用戶,由于都有增、刪、查、改操作,所以這里只詳細(xì)描述投稿作者模塊,審稿專家模塊與其類似。點(diǎn)擊左邊菜單欄“投稿作者”,便會(huì)列出所有投稿作者的詳細(xì)信息,系統(tǒng)管理員可以按照要求實(shí)現(xiàn)對(duì)用戶基本信息的管理。3.4.1增加投稿作者信息點(diǎn)擊新增圖標(biāo),系統(tǒng)首先會(huì)執(zhí)行onclick="toadd()"事件,然后去author.js文件中找到toadd()方法,接著根據(jù)author!toAdd.action找到AuthorAction中對(duì)應(yīng)的toAdd()方法,此方法中沒(méi)有對(duì)數(shù)據(jù)庫(kù)的操作,而是直接跳轉(zhuǎn)到新增頁(yè)面add.jsp,具體跳轉(zhuǎn)路徑在struts.xml中配置。相關(guān)代碼如下:<!—author.js-->functiontoadd(){window.location.href="author!toAdd.action";//跳轉(zhuǎn)到AuthorAction中的toAdd()內(nèi)}<!--AuthorAction-->publicStringtoAdd()throwsException{return"add";//跳轉(zhuǎn)到新增頁(yè)面}在新增頁(yè)面中,需填寫真實(shí)姓名、固定電話、郵箱等信息,帶*的為必填內(nèi)容,其它內(nèi)容選填。點(diǎn)擊“保存”,首先會(huì)執(zhí)行onclick="add()"事件,同樣需要先到author.js文件中找到對(duì)應(yīng)的方法,再去AuthorAction中找到doAdd()方法。該方法中會(huì)調(diào)用業(yè)務(wù)層內(nèi)的addUser方法,最終在addUser()內(nèi)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的增加操作。新增頁(yè)面如圖3.3所示。圖3.3新增投稿作者頁(yè)面核心代碼如下:<!—author.js-->functionadd()//添加投稿作者的驗(yàn)證操作{ varauthorName=document.addform["author.authorName"].value.trim(); vartel=document.addform["author.phone"].value.trim(); varpost=document.addform["author.post"].value.trim();//獲得郵編 varemail=document.addform["author.email"].value.trim(); varwork=document.addform["author.work"].value.trim(); varcontact=document.addform["author.contact"].value.trim(); if(authorName=="") { alert('真實(shí)姓名不能為空'); document.getElementById("name1").focus();//獲得焦點(diǎn) return;} if(tel=="") { alert('固定電話不能為空'); document.getElementById("name2").focus(); return;} …… document.addform.submit();}<!--AuthorAction-->publicStringdoAdd()throwsException{ booleanflag=authorService.addUser(author); HttpServletResponserespose=ServletActionContext.getResponse(); respose.setContentType("text/html;charset=utf-8");//設(shè)置編碼 PrintWriterout=respose.getWriter(); if(flag){out.println("<script>alert('保存成功!')</script>"); out.println("<script>window.location.href='author!toList.action';</script>");} else{out.println("<script>alert('保存失敗!')</script>");}returnnull;}添加成功后頁(yè)面如圖3.4所示。圖3.4添加成功后的頁(yè)面3.4.2刪除投稿作者信息當(dāng)點(diǎn)擊刪除圖標(biāo)時(shí)會(huì)彈出確認(rèn)框,詢問(wèn)是否確認(rèn)刪除所選的投稿作者信息,如果選擇取消,則返回,不刪除所選信息。如果選擇確定,則執(zhí)行author!del.action?author.authorId并根據(jù)struts.xml文件中的配置,找到del()方法,調(diào)用業(yè)務(wù)層的deleteAuthorById(cId)方法,實(shí)現(xiàn)刪除操作。刪除頁(yè)面如圖3.5所示。圖3.5刪除投稿作者刪除成功后顯示的頁(yè)面如圖3.6所示。圖3.6刪除成功后的頁(yè)面核心代碼如下:<!--AuthorAction-->publicStringdel()throwsException{intcId=author.getAuthorId(); authorService.deleteAuthorById(cId); HttpServletResponseresponse=ServletActionContext.getResponse(); response.setContentType("text/html;charset=utf-8"); PrintWriterout=response.getWriter(); out.println("<script>alert('刪除成功!')</script>");out.println("<script>window.location.href='author!toList.action';</script>");returnnull;}<!--AuthorServiceImpl_H-->publicvoiddeleteAuthorById(intcId){commonDao.del(Authorinfo.class,cId);}3.4.3查找投稿作者信息首先在輸入框內(nèi)輸入需要查找的投稿作者姓名的關(guān)鍵字,然后點(diǎn)擊查找圖標(biāo),便會(huì)執(zhí)行user/author!toList.action?spb.currPage=1,其中spb是分頁(yè)插件,spb.currPage=1表示查詢結(jié)果默認(rèn)顯示在第一頁(yè)中。然后根據(jù)struts.xml文件中的配置找到AuthorAction中對(duì)應(yīng)的toList()方法,接著調(diào)用業(yè)務(wù)層的listByPage()方法,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的查詢操作。查詢頁(yè)面如圖3.7所示。圖3.7查詢投稿作者查詢結(jié)果顯示如圖3.8所示。圖3.8查詢結(jié)果核心代碼如下:<!--AuthorAction-->publicStringtoList()throwsException{ SPageBeanspb=newSPageBean(); initSPB(spb); authorService.listByPage(author,spb); ServletActionContext.getRequest().setAttribute("SPB",spb); return"list";}<!--AuthorServiceImpl_H-->publicvoidlistByPage(Authorinfoauthor,SPageBeanspb){ Stringhql="fromAuthorinfoauthorwhere1=1"; if(author!=null){ if(!SystemUtil.isBlankString(author.getAuthorName())){ hql+="andauthor.authorNamelike'%"+author.getAuthorName()+"%'";}}commonDao.listByPage(hql,spb);}3.4.4修改投稿作者信息點(diǎn)擊需要修改的投稿作者對(duì)應(yīng)的圖標(biāo),便會(huì)執(zhí)行author!toEdit.action?author.authorId然后根據(jù)struts.xml文件的配置,會(huì)先跳轉(zhuǎn)到edit.jsp頁(yè)面。edit頁(yè)面會(huì)顯示所選擇的投稿作者的相關(guān)信息,管理員可以在需要修改的輸入框中刪除原來(lái)的信息,填寫新的信息。確認(rèn)修改完畢時(shí)點(diǎn)擊“保存”按鈕,首先執(zhí)行user/author!doEdit.action,然后根據(jù)struts.xml文件中的配置,找到AuthorAction中對(duì)應(yīng)的doEdit()方法,該方法調(diào)用業(yè)務(wù)層的updateAuthorWithEdit()方法,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的修改操作。修改頁(yè)面如圖3.9所示。圖3.9修改投稿作者姓名修改成功后顯示的頁(yè)面如圖3.10所示。圖3.10修改姓名成功后的頁(yè)面核心代碼如下:<!--AuthorAction-->publicStringdoEdit()throwsException{ authorService.updateAuthorWithEdit(author); HttpServletResponseresponse=ServletActionContext.getResponse(); response.setContentType("text/html;charset=utf-8"); PrintWriterout=response.getWriter(); out.println("<script>alert('編輯成功!')</script>"); out.println("<script>window.location.href='author!toList.action';</script>"); returnnull;}<!--AuthorServiceImpl_H-->publicvoidupdateAuthorWithEdit(Authorinfoc){ Authorinfoa=(Authorinfo)commonDao.get(Authorinfo.class,c.getAuthorId()); a.setAuthorName(c.getAuthorName());a.setSex(c.getSex());……}3.5在線投稿模塊的實(shí)現(xiàn)投稿作者點(diǎn)擊左側(cè)“在線投稿”欄目,首先會(huì)看到投稿分為5步。作者姓名默認(rèn)是登錄名,值是從session中獲得,一般情況下無(wú)需修改。接著要填寫稿件聯(lián)系人信息,帶*為必填內(nèi)容,具體表單驗(yàn)證都在contribute.js文件中。每次點(diǎn)擊“下一步”時(shí),會(huì)執(zhí)行user/contribute!toList1.action?contributeId,首先根據(jù)struts.xml中相關(guān)配置,找到Contribute中的toList1()方法,然后調(diào)用業(yè)務(wù)層的addConfile和updateConfile方法,最終實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中confile表的新增和更新操作。這里要注意的是由于每次執(zhí)行下一步時(shí),并不是重新添加一個(gè)稿件,而是接著上一步完善信息,所以配置applicationContext.xml時(shí)Contribute的屬性并沒(méi)有寫上scope="prototype",此屬性不寫上時(shí)表示共用一個(gè)action。部分在線投稿頁(yè)面如圖3.11所示。圖3.11部分在線投稿頁(yè)面當(dāng)5步全部按要求填寫完后就可以確認(rèn)投稿,所投的稿件便會(huì)在專家工作區(qū)內(nèi)顯示出來(lái),此時(shí)稿件便處于等待審核狀態(tài),具體狀態(tài)可在“我的審核進(jìn)度”中查看。核心代碼如下:<!--Contribute-->publicStringtoList()throwsException{return"list"; }//第一步publicStringtoList1()throwsException {confileService.addConfile(confile);return"list1"; }//第二步publicStringtoList2()throwsException {confileService.updateConfile(confile);return"list2";}//第三步publicStringtoList3()throwsException {confileService.updateConfile1(confile);return"list3";}//第四步publicStringtoList4()throwsException{return"list4";}//第五步<!--ConfileServiceImpl_H-->publicbooleanaddConfile(Confilec){ Serializableid=commonDao.add(c);//新增操作returnid!=null;}3.6審核稿件模塊的實(shí)現(xiàn)點(diǎn)擊“審理稿件”字樣開(kāi)始審核稿件,首先會(huì)跳出一個(gè)新的頁(yè)面,專家可在修改標(biāo)題、修改內(nèi)容一欄寫上應(yīng)該如何修改,以便作者查看,最后給稿件填寫意見(jiàn),如果審理完成則選擇“送審”,此稿件便會(huì)傳遞到編輯部,編輯再進(jìn)一步聯(lián)系作者。系統(tǒng)首先執(zhí)行verity!toVerity.action?confile.contributeId,根據(jù)struts.xml文件中的配置跳轉(zhuǎn)到開(kāi)始審核頁(yè)面,然后執(zhí)行user/verity!doVerity.action?contributeId,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的更新操作。頁(yè)面參數(shù)設(shè)置:window.open表示彈出新窗口的命令;height表示窗口高度;width表示窗口寬度;top表示窗口距離屏幕上方的象素值;left表示窗口距離屏幕左側(cè)的象素值;toolbar表示是否顯示工具欄,yes為顯示;menubar,scrollbars表示菜單欄和滾動(dòng)欄;resizable表示是否允許改變窗口大小,yes為允許;location=表示是否顯示地址欄,yes為允許;status表示是否顯示狀態(tài)欄內(nèi)的信息(通常是文件已經(jīng)打開(kāi)),yes為允許[16]。審核稿件頁(yè)面如圖3.12所示。圖3.12審核稿件界面核心代碼如下:functionverity(contributeId){ window.open("verity!toVerity.action?confile.contributeId="+contributeId,"Sample","fullscreen=no,location=no,toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width=550,height=280,left=400,top=300")}<!--VerityAction-->publicStringdoVerity()throwsException{ verityService.updateConfile3(confile); HttpServletResponserespose=ServletActionContext.getResponse(); PrintWriterout=respose.getWriter(); out.println("<script>window.close();</script>"); out.println("<script>opener.location.href=opener.location.href</script>");//刷新 returnnull;}4系統(tǒng)的測(cè)試及難點(diǎn)分析系統(tǒng)測(cè)試是針對(duì)整個(gè)系統(tǒng)進(jìn)行的測(cè)試,目的是驗(yàn)證系統(tǒng)是否滿足了任務(wù)書的要求,找出與需求不符或與之矛盾的地方,從而提出更加完善的方案。系統(tǒng)測(cè)試發(fā)現(xiàn)問(wèn)題之后要經(jīng)過(guò)調(diào)試找出錯(cuò)誤原因和位置,然后進(jìn)行改正。測(cè)試對(duì)象不僅僅包括需測(cè)試的軟件,還要包含軟件所依賴的硬件、外設(shè)甚至包括某些數(shù)據(jù)、某些支持軟件及其接口等[17]。以下是本系統(tǒng)的兩個(gè)測(cè)試用例,一個(gè)是對(duì)查詢稿件信息功能的測(cè)試,另一個(gè)是對(duì)能否準(zhǔn)確通知作者修改的測(cè)試。4.1系統(tǒng)的測(cè)試4.1.1查詢稿件功能測(cè)試(1)當(dāng)查詢條件為標(biāo)題關(guān)鍵字,輸入一個(gè)不存在的標(biāo)題關(guān)鍵字進(jìn)行測(cè)試。查詢條件為標(biāo)題關(guān)鍵字,輸入一個(gè)不存在的標(biāo)題關(guān)鍵字。輸入關(guān)鍵字為“看書”,查詢不到稿件信息,如圖4.1所示。圖4.1按標(biāo)題關(guān)鍵字查詢稿件信息圖測(cè)試結(jié)果表明:當(dāng)查詢條件為標(biāo)題關(guān)鍵字,輸入一個(gè)不存在的關(guān)鍵字時(shí),沒(méi)有稿件信息顯示。(2)當(dāng)查詢條件為多個(gè)時(shí),是否搜索出符合條件的正確信息。輸入標(biāo)題關(guān)鍵字“談”,查詢到了兩條稿件信息,如圖4.2所示。圖4.2按一個(gè)條件關(guān)鍵字“談”查詢稿件信息圖重新輸入關(guān)鍵字“談”,再輸入稿件狀態(tài)“1”,查詢到了一條稿件信息,如圖4.3所示。圖4.3按兩個(gè)條件查詢稿件信息圖測(cè)試結(jié)果表明:查詢條件為多個(gè)時(shí),能把符合條件的稿件信息準(zhǔn)確顯示出來(lái)。4.1.2通知作者修改稿件測(cè)試由于修改、退稿、錄用具體操作類似,所以這里只測(cè)試一個(gè)修改操作。首先編輯點(diǎn)擊郵件圖標(biāo),在彈出的頁(yè)面中選擇具體通知方式為“修改稿件”,然后保存。稿件信息仍然沿用標(biāo)題為“論藥品”的稿件,修改操作的頁(yè)面如圖4.4所示。預(yù)期測(cè)試結(jié)果應(yīng)該是在作者工作區(qū)的稿件箱中收到編輯的修改通知,未通知修改時(shí)稿件箱界面如圖4.5所示,實(shí)際測(cè)試后稿件箱如圖4.6所示。圖4.4選擇通知方式為修改圖4.5未通知修改前的稿件箱圖4.6通知修改后的稿件箱測(cè)試結(jié)果表明:編輯通知作者修改稿件時(shí),作者稿件箱能收到修改信息。4.2開(kāi)發(fā)過(guò)程中遇到的問(wèn)題及采用的解決方法本系統(tǒng)在開(kāi)發(fā)過(guò)程中主要遇到如下幾個(gè)問(wèn)題:(1)稿件上傳的界面友好問(wèn)題。本系統(tǒng)上傳功能是通過(guò)struts2實(shí)現(xiàn)的,由于在實(shí)際應(yīng)用中,用戶可能會(huì)不小心上傳不符合類型的文件,所以必須給予上傳文件類型限制。起初在struts.xml中做相關(guān)的類型限制,雖然阻止了不符合規(guī)定類型的文件上傳,但實(shí)際界面并不友好,顯示的是struts2默認(rèn)的出錯(cuò)提示界面,如圖4.7所示。開(kāi)發(fā)人員能夠知道什么意思,普通用戶就未必可以理解了。解決方法是不在struts.xml中限制文件類型,而是在javaScript中截取文件后綴名,判斷是否符合要求,如果符合要求則允許上傳,不符合則提示“上傳文件只能是[.pdf],[.doc],[.docx],[.txt]類型的!”。界面如圖4.8所示。圖4.7struts2默認(rèn)出錯(cuò)頁(yè)面圖4.8文件上傳類型驗(yàn)證(2)在線投稿分步提交功能。在線投稿分為5步,每次執(zhí)行下一步會(huì)對(duì)數(shù)據(jù)庫(kù)產(chǎn)生相關(guān)操作。提交的時(shí)候,每執(zhí)行下一步時(shí)都會(huì)在數(shù)據(jù)庫(kù)中重新提交一次稿件,就會(huì)提交了5份稿件,而這肯定是不符合要求的。問(wèn)題是因?yàn)樵谂渲胹pring時(shí)忽略了action的狀態(tài)。scope="prototype"表示每次請(qǐng)求都會(huì)創(chuàng)建一個(gè)新的action[18],不寫這個(gè)屬性則默認(rèn)公用一個(gè)action。解決方法是刪除scope="prototype",再次分步提交時(shí),每次再數(shù)據(jù)庫(kù)中只產(chǎn)生一條記錄了。相關(guān)代碼如下:<beanid="contributeAction"class="com.aca.action.Contribute"> <propertyname="confileService"ref="confileService"/></bean>(3)antlr-2.7.2.jar架包沖突問(wèn)題。ssh組合完成后,當(dāng)執(zhí)行hibernate的HQL查詢時(shí),報(bào)錯(cuò):java.lang.NoSuchMethodError:antlr.collections.AST.getLine()I。雖然每次重新部署后,刪掉tomcat服務(wù)器上的antlr-2.7.2.jar架包就不會(huì)報(bào)錯(cuò),但這樣比較繁瑣。解決方法是通過(guò)修改包的配置來(lái)根本解決架包沖突問(wèn)題。具體操作如下:eq\o\ac(○,1)修改MyEclipse的安裝目錄的配置文件:G:\Genuitec\MyEclipse8.6\configuration\org.eclipse.osgi\bundles\105\1\.cp\preferences.ini去掉其中的MYECLIP
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 員工勞動(dòng)用工協(xié)議書樣本
- 借款資格評(píng)估合同
- 畢業(yè)生檔案保密協(xié)議
- 護(hù)坡工程合同范本
- 統(tǒng)編版語(yǔ)文五年級(jí)上冊(cè) 第一單元 口語(yǔ)交際一制定班級(jí)公約+公開(kāi)課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 內(nèi)部審計(jì)制度-內(nèi)部審計(jì)制度模版2
- 一次性工傷賠償協(xié)議書的簽訂流程
- 場(chǎng)地出租合同協(xié)議書范例
- 房地產(chǎn)投資協(xié)議范本-合同范本
- 2024年門窗制作承包合同范本
- 接觸隔離、飛沫隔離、空氣隔離標(biāo)準(zhǔn)
- DZ∕T 0219-2006 滑坡防治工程設(shè)計(jì)與施工技術(shù)規(guī)范(正式版)
- 審美鑒賞與創(chuàng)造智慧樹(shù)知到期末考試答案章節(jié)答案2024年南昌大學(xué)
- 幼兒園一等獎(jiǎng)公開(kāi)課:大班數(shù)學(xué)活動(dòng)《單數(shù)雙數(shù)》課件
- 尿源性膿毒血癥護(hù)理查房
- 邁瑞醫(yī)療技術(shù)團(tuán)隊(duì)介紹
- 2021修訂《城市規(guī)劃設(shè)計(jì)計(jì)費(fèi)指導(dǎo)意見(jiàn)》
- 高二下學(xué)期校園防欺凌安全教育主題班會(huì)課件
- 第4課古詩(shī)三首(課件)語(yǔ)文三年級(jí)上冊(cè)
- 新能源汽車充電樁項(xiàng)目計(jì)劃書
- 水利視頻監(jiān)控系統(tǒng)解決方案
評(píng)論
0/150
提交評(píng)論