jsp碼頭船只出行及配套貨柜碼放管理系統(tǒng)ssh論文_第1頁
jsp碼頭船只出行及配套貨柜碼放管理系統(tǒng)ssh論文_第2頁
jsp碼頭船只出行及配套貨柜碼放管理系統(tǒng)ssh論文_第3頁
jsp碼頭船只出行及配套貨柜碼放管理系統(tǒng)ssh論文_第4頁
jsp碼頭船只出行及配套貨柜碼放管理系統(tǒng)ssh論文_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

PAGE畢業(yè)設(shè)計(jì)說明書碼頭船只出行及配套貨柜碼放管理系統(tǒng)學(xué)生姓名:田正妍學(xué)號:1021010811學(xué)院:軟件學(xué)院專業(yè):電子商務(wù)軟件開發(fā)與應(yīng)用指導(dǎo)教師:李斌郝喜2014年6月中北大學(xué)2014屆畢業(yè)生優(yōu)秀畢業(yè)設(shè)計(jì)(論文)摘要PAGE 碼頭船只出行及配套貨柜碼放管理系統(tǒng)摘要伴隨著全球化的發(fā)展,碼頭的物流和客運(yùn)增多,碼頭業(yè)務(wù)迎來新的高峰。然而碼頭業(yè)務(wù)的增加,導(dǎo)致了人員成本和工作量的增多。為了解決這一基本問題,碼頭船只出行及配套貨柜碼放管理系統(tǒng)應(yīng)運(yùn)而生。此次碼頭船只出行及配套貨柜碼放管理系統(tǒng)的開發(fā)與設(shè)計(jì)將使用當(dāng)前主流的編程語言Java來開發(fā),采用流行的Java三大框架(Spring+Struts+Hibernate)實(shí)現(xiàn)出一個(gè)功能相對齊全、界面簡潔、使用方便、用戶體驗(yàn)度相對較高的碼頭船只出行及配套貨柜碼放管理系統(tǒng)。該系統(tǒng)為用戶提供了一個(gè)碼頭船只出行及配套貨柜碼放管理系統(tǒng),在系統(tǒng)中可以管理用戶、管理船只、管理貨柜等等,另外設(shè)置了兩種權(quán)限(管理員和員工),不同權(quán)限的用戶登錄后操作不一樣,讓用戶體會到一個(gè)真實(shí)的碼頭船只出行及配套貨柜碼放管理系統(tǒng)。本設(shè)計(jì)遵循碼頭業(yè)務(wù)流程,從實(shí)際出發(fā),多方調(diào)研,反復(fù)測試,實(shí)現(xiàn)一個(gè)功能穩(wěn)定、性能極佳的碼頭船只出行及配套貨柜碼放管理系統(tǒng)。關(guān)鍵詞:系統(tǒng),Java,管理,web中北大學(xué)2014屆畢業(yè)生優(yōu)秀畢業(yè)設(shè)計(jì)(論文)摘要 PierboatsandsupportingcontainerstackingmanagementsystemAbstractWiththedevelopmentofglobalization,theprogressofthesociety,increasingterminallogistics,passengertransport,portoperationswillusherinnewheights.Increasetheterminalbusiness,leadtoincreasedpersonnelcosts,staffworkload.Inordertosolvethebasicproblem,emergeasthetimesrequireshipstravelandrelatedcontainerstackingmanagementsystem.DevelopmentanddesignofthepierboatsandsupportingcontainerstackingmanagementsystemwillusethecurrentmainstreamprogramminglanguageJavatodevelop,usingthepopularJavathreeframework(Spring+Struts+Hibernate)torealizethefunctionofarelativelycomplete,theinterfaceissimple,easytouse,theuserexperiencetheshipstravelandrelatedcontainerstackingmanagementsystemtherelativelyhigh.Thesystemprovidesaferryboatsandsupportingcontainerstackingmanagementsystemfortheuser,thesystemcanmanageusers,management,managementofcontainershipsandsoon,inadditiontosetuptwokindsofpermissions(administratorsandstaff),withoutpermissionoftheuserloginandoperationarenotthesame,letstheuserfeelarealshipstravelandrelatedcontainerstackingmanagementsystem.Thedesignfollowsthewharfbusinessprocess,fromapracticalpointofview,researches,repeatedtesting,toachievetheshipstravelandrelatedcontainerstackingafunctionalmanagementsystem,excellentstability.Keywords:System,Java,management,web中北大學(xué)2014屆畢業(yè)設(shè)計(jì)說明書第PAGEII頁共Ⅱ頁目錄1引言 11.1課題研究的背景和意義 11.2國內(nèi)外現(xiàn)狀 11.2.1國外主要現(xiàn)狀 11.2.2國內(nèi)主要現(xiàn)狀 21.3課題研究的目的及主要內(nèi)容 31.3.1課題研究的目的 31.3.2課題研究的主要內(nèi)容 31.4可行性分析 31.4.1技術(shù)可行性研究 31.4.2經(jīng)濟(jì)可行性研究 41.4.3操作可行性研究 41.5論文內(nèi)容安排 42系統(tǒng)開發(fā)技術(shù)及環(huán)境 52.1java語言 52.2開發(fā)工具M(jìn)yEclipse 52.3MySQL數(shù)據(jù)庫 62.4JSP技術(shù) 62.5Servlet 72.6系統(tǒng)開發(fā)環(huán)境 83系統(tǒng)需求分析 83.1系統(tǒng)功能需求 83.2系統(tǒng)性能需求 93.3系統(tǒng)運(yùn)行需求 103.4系統(tǒng)的用例分析 104系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 124.1總體設(shè)計(jì) 124.1.1軟件結(jié)構(gòu)設(shè)計(jì) 124.1.2數(shù)據(jù)庫設(shè)計(jì) 124.2詳細(xì)設(shè)計(jì) 144.2.1首頁實(shí)現(xiàn) 154.2.2用戶登錄的實(shí)現(xiàn) 164.2.3用戶管理的實(shí)現(xiàn) 194.2.4個(gè)人信息維護(hù)的實(shí)現(xiàn) 204.2.5船只管理的實(shí)現(xiàn) 214.2.6貨柜管理的實(shí)現(xiàn) 234.2.7路線管理的實(shí)現(xiàn) 254.2.8船只分配路線的實(shí)現(xiàn) 274.2.9船只分配貨柜的實(shí)現(xiàn) 295系統(tǒng)測試 32結(jié)論 34參考文獻(xiàn) 35致謝 36中北大學(xué)2014屆畢業(yè)設(shè)計(jì)說明書PAGE第36頁共36頁1引言1.1課題研究的背景和意義21世紀(jì)是一個(gè)全新的具有挑戰(zhàn)性的世紀(jì),全世界的碼頭都將面對全新的問題,面臨新的挑戰(zhàn)。全球化大潮的涌動,催促著一種新的國際體制的加速形成。國際貿(mào)易港口碼頭之間的合作與競爭將更加頻繁和激烈。以信息技術(shù)為代表的新技術(shù)革命迅猛發(fā)展,高集成度、智能化、光纖化、數(shù)字化、綜合化、網(wǎng)絡(luò)化,為船運(yùn)和碼頭業(yè)提供了更為廣闊的發(fā)展空間;國際經(jīng)濟(jì)結(jié)構(gòu)的調(diào)整,經(jīng)濟(jì)全球化的加速,必將促進(jìn)港口間國際貿(mào)易的發(fā)展與運(yùn)量的增長[1]。隨著計(jì)算機(jī)管理技術(shù)的高速發(fā)展,各個(gè)領(lǐng)域都應(yīng)用計(jì)算機(jī)對相關(guān)信息進(jìn)行管理。本系統(tǒng)是一個(gè)復(fù)雜而且涉及內(nèi)容眾多的系統(tǒng),碼頭船只出行及配套貨柜碼放管理系統(tǒng)是碼頭管理系統(tǒng)中一個(gè)比較重要的部分。為了碼頭管理工作節(jié)省不必要的人力、物力和資源,迫切需要較好的碼頭船只出行及配套貨柜碼放管理系統(tǒng)軟件來提高工作效率和信息的準(zhǔn)確率,以降低經(jīng)濟(jì)成本。利用計(jì)算機(jī)、網(wǎng)絡(luò)、計(jì)算機(jī)應(yīng)用軟件等現(xiàn)代科技和手段,加強(qiáng)和改進(jìn)碼頭管理工作,可以降低管理工作的成本,減輕工作強(qiáng)度,提高工作效率??萍嫉陌l(fā)展就是要為生產(chǎn)服務(wù),有了碼頭船只出行及配套貨柜碼放管理系統(tǒng)一定會為碼頭工作帶來便捷。1.2國內(nèi)外現(xiàn)狀1.2.1國外主要現(xiàn)狀(1)世界港口碼頭發(fā)展的重心正在加快向中國轉(zhuǎn)移,二戰(zhàn)過后,世界港口碼頭發(fā)展日新月異。隨著世界經(jīng)濟(jì)的變化更迭,傳統(tǒng)的大港地位發(fā)生變動,新的優(yōu)勢港口碼頭不斷涌現(xiàn)。20世紀(jì)90年代以來,世界港口碼頭業(yè)最大的變化莫過于其發(fā)展重心已經(jīng)向亞洲,特別是中國轉(zhuǎn)移,而且轉(zhuǎn)移的速度正在加快。全世界有許多著名的海港碼頭。據(jù)有資料記載,目前全世界有億噸港20個(gè);最大的是新加坡港,2000年貨物吞吐量達(dá)3.3億噸;貨物吞吐量居前20位的港口中,中國占9個(gè)(上海、寧波、廣州、天津、青島、秦皇島、大連和香港、高雄),美國占4個(gè),日本占3個(gè),歐洲占2個(gè),韓國占2個(gè)。按集裝箱吞吐量,最大的港口是香港,2002年吞吐量達(dá)1900萬標(biāo)準(zhǔn)箱;排名居前10位的港口中,中國占4個(gè)(香港、上海、高雄、深圳),歐洲占3個(gè),新加坡、韓國、美國各占1個(gè)。按照最新統(tǒng)計(jì),2003年上海港貨物吞吐量超過3億噸,集裝箱吐量將達(dá)到1120萬TEU左右,超過韓國釜山港位居世界集裝箱港口第三位。深圳港將跨人億噸大港行列,集裝箱吞吐量也可突破1000萬TEU達(dá)1050萬TEU,居世界集裝箱港口第四位,由此,世界排名居前4位的港口中,中國就占3個(gè),優(yōu)勢已經(jīng)十分明顯。我國已是世界名副其實(shí)的港口大國。目前,中國大陸已擁有1467個(gè)港口,其中沿海港口165個(gè);對外開放口岸134個(gè)[2]。(2)港口碼頭的科技含量越來越高,近年來,隨著科技進(jìn)步步伐的加快,為碼頭大型化、裝卸作業(yè)高速化創(chuàng)造了條件,碼頭科技含量越來越高,碼頭作業(yè)全過程由電子設(shè)備、計(jì)算機(jī)系統(tǒng)指揮和監(jiān)控。特別是集裝箱裝卸設(shè)備發(fā)生了一系列變化,岸橋、場橋的起重量,起升高度,外伸距,速度參數(shù)等均日益增大,向大型高速高效方向發(fā)展。由于競爭異常激烈,注入新的高科技內(nèi)容以提高港口碼頭作業(yè)率是各港口經(jīng)營者和港機(jī)供貨商采取的措施和不斷追求的目標(biāo)[2]。自20世紀(jì)70年代初新加坡港修建了該地區(qū)第1個(gè)集裝箱碼頭以來,PSA(新加坡港務(wù)局)就不斷引進(jìn)新的程序系統(tǒng)提高碼頭操作效率,完善服務(wù)標(biāo)準(zhǔn),一步到位滿足客戶的需求。過去的幾年中,PSA在其技術(shù)上的投資已經(jīng)產(chǎn)生出新的產(chǎn)品與服務(wù),使客戶擁有更大的靈活性,節(jié)省了時(shí)間與成本。這些創(chuàng)新包括無人駕駛吊車、自動門衛(wèi)申報(bào)系統(tǒng)以及無紙化裝卸單證系統(tǒng)[3],高效方便的管理碼頭的系統(tǒng)也勢在必行。1.2.2國內(nèi)主要現(xiàn)狀我國港口經(jīng)過60年的發(fā)展,碼頭成績顯著,基礎(chǔ)設(shè)施規(guī)模擴(kuò)大,生產(chǎn)能力增強(qiáng),港口碼頭的服務(wù)能力和水平明顯提高。近年來,伴隨我國經(jīng)濟(jì)的快速發(fā)展,港口發(fā)展速度和建設(shè)腳步加快,港口密度驟然增大。在“十一五”期間,中國經(jīng)濟(jì)尤其是對外貿(mào)易發(fā)展對運(yùn)輸?shù)男枨蟛粩嘣黾樱苯油苿又袊劭诖a頭建設(shè)投資的增長,為港口碼頭擴(kuò)張?zhí)峁﹦恿4]。中國傳統(tǒng)的港口,大都是綜合性的接卸碼頭,沒有具體的碼頭裝卸分工。改革開放以后,特別是加入WTO以后,傳統(tǒng)港口格局隨著國內(nèi)和國際兩種資源和兩種市場的雙向選擇而發(fā)生了歷史性的變化,逐漸由港口的綜合運(yùn)用而出現(xiàn)明確的分工[5]。20世紀(jì)80年代以后至今。世界經(jīng)濟(jì)發(fā)展的背景是計(jì)算機(jī)、通訊、網(wǎng)絡(luò)現(xiàn)代高科技產(chǎn)業(yè),其在發(fā)達(dá)國家的國民經(jīng)濟(jì)中取得了主導(dǎo)地位,它要求運(yùn)輸體系適應(yīng)運(yùn)程的需要,主要貨物表現(xiàn)在集裝箱運(yùn)輸量增長,散貨、液體貨物呈負(fù)增長。碼頭的功能戰(zhàn)略為運(yùn)輸方式的交換點(diǎn)、散貨、雜貨的集散中心,運(yùn)輸、金融、信息、工業(yè)與商業(yè)中心、現(xiàn)代物流的集散中心、全程運(yùn)輸中心的貿(mào)易后勤基地。組織特點(diǎn)為港口與用戶關(guān)系密切,實(shí)現(xiàn)資金流、信息流與物流的同步發(fā)展。隨著國際市場更加開放,海洋運(yùn)輸體系將提高到更加重要的位置[6]。1.3課題研究的目的及主要內(nèi)容1.3.1課題研究的目的為了方便港口碼頭的管理,船只的管理,提高工作人員的工作效率并且能更好更準(zhǔn)確的為碼頭服務(wù),開發(fā)一個(gè)完善的碼頭船只出行及配套貨柜碼放管理系統(tǒng)十分必要。本課題的主要目的就是開發(fā)一個(gè)實(shí)用的完善的碼頭船只出行及配套貨柜碼放管理系統(tǒng),以方便港口碼頭工作人員更好的去管理船只出行,并且能夠更高效的分配貨柜,提高港口運(yùn)輸業(yè)效率。1.3.2課題研究的主要內(nèi)容隨著社會的進(jìn)步和計(jì)算機(jī)的不斷普及,各行各業(yè)的管理、控制都越來越離不開計(jì)算機(jī)的輔助。該課題就是要以港口碼頭發(fā)展為背景,研究碼頭船只出行及貨柜分配的最佳管理方式。本系統(tǒng)從用戶來看分為三部分:管理員、一般(看)用戶、一般(操作)用戶;(1)管理員有對船只、貨柜等的操作功能(增刪改等)以及對一般用戶的管理功能;(2)一般(看)用戶有對各類信息的查看功能以及個(gè)人信息維護(hù)功能;(3)一般(操作)用戶對新聞公告、船只、貨柜、路線等有增刪改功能以及個(gè)人信息維護(hù)功能。1.4可行性分析開發(fā)任何一個(gè)基于計(jì)算機(jī)的系統(tǒng)都會受到時(shí)間和資源的限制。因此在開發(fā)軟件項(xiàng)目之前,必須根據(jù)可利用的時(shí)間和資源等條件進(jìn)行可行性研究。可行性研究工作的主要任務(wù)不是研究如何解決問題,而是要用最小的代價(jià)在最短的時(shí)間內(nèi)確定該項(xiàng)目是否具有開發(fā)的可行性。該文的可行性研究主要包括技術(shù)可行性研究,經(jīng)濟(jì)可行性研究,操作可行性研究,等等。1.4.1技術(shù)可行性研究技術(shù)上的可行性分析要考慮將來要采用的硬件和軟件技術(shù)能否滿足用戶提出的要求(如計(jì)算機(jī)的容量、速度等)。此外,還要考慮開發(fā)人員的水平,作為軟件工程專業(yè)的學(xué)生,數(shù)據(jù)庫設(shè)計(jì)方面理論上還算扎實(shí),在學(xué)校里生活了4年,對這個(gè)管理模式應(yīng)該比較熟悉。我掌握了數(shù)據(jù)庫原理、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)等課程,對數(shù)據(jù)庫的設(shè)計(jì)、應(yīng)用、維護(hù)及局域網(wǎng)的組成有了深刻的認(rèn)識與一定的動手實(shí)踐能力,從一定程度上具備了開發(fā)一個(gè)小型系統(tǒng)的能力,再加上參考一些技術(shù)性文檔,查詢相關(guān)資料等,因此總體上該項(xiàng)目在技術(shù)上是可行的[7]。在IT行業(yè)中從業(yè)的工作人員一般都要求掌握計(jì)算機(jī)技術(shù),具有一定的軟硬件基礎(chǔ),會使用各種管理軟件,熟悉IT產(chǎn)品。因此,有的碼頭對員工的素質(zhì)要求比較高,從管理層到下面的前臺操作人員,都要求具有一定的計(jì)算機(jī)基礎(chǔ),所以在新系統(tǒng)投入使用時(shí),只要對員工進(jìn)行少量的培訓(xùn),系統(tǒng)的功能和使用方法就基本上能夠使系統(tǒng)順利運(yùn)行。1.4.2經(jīng)濟(jì)可行性研究軟件就其它產(chǎn)品來說,屬于高端行業(yè),無論是產(chǎn)品的價(jià)格還是質(zhì)量都比較高,而碼頭都要求有雄厚的資金支持。所以,在系統(tǒng)的開發(fā)過程中,碼頭完全有能力承擔(dān)開發(fā)費(fèi)用。因?yàn)橥ㄟ^軟件系統(tǒng)的管理可以減少碼頭管理工作不必要的開支,同時(shí)該系統(tǒng)可以提高碼頭的管理效率,即提高了碼頭的經(jīng)濟(jì)效益,所以從經(jīng)濟(jì)上完全是可行的。1.4.3操作可行性研究本系統(tǒng)采用基于B/S結(jié)構(gòu)實(shí)現(xiàn)系統(tǒng),系統(tǒng)采用最友好的交互界面,簡潔明了。開發(fā)工具使用了具有可視化界面的Myeclipse,它不需要配置JDK,并且有自帶的Tomcat。數(shù)據(jù)庫方面采用了MYSQL。這些開發(fā)工具的使用,使得開發(fā)方便快捷,具有操作可行性。綜合以上三方面,無論是從技術(shù)上或者經(jīng)濟(jì)上還是操作上該系統(tǒng)具有很高的開發(fā)可行性。1.5論文內(nèi)容安排該碼頭船只出行及配套貨柜碼放管理系統(tǒng),我計(jì)劃完成對碼頭船只分配貨柜和路線的管理問題。論文內(nèi)容分為六大部分。第一部分是引言,簡要描述課題的背景、課題的意義以及研究目的等。從而得到開發(fā)一個(gè)針對碼頭工作者的碼頭船只出行和貨柜碼放管理系統(tǒng)的可行性與必要性。第二部分則是系統(tǒng)開發(fā)工具及環(huán)境分析,對系統(tǒng)中用到的的關(guān)鍵語言和技術(shù)進(jìn)行大致的解釋。第三部分對碼頭船只出行及配套貨柜碼放管理系統(tǒng)的需求進(jìn)行了分析,列出了詳細(xì)的需求列表,對系統(tǒng)的功能、性能、運(yùn)行等方面進(jìn)行有效的分析。第四部分對該系統(tǒng)進(jìn)行詳細(xì)的設(shè)計(jì)與實(shí)現(xiàn),針對各個(gè)模塊的流程與類進(jìn)行了詳細(xì)設(shè)計(jì),最后對系統(tǒng)的數(shù)據(jù)庫進(jìn)行了設(shè)計(jì)。通過該章,為之后的編碼提供了基礎(chǔ)。第五部分則主要描述了對系統(tǒng)核心功能的測試。第六部分進(jìn)行結(jié)論的總結(jié),總結(jié)論文的研究方法與成果,并且說明系統(tǒng)目前存在的問題,并展望今后的擴(kuò)展方向。2系統(tǒng)開發(fā)技術(shù)及環(huán)境2.1java語言本次開發(fā)中我使用了java語言進(jìn)行實(shí)現(xiàn)。采用該語言的原因主要是它在跨平臺、動態(tài)的Web、Internet計(jì)算等方面很出色。并且常用的瀏覽器現(xiàn)在均支持Javaapplet。另一方面,Java技術(shù)在不斷更新。Java是一種簡單的,面向?qū)ο蟮?,分布式的,解釋型的,健壯安全的,結(jié)構(gòu)中立的,可移植的,性能優(yōu)異、多線程的動態(tài)語言,是一種非常實(shí)用的語言[8][9]。Java平臺由Java虛擬機(jī)(JavaVirtualMachine)和Java應(yīng)用編程接口(ApplicationProgrammingInterface,簡稱API)構(gòu)成。Java應(yīng)用編程接口為Java應(yīng)用提供了一個(gè)獨(dú)立于操作系統(tǒng)的標(biāo)準(zhǔn)接口,可以分為基本部分和擴(kuò)展部分。在硬件或操作系統(tǒng)平臺上安裝一個(gè)Java平臺之后,Java應(yīng)用程序就可運(yùn)行。現(xiàn)在Java平臺已經(jīng)嵌入了幾乎所有的操作系統(tǒng)。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運(yùn)行。2.2開發(fā)工具M(jìn)yEclipseMyEclipse是一個(gè)開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。對于編程人員來說,MyEclipse附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(JavaDevelopmentKit,JDK)會提供很大的便利。由于MyEclipse中的每樣?xùn)|西都是插件,對于給MyEclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。這種平等和一致性并不僅限于Java開發(fā)工具。盡管MyEclipse是使用Java語言開發(fā)的,但它的用途并不限于Java語言;例如,支持諸如C/C++、COBOL、PHP等編程語言的插件已經(jīng)可用。2.3MySQL數(shù)據(jù)庫MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉庫內(nèi),這樣就增加了速度并提高了靈活性。MySQL軟件采用了雙授權(quán)政策(本詞條“授權(quán)政策”),它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫。MySQL所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。SQL語句可以用來執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)等。目前,絕大多數(shù)流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL語言標(biāo)準(zhǔn)。雖然很多數(shù)據(jù)庫都對SQL語句進(jìn)行了再開發(fā)和擴(kuò)展,但是包括Select,Insert,Update,Delete,Create,以及Drop在內(nèi)的標(biāo)準(zhǔn)的SQL命令仍然可以被用來完成幾乎所有的數(shù)據(jù)庫操作[10]。2.4JSP技術(shù)JSP是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)技術(shù)標(biāo)準(zhǔn)。在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)簽,就構(gòu)成了JSP網(wǎng)頁java程序片段可以操縱數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送E-mail等,實(shí)現(xiàn)建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,這樣大大降低了對客戶瀏覽器的要求,即使客戶瀏覽器端不支持Java,也可以訪問JSP網(wǎng)頁。JSP全名為javaserverpage,其根本是一個(gè)簡化的Servlet設(shè)計(jì),他實(shí)現(xiàn)了HTML語法中的java擴(kuò)張(以<%,%>形式)。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶端。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能[11]。JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)的顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。JSP(JavaServerPages)是一種動態(tài)頁面技術(shù),它的主要目的是將表示邏輯從Servlet中分離出來。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。JavaServlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要JavaServlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。2.5ServletServlet是在服務(wù)器上運(yùn)行的小程序。這個(gè)詞是在Javaapplet的環(huán)境中創(chuàng)造的,Javaapplet是一種當(dāng)作單獨(dú)文件跟網(wǎng)頁一起發(fā)送的小程序,它通常用于在服務(wù)器端運(yùn)行,結(jié)果得到為用戶進(jìn)行運(yùn)算或者根據(jù)用戶互作用定位圖形等服務(wù)[11]。服務(wù)器上需要一些程序,常常是根據(jù)用戶輸入訪問數(shù)據(jù)庫的程序。這些通常是使用公共網(wǎng)關(guān)接口(CGI(CommonGatewayInterface))應(yīng)用程序完成的。然而,在服務(wù)器上運(yùn)行Java,這種程序可使用Java編程語言實(shí)現(xiàn)。在通信量大的服務(wù)器上,Javaservlet的優(yōu)點(diǎn)在于它們的執(zhí)行速度更快于CGI程序。各個(gè)用戶請求被激活成單個(gè)程序中的一個(gè)線程,而無需創(chuàng)建單獨(dú)的進(jìn)程,這意味著服務(wù)器端處理請求的系統(tǒng)開銷將明顯降低。最早支持Servlet技術(shù)的是JavaSoft的JavaWebServer。此后,一些其它的基于Java的WebServer開始支持標(biāo)準(zhǔn)的ServletAPI。Servlet的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動態(tài)Web內(nèi)容。這個(gè)過程為:①客戶端發(fā)送請求至服務(wù)器端。②服務(wù)器將請求信息發(fā)送至Servlet。③Servlet生成響應(yīng)內(nèi)容并將其傳給服務(wù)器。響應(yīng)內(nèi)容動態(tài)生成,通常取決于客戶端的請求。④服務(wù)器將響應(yīng)返回給客戶端。Servlet看起來像是通常的Java程序。Servlet導(dǎo)入特定的屬于JavaServletAPI的包。因?yàn)槭菍ο笞止?jié)碼,可動態(tài)地從網(wǎng)絡(luò)加載,可以說Servlet對Server就如同Applet對Client一樣,但是,由于Servlet運(yùn)行于Server中,它們并不需要一個(gè)圖形用戶界面。從這個(gè)角度講,Servlet也被稱為FacelessObject。一個(gè)Servlet就是Java編程語言中的一個(gè)類,它被用來擴(kuò)展服務(wù)器的性能,服務(wù)器上駐留著可以通過“請求-響應(yīng)”編程模型來訪問的應(yīng)用程序。雖然Servlet可以對任何類型的請求產(chǎn)生響應(yīng),但通常只用來擴(kuò)展Web服務(wù)器的應(yīng)用程序。2.6系統(tǒng)開發(fā)環(huán)境J2EE的開發(fā)平臺是一個(gè)開放的平臺,可以選用Sun公司的開發(fā)平臺NetBeans、也可以使用最為流行的開發(fā)平臺Eclipse等。在這個(gè)課題里我選用現(xiàn)在最為通用的,也是開發(fā)效率最高的開發(fā)平臺Myeclipse。由于本課題采用的SSH架構(gòu)在開發(fā)和使用階段對硬件沒有特殊要求,所以在設(shè)計(jì)開發(fā)過程中,出于性能和效率的考慮,我們采用了較為簡單的Tomcat作為Web服務(wù)器。如下是該碼頭船只出行及其配套貨柜碼放管理系統(tǒng)的開發(fā)環(huán)境:操作系統(tǒng):Windows7數(shù)據(jù)庫:MySQL5.0Web服務(wù)器:Tomcat6.0Java編譯器:JDK1.6開發(fā)框架:Struts2+Spring2.5+Hibernate3.1開發(fā)工具:Myeclipse3系統(tǒng)需求分析一款實(shí)用的軟件就是要能夠讓用戶得到很好的體驗(yàn),本系統(tǒng)開發(fā)就是本著這樣的目標(biāo),首先必須了解用戶真正的需要。做好一個(gè)強(qiáng)大的市場調(diào)查和合理的需求分析,在開發(fā)過程中多問自己一些“用戶需要什么”的問題。3.1系統(tǒng)功能需求軟件開發(fā)前的需求分析[12]是軟件最終成敗的關(guān)鍵,如果沒有進(jìn)行詳細(xì)的需求分析,沒有充分理解系統(tǒng)中各類用戶的實(shí)際需求,那么最終的軟件成品充其量只能說是軟件開發(fā)者的作品而已,而沒有任何實(shí)用價(jià)值可言。所以,在開發(fā)碼頭船只出行及其配套貨柜碼放管理系統(tǒng)之初,要對系統(tǒng)需求進(jìn)行詳細(xì)的分析,本系統(tǒng)所實(shí)現(xiàn)的最終目標(biāo):就是要使碼頭管理實(shí)現(xiàn)全面的規(guī)范化、科學(xué)化、自動化、高效化和流程化。對于碼頭日常管理來說,主要是碼頭船只的管理,碼頭信息的發(fā)布,碼頭船只配套貨柜的管理,碼頭出行路線的管理等等。該系統(tǒng)為基于web開發(fā)的碼頭船只出行及配套貨柜碼放管理系統(tǒng),通過ssh框架實(shí)現(xiàn)的。擁有的功能有:用戶登錄、修改個(gè)人信息、查看碼頭信息;增加、刪除、修改系統(tǒng)管理人員;增加、刪除、修改船只信息;刪除、增加、修改船只路線信息;增加、修改、刪除貨柜信息。因此,該系統(tǒng)應(yīng)具有如下的功能,如圖3.1.1。a.用戶登錄:該模塊分為三種用戶的登錄,一是一般(查看)用戶,他的權(quán)限只有修改個(gè)人信息和查看功能;二是一般(操作)用戶登錄,他可以修改自己的信息,還可以對系統(tǒng)內(nèi)容進(jìn)行增加、刪除和修改;三是具有最大權(quán)限的系統(tǒng)管理員,他可以修改自己的信息,并且不僅有查看、增刪改的基本權(quán)限,還有對用戶的管理和注冊權(quán)限。b.用戶管理:該模塊實(shí)現(xiàn)對用戶的增加,刪除和修改c.個(gè)人信息維護(hù):該模塊實(shí)現(xiàn)用戶對自己的名字和密碼等個(gè)人信息的修改d.新聞公告管理:該模塊實(shí)現(xiàn)新聞公告的增加,刪除和修改e.船只管理:該模塊實(shí)現(xiàn)船只的增加,刪除和修改f.路線管理:該模塊實(shí)現(xiàn)路線的增加,刪除和修改,以及船只與路線關(guān)系的管理g.貨柜管理:該模塊實(shí)現(xiàn)貨柜的增加,刪除和修改,以及船只與貨柜關(guān)系的管理用戶登錄個(gè)人信息維護(hù)船只的增刪改用戶的增刪改路線的增刪改船只分配路線貨柜的增刪改船只分配貨柜新聞的增刪改新聞的查看用戶用戶管理新聞管理船只管理用戶登錄個(gè)人信息維護(hù)船只的增刪改用戶的增刪改路線的增刪改船只分配路線貨柜的增刪改船只分配貨柜新聞的增刪改新聞的查看用戶用戶管理新聞管理船只管理路線管理貨柜管理碼頭船只出行及配套貨柜碼放管理系統(tǒng)圖3.1.1系統(tǒng)功能圖3.2系統(tǒng)性能需求系統(tǒng)必須滿足的一些使用過程中要做到的技術(shù)目標(biāo),通常包括速度,安全性等方面的需求。3.3系統(tǒng)運(yùn)行需求軟件方面:系統(tǒng)使用Windows7操作系統(tǒng)和Tomcat6.0以上版本,MyEclipse8.5為開發(fā)和測試平臺,前臺以JSP為前端界面編輯環(huán)境,后臺用MySQL5.5來管理數(shù)據(jù)庫。運(yùn)行時(shí)對JDK的版本要求為1.6。硬件方面:PIII500CPU或更高配置,256M內(nèi)存或更高,20G以上硬盤,更好有10M共享帶寬或更高。3.4系統(tǒng)的用例分析碼頭船只出行及配套貨柜碼放管理系統(tǒng)主要是面對三類用戶,即一般(看)用戶、一般(操作)用戶、系統(tǒng)管理員,不同的角色有不同功能.。因此,在設(shè)計(jì)系統(tǒng)的時(shí)候,將系統(tǒng)的整體功能劃分為三個(gè)子系統(tǒng),為一般(看)用戶子系統(tǒng)、一般(操作)用戶子系統(tǒng)和系統(tǒng)管理員子系統(tǒng)。這三個(gè)系統(tǒng)因?yàn)槠涿鎸Φ挠脩舨煌涔δ芤膊幌嗤?具有相對獨(dú)立性。但它們又是緊密聯(lián)系和相互關(guān)聯(lián)的,各用例設(shè)計(jì)如圖3.4.1-圖3.4.3所示。管理員管理員用戶管理系統(tǒng)管理查看信息個(gè)人信息維護(hù)圖3.4.1管理員用例圖一般看用戶一般看用戶個(gè)人信息維護(hù)查看新聞公告查看船只信息查看路線信息查看貨柜信息圖3.4.2一般(看)用戶用例圖一般操作用戶一般操作用戶個(gè)人信息維護(hù)增刪改船只信息增刪改貨柜信息增刪改路線信息增刪改新聞信息查看碼頭信息圖3.4.3一般(操作)用戶用例圖4系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)4.1總體設(shè)計(jì)4.1.1軟件結(jié)構(gòu)設(shè)計(jì)系統(tǒng)的功能結(jié)構(gòu)圖,如圖所示。該系統(tǒng)從總體功能結(jié)構(gòu)上分為四大塊。第一塊是用戶管理,包括對用戶的增加、刪除和修改。第二塊是船只管理,包括對船只信息的增加、刪除和修改。第三塊是貨柜管理,包括對貨柜信息的增加、刪除和修改。第四塊是對應(yīng)關(guān)系管理,包括為船只分配路線的管理和為船只分配貨柜的管理。圖系統(tǒng)功能模塊圖4.1.2數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)在軟件開發(fā)的過程中起著極其重要的作用[13][14]。數(shù)據(jù)庫設(shè)計(jì)是否合理對整個(gè)軟件的開發(fā)是至關(guān)重要的。數(shù)據(jù)庫的設(shè)計(jì)通常包括下述四個(gè)步驟:(1)模式設(shè)計(jì)。模式設(shè)計(jì)的目的是確定物理數(shù)據(jù)結(jié)構(gòu)。一般用第三范式,第三范式形式的實(shí)體及關(guān)系數(shù)據(jù)模型是模式設(shè)計(jì)過程的輸入,模式設(shè)計(jì)的主要問題是處理具體的數(shù)據(jù)庫管理系統(tǒng)的結(jié)構(gòu)約束。(2)子模式設(shè)計(jì)。子模式是用戶使用的數(shù)據(jù)視圖。(3)完整性和安全性的設(shè)計(jì)。(4)優(yōu)化。主要目的是通過改進(jìn)模式和子模式,來優(yōu)化數(shù)據(jù)的存取。對于該碼頭管理系統(tǒng),我從分析的資料和設(shè)計(jì)的功能模塊出發(fā),設(shè)計(jì)出7張數(shù)據(jù)庫表機(jī)構(gòu),分別是新聞信息表、用戶信息表、船只信息表、貨柜信息表、船只貨柜對應(yīng)關(guān)系信息表、路線信息表和船只路線對應(yīng)關(guān)系信息表。具體內(nèi)容如表-所示。表新聞信息表表用戶信息表表船只信息表表貨柜信息表表船只貨柜對應(yīng)關(guān)系信息表表路線信息表表船只對應(yīng)路線信息表4.2詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)階段的根本目的是確定應(yīng)怎樣具體地實(shí)現(xiàn)所要求的系統(tǒng),也就是在這個(gè)階段的設(shè)計(jì)工作,應(yīng)該是對針對目標(biāo)系統(tǒng)的精確描述,從而在編碼階段能夠把這個(gè)描述直接翻譯成可用某種程序設(shè)計(jì)語言書寫的程序。詳細(xì)設(shè)計(jì)階段的任務(wù)是設(shè)計(jì)出程序的“藍(lán)圖”,程序員以后根據(jù)這個(gè)藍(lán)圖寫出實(shí)際的程序代碼[15]。詳細(xì)設(shè)計(jì)的目標(biāo)不只是在邏輯上正確地實(shí)現(xiàn)每個(gè)模塊的功能,更重要的是設(shè)計(jì)出的處理過程應(yīng)該盡可能簡明易懂。在每個(gè)模塊中都應(yīng)有相應(yīng)的功能界面。結(jié)構(gòu)程序設(shè)計(jì)是實(shí)現(xiàn)上述目標(biāo)的關(guān)鍵技術(shù),是詳細(xì)設(shè)計(jì)的邏輯基礎(chǔ)。下面是系統(tǒng)中主要的功能模塊及其子功能模塊具體的實(shí)現(xiàn)方法(僅對一些典型基礎(chǔ)模塊進(jìn)行說明)4.2.1首頁實(shí)現(xiàn)首頁主要分為Banner信息欄,導(dǎo)航欄,和版權(quán)信息欄。如圖所示。點(diǎn)擊導(dǎo)航欄的任意某一內(nèi)容,屏幕會列出想要查看的信息。如圖所示,點(diǎn)擊出行船只,就會以分頁顯示的方式列出最新碼頭船只出行的情況。圖首頁界面圖點(diǎn)擊出行船只后顯示界面實(shí)現(xiàn)船只出行信息羅列的核心代碼如下:publicStringgetAll(){ HttpServletRequestrequest=ServletActionContext.getRequest(); request.setAttribute("newsmodel",chuxingEbi.getAll(0,6)); request.setAttribute("newsnum",chuxingEbi.getAllCount()); return"newsall"; } publicStringgetAllqt(){ HttpServletRequestrequest=ServletActionContext.getRequest(); request.setAttribute("newsmodel",chuxingEbi.getAll()); request.setAttribute("newsnum",chuxingEbi.getAllCount()); return"qtall";}4.2.2用戶登錄的實(shí)現(xiàn)登錄界面分為管理員登錄與一般用戶(操作、看)登錄。登錄頁面設(shè)計(jì)相對比較簡單,界面清晰,背景配以黑灰漸變色,首頁運(yùn)行效果,如圖用戶的登錄分為三種情況,第一種是管理員登錄,如圖是管理員登錄后的界面。管理員可以進(jìn)行用戶管理,個(gè)人信息維護(hù),新聞公告管理,船只管理,貨柜管理,當(dāng)然還可以查看新聞信息。第二種是一般(操作)用戶,如圖顯示的是一般用戶登錄后的界面,與管理員操作大體相同,只是功能相對較少些。一般用戶登錄代碼與管理員代碼大致相似,只是功能少一些。第三種是一般(看)用戶,該圖是一般用戶(看)登錄后的界面,只有查看權(quán)限,包括新聞,船只,貨柜及其路線的查看。該用戶的登錄實(shí)現(xiàn)代碼亦同上。圖首頁登錄界面圖管理員登錄界面圖一般用戶(操作)登錄界面圖一般用戶(看)登錄界面用戶登錄后主要是對各模塊進(jìn)行權(quán)限內(nèi)的合法操作,其實(shí)現(xiàn)登錄的核心代碼如下: publicStringlogin(){ HttpServletRequestrequest=ServletActionContext.getRequest(); HttpSessionsession=request.getSession(); Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); //System.out.println(username+";"+password); UserQueryModelqm=newUserQueryModel(); qm.setUsername(username); qm.setPassword(password); intnum=userEbi.getByConditionCount(qm); //System.out.println("數(shù)量:+"+num); if(num>0){ intsta=userEbi.getByCondition(qm,0,100).get(0).getState(); switch(sta){ case0: session.setAttribute("useradmin",username); return"admin"; case1: session.setAttribute("useradmin",username); return"admin1"; case2: session.setAttribute("useradmin",username); return"admin2"; default: request.setAttribute("error","用戶名或密碼不對"); return"loginf"; } }else{ request.setAttribute("error","用戶名或密碼不對"); return"loginf"; } }4.2.3用戶管理的實(shí)現(xiàn)只有管理員才有用戶管理的權(quán)限,該功能模塊可以實(shí)現(xiàn)管理員對用戶密碼以及權(quán)限的初始設(shè)置和修改。用戶的權(quán)限有看和操作兩種。管理員還可以通過點(diǎn)擊刪除按鈕來實(shí)現(xiàn)對用戶的刪除。如圖所示。圖用戶管理界面圖顯示的是管理員的用戶管理界面,其核心代碼如下://根據(jù)Id得到用戶信息去修改 publicStringgetUserById(){ HttpServletRequestrequest=ServletActionContext.getRequest(); intid=Integer.parseInt(request.getParameter("id")); UserQueryModelqm=newUserQueryModel(); qm.setId(id); request.setAttribute("userupdate",userEbi.getByCondition(qm,0,20)); return"byid"; } //刪除 publicStringdeletedById(){ HttpServletRequestrequest=ServletActionContext.getRequest(); intid=Integer.parseInt(request.getParameter("id")); userEbi.delete(id); return"delete"; }//修改publicStringupdate(){ userEbi.update(userModel); return"update"; } publicStringcreate(){ HttpServletRequestrequest=ServletActionContext.getRequest(); userEbi.create(userModel); returnSUCCESS; }4.2.4個(gè)人信息維護(hù)的實(shí)現(xiàn)個(gè)人信息的維護(hù)功能模塊的實(shí)現(xiàn),方便了用戶對自己的個(gè)人信息的修改,比如名字和密碼。用戶登錄該系統(tǒng)之后,通過個(gè)人信息維護(hù)模塊,重新輸入自己的名字和密碼來修改個(gè)人信息。其界面如圖所示。圖個(gè)人信息維護(hù)界面實(shí)現(xiàn)個(gè)人信息維護(hù)的核心代碼如下:publicStringgetxiugai(){ HttpServletRequestrequest=ServletActionContext.getRequest(); intid=Integer.parseInt(request.getParameter("id")); UserQueryModelqm=newUserQueryModel(); qm.setId(id); request.setAttribute("userupdate",userEbi.getByCondition(qm,0,20)); return"byid"; }4.2.5船只管理的實(shí)現(xiàn)該功能模塊實(shí)現(xiàn)了可操作人員對船只的增加、刪除和修改功能。用戶通過添加船只編號、名稱、體積和詳細(xì)信息來增加船只,實(shí)現(xiàn)船只的增加功能。如圖。通過船只管理模塊,點(diǎn)擊想要修改或者刪除的船只信息后方的修改或者刪除按鈕,實(shí)現(xiàn)對船只的修改和刪除功能。如圖所示。圖船只增加界面圖船只管理界面上圖和顯示的是船只的增加和管理界面,其核心代碼: publicStringcreate(){ SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");//設(shè)置日期格式 Stringttime=df.format(newDate());//newDate()為獲取當(dāng)前系統(tǒng)時(shí)間 chuanzhiModel.setTtime(ttime); chuanzhiEbi.create(chuanzhiModel); returnSUCCESS; } //根據(jù)Id得到船只信息去修改 publicStringgetUserById(){ HttpServletRequestrequest=ServletActionContext.getRequest(); intid=Integer.parseInt(request.getParameter("id")); ChuanzhiQueryModelqm=newChuanzhiQueryModel(); qm.setId(id); request.setAttribute("newsupdate",chuanzhiEbi.getByCondition(qm,0,20)); return"byid"; } //刪除 publicStringdeletedById(){ HttpServletRequestrequest=ServletActionContext.getRequest(); intid=Integer.parseInt(request.getParameter("id")); chuanzhiEbi.delete(id); return"delete"; }4.2.6貨柜管理的實(shí)現(xiàn)碼頭船只的配套貨柜碼放管理功能模塊,實(shí)現(xiàn)了對貨柜的增加、刪除和修改。用戶通過對貨柜編號、名稱、體積和詳細(xì)信息的輸入,來完成貨柜的增加功能。如圖。在貨柜管理中,通過貨柜的刪除按鈕和修改按鈕實(shí)現(xiàn)目標(biāo)貨柜的刪除和修改。如圖所示。圖貨柜增加界面圖貨柜管理界面圖和圖顯示的是貨柜增加和管理功能,其核心代碼如下:publicStringcreate(){ SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");//設(shè)置日期格式 Stringttime=df.format(newDate());//newDate()為獲取當(dāng)前系統(tǒng)時(shí)間 huoguiModel.setTtime(ttime); huoguiEbi.create(huoguiModel); returnSUCCESS; } //根據(jù)Id得到貨柜信息去修改 publicStringgetUserById(){ HttpServletRequestrequest=ServletActionContext.getRequest(); intid=Integer.parseInt(request.getParameter("id")); HuoguiQueryModelqm=newHuoguiQueryModel(); qm.setId(id); request.setAttribute("newsupdate",huoguiEbi.getByCondition(qm,0,20)); return"byid"; } //刪除 publicStringdeletedById(){ HttpServletRequestrequest=ServletActionContext.getRequest(); intid=Integer.parseInt(request.getParameter("id")); huoguiEbi.delete(id); return"delete"; } publicStringupdate(){ SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");//設(shè)置日期格式 Stringttime=df.format(newDate());//newDate()為獲取當(dāng)前系統(tǒng)時(shí)間 huoguiModel.setTtime(ttime); huoguiEbi.update(huoguiModel); return"update"; }}4.2.7路線管理的實(shí)現(xiàn)路線管理功能模塊實(shí)現(xiàn)了可操作人員對線路的增加、刪除和修改。使得路線的管理方便快捷。用戶可以通過對路線編號、名稱、具體路線以及詳細(xì)信息的添加來實(shí)現(xiàn)增加路線功能。如圖。用戶通過點(diǎn)擊出行路線管理界面上的修改和刪除按鈕來修改和刪除目標(biāo)路線,如圖所示。圖出行路線增加界面圖出行路線管理界面核心代碼為:publicStringcreate(){ SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");//設(shè)置日期格式 Stringttime=df.format(newDate());//newDate()為獲取當(dāng)前系統(tǒng)時(shí)間 luxianModel.setTtime(ttime); luxianEbi.create(luxianModel); returnSUCCESS; } //根據(jù)Id得到信息去修改 publicStringgetUserById(){ HttpServletRequestrequest=ServletActionContext.getRequest(); intid=Integer.parseInt(request.getParameter("id")); LuxianQueryModelqm=newLuxianQueryModel(); qm.setId(id); request.setAttribute("newsupdate",luxianEbi.getByCondition(qm,0,20)); return"byid"; } //刪除 publicStringdeletedById(){ HttpServletRequestrequest=ServletActionContext.getRequest(); intid=Integer.parseInt(request.getParameter("id")); luxianEbi.delete(id); return"delete"; } publicStringupdate(){ SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");//設(shè)置日期格式 Stringttime=df.format(newDate());//newDate()為獲取當(dāng)前系統(tǒng)時(shí)間 luxianModel.setTtime(ttime); luxianEbi.update(luxianModel); return"update"; }}4.2.8船只分配路線的實(shí)現(xiàn)該模塊實(shí)現(xiàn)了用戶對船只出行路線的設(shè)置。用戶通過船只的選擇和路線的選擇、以及說明信息的填寫,實(shí)現(xiàn)為船只分配路線的功能,如圖所示。還可以通過對刪除和修改按鈕的點(diǎn)擊,來刪除或者修改分配好的船只路線組合,如圖所示。圖船只分配出行路線界面圖船只出行路線管理界面其核心代碼如下: publicStringcreate(){ //System.out.println("????????????????????"); SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");//設(shè)置日期格式 Stringttime=df.format(newDate());//newDate()為獲取當(dāng)前系統(tǒng)時(shí)間 chuxingModel.setTtime(ttime); //System.out.println(chuxingModel.toString()); chuxingEbi.create(chuxingModel); returnSUCCESS; } //根據(jù)Id得到信息去修改 publicStringgetUserById(){ HttpServletRequestrequest=ServletActionContext.getRequest(); intid=Integer.parseInt(request.getParameter("id")); ChuxingQueryModelqm=newChuxingQueryModel(); qm.setId(id); request.setAttribute("newsupdate",chuxingEbi.getByCondition(qm,0,20)); return"byid"; } //刪除 publicStringdeletedById(){ HttpServletRequestrequest=ServletActionContext.getRequest(); intid=Integer.parseInt(request.getParameter("id")); chuxingEbi.delete(id); returnSUCCESS; } publicStringupdate(){ SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");//設(shè)置日期格式 Stringttime=df.format(newDate());//newDate()為獲取當(dāng)前系統(tǒng)時(shí)間 chuxingModel.setTtime(ttime); chuxingEbi.update(chuxingModel); return"update"; } //去獲取船只,線路的信息 publicStringgetCL(){ HttpServletRequestrequest=ServletActionContext.getRequest(); List<ChuanzhiModel>czlist=chuanzhiEbi.getAll(); List<LuxianModel>lxlist=luxianEbi.getAll(); System.out.println(czlist+"http://"+lxlist); request.setAttribute("czmodel",czlist); request.setAttribute("lxmodel",lxlist); return"addcl"; }}4.2.9船只分配貨柜的實(shí)現(xiàn)船只分配貨柜這一功能模塊主要是為每一艘輪船進(jìn)行貨柜的分配,還有對已分配貨柜的船只進(jìn)行信息的修改和刪除。用戶可以通過船只的選擇、貨柜的選擇和說明信息(該輪船可以放置多少個(gè)貨柜等等信息)的填寫來實(shí)現(xiàn)分配貨柜功能,如圖所示。用戶還可以通過點(diǎn)擊刪除和修改按鈕來實(shí)現(xiàn)對已分配貨柜船只組合的刪除和修改,如圖所示。圖4.2.9圖4.2.9該功能模塊實(shí)現(xiàn)了用戶對船只進(jìn)行貨柜碼放的管理。其核心代碼如下: publicStringcreate(){ SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");//設(shè)置日期格式 Stringttime=df.format(newDate());//newDate()為獲取當(dāng)前系統(tǒng)時(shí)間 peitaohgModel.setTtime(ttime); peitaohgEbi.create(peitaohgModel); returnSUCCESS; } //根據(jù)Id得到用戶信息去修改 publicStringgetUserById(){ HttpServletRequestrequest=ServletActionContext.getRequest(); intid=Integer.parseInt(request.getParameter("id")); PeitaohgQueryModelqm=newPeitaohgQueryModel(); qm.setId(id); request.setAttribute("newsupdate",peitaohgEbi.getByCondition(qm,0,20)); return"byid"; } //刪除 publicStringdeletedById(){ HttpServletRequestrequest=ServletActionContext.getRequest(); intid=Integer.parseInt(request.getParameter("id")); peitaohgEbi.delete(id); returnSUCCESS; } publicStringupdate(){ SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");//設(shè)置日期格式 Stringttime=df.format(newDate());//newDate()為獲取當(dāng)前系統(tǒng)時(shí)間 peitaohgModel.setTtime(ttime); peitaohgEbi.update(peitaohgModel); return"update"; } publicStringgetczhg(){ HttpServletRequestrequest=ServletActionContext.getRequest(); List<HuoguiModel>hglist=huoguiEbi.getAll(); List<ChuanzhiModel>czlist=chuanzhiEbi.getAll(); request.setAttribute("hgmodel",hglist); request.setAttribute("czmodel",czlist); return"addczhg"; }}5系統(tǒng)測試一個(gè)完善的系統(tǒng),是要經(jīng)得起“考驗(yàn)”的,所謂的“考驗(yàn)”就是在系統(tǒng)真正上線之前進(jìn)行各種測試,主要大的方面是白盒和黑盒測試[16],包括上線之后用戶的使用的測試,比如用戶體驗(yàn)度的反饋,系統(tǒng)壓力的測試反饋等。在這里主要進(jìn)行的是上線之前的測試工作。測試一:用戶登錄時(shí),用戶名或密碼有一項(xiàng)為空或者填寫錯(cuò)誤,系統(tǒng)是否出現(xiàn)預(yù)先設(shè)定的操作提示。具體操作:用戶名

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論