![[JAVA畢業(yè)論文]Struts2.0開發(fā)-都市供求信息網(wǎng).doc_第1頁](http://file.renrendoc.com/FileRoot1/2019-7/17/f5179cef-83fe-4770-bad1-af23436e1404/f5179cef-83fe-4770-bad1-af23436e14041.gif)
![[JAVA畢業(yè)論文]Struts2.0開發(fā)-都市供求信息網(wǎng).doc_第2頁](http://file.renrendoc.com/FileRoot1/2019-7/17/f5179cef-83fe-4770-bad1-af23436e1404/f5179cef-83fe-4770-bad1-af23436e14042.gif)
![[JAVA畢業(yè)論文]Struts2.0開發(fā)-都市供求信息網(wǎng).doc_第3頁](http://file.renrendoc.com/FileRoot1/2019-7/17/f5179cef-83fe-4770-bad1-af23436e1404/f5179cef-83fe-4770-bad1-af23436e14043.gif)
![[JAVA畢業(yè)論文]Struts2.0開發(fā)-都市供求信息網(wǎng).doc_第4頁](http://file.renrendoc.com/FileRoot1/2019-7/17/f5179cef-83fe-4770-bad1-af23436e1404/f5179cef-83fe-4770-bad1-af23436e14044.gif)
![[JAVA畢業(yè)論文]Struts2.0開發(fā)-都市供求信息網(wǎng).doc_第5頁](http://file.renrendoc.com/FileRoot1/2019-7/17/f5179cef-83fe-4770-bad1-af23436e1404/f5179cef-83fe-4770-bad1-af23436e14045.gif)
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
山東工商學(xué)院2009屆畢業(yè)論文引言都市供求信息網(wǎng)是某公司一個開發(fā)項目,網(wǎng)站性質(zhì)為信息服務(wù)類型,可為信息發(fā)布者有償與無償提供招聘、求職、培訓(xùn)、房屋和出售等信息。為實現(xiàn)網(wǎng)絡(luò)資源的合理利用,結(jié)合國內(nèi)互聯(lián)網(wǎng)發(fā)展現(xiàn)狀,通過對網(wǎng)絡(luò)各類信息的整合分類與發(fā)布,實現(xiàn)不同人群對不同信息的需求。提升網(wǎng)絡(luò)資源的利用率,對城市各類公司企業(yè)信息進行合理分配,實現(xiàn)網(wǎng)絡(luò)資源利用率的最大化。第一章 網(wǎng)站概述1.1 國內(nèi)外研究現(xiàn)狀九十年代迅速發(fā)展和普及的個人計算機及計算機網(wǎng)絡(luò)技術(shù)將人類帶入了信息時代。各行業(yè)的信息化工作是適應(yīng)時代要求的迫切任務(wù)。信息化的含義比較廣泛,至少要包括知識信息的生產(chǎn)、信息的傳播和擴散及反饋等過程。計算機網(wǎng)絡(luò)技術(shù)的發(fā)展為迅速、便捷的信息傳播、擴散提供了有效實用的工具,也正是因為計算機網(wǎng)絡(luò)技術(shù)的發(fā)展提供了這樣的工具,才使人類進入了信息化時代, 同時也帶動了都市信息化的建設(shè)進程。雖然不能說信息化等同于計算機網(wǎng)絡(luò)技術(shù),但利用網(wǎng)絡(luò)技術(shù)進行知識信息傳播是信息化工作的一項重要內(nèi)容。目前, 國內(nèi)信息供求網(wǎng)站發(fā)展比較迅速, 國內(nèi)比較有名阿里巴巴, 淘寶網(wǎng)等。但是國內(nèi)大多數(shù)信息供求網(wǎng)站尚有不足之處, 例如網(wǎng)站信息量不夠充實,網(wǎng)站安全性和真實性尚待加強,服務(wù)體系不夠完善等。相對與國內(nèi)信息供求網(wǎng)站,國外信息供求網(wǎng)站發(fā)展較早,相對國內(nèi)來說較為成熟, 各類信息供求網(wǎng)站眾多且功能體系和服務(wù)體系較為完善, 例如韓國外經(jīng)貿(mào)部直屬ktnet(株)是ec plaza的母公司,ktnet自1990年成立以來,一直從事提供貿(mào)易相關(guān)的edi (電子數(shù)據(jù)交換系統(tǒng))和商業(yè)信息技術(shù)服務(wù),是世界最為成功的b2b、b2g公司之一,現(xiàn)在從原有的以van為基礎(chǔ)的服務(wù)成長為以因特網(wǎng)為基礎(chǔ)的網(wǎng)上貿(mào)易基礎(chǔ)結(jié)構(gòu)提供商,網(wǎng)址為。 印度的indiamark, 網(wǎng)址為。1.2 本系統(tǒng)的特點本系統(tǒng)采用了struts2.0框架,比以往的struts1.0有很多優(yōu)點,首先struts1的action類依賴與servlet api,從其execute的方法簽名可看出,execute方法有兩個servlet的參數(shù)httpservletrequest和httpservletresponse,struts2則不依賴于servlet api,所以該系統(tǒng)易于修改。再者,struts2.0的驗證機制較為完善,從而可以使用戶界面設(shè)計更加人性化。第二章 技術(shù)方法2.1 開發(fā)環(huán)境介紹2.1.1集成開發(fā)環(huán)境:eclipse2001 年11 月 ibm 宣布捐出了價值 4 千萬美金的開發(fā)軟件給開放源碼的 eclipse 項目。eclipse 是替代ibm visual age for java(以下簡稱ivj)的下一代ide開發(fā)環(huán)境,但它未來的目標不僅僅是成為專門開發(fā)java程序的ide環(huán)境,根據(jù)eclipse的體系結(jié)構(gòu),通過開發(fā)插件,它能擴展到任何語言的開發(fā),甚至能成為圖片繪制的工具。目前,eclipse已經(jīng)開始提供c語言開發(fā)的功能插件。更難能可貴的是,eclipse是一個開放源代碼的項目,任何人都可以下載eclipse的源代碼,并且在此基礎(chǔ)上開發(fā)自己的功能插件。也就是說未來只要有人需要,就會有建立在eclipse之上的cobol,perl,python等語言的開發(fā)插件出現(xiàn)。同時可以通過開發(fā)新的插件擴展現(xiàn)有插件的功能,比如在現(xiàn)有的java開發(fā)環(huán)境中加入tomcat服務(wù)器插件??梢詿o限擴展,而且有著統(tǒng)一的外觀,操作和系統(tǒng)資源管理,這也正是eclipse的潛力所在。 雖然目前eclipse項目還沒有最后完成,但從已有的版本中已經(jīng)能領(lǐng)略到eclipse設(shè)計主導(dǎo)思想和主要功能特點?,F(xiàn)在就了解eclipse不但能使廣大程序員對這款業(yè)界期望很高的ide能一睹為快,更為重要的是如果能參加到eclipse項目的開發(fā)中或是閱讀它的開放源代碼,這對廣大程序員來說無疑是一個千載難逢的提高編程水平的好機會。eclipse計劃提供多個平臺的版本,像windows,linux,solaris,hp-ux和aix,以下只介紹windows版本。2.1.2 web應(yīng)用服務(wù)器:tomcattomcat服務(wù)器是一個免費的開放源代碼的web應(yīng)用服務(wù)器,它是apache軟件基金會(apache software foundation)的jakarta項目中的一個核心項目,由apache、sun和其他一些公司及個人共同開發(fā)而成。由于有了sun的參與和支持,最新的servlet和jsp規(guī)范總是能在tomcat中得到體現(xiàn),tomcat5支持最新的servlet 2.4和jsp 2.0規(guī)范。因為tomcat技術(shù)先進、性能穩(wěn)定,而且免費,因而深受java愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比較流行的web應(yīng)用服務(wù)器。tomcat服務(wù)器接受客戶請求并做出響應(yīng)的圖例,如圖2-1所示:圖2-1 tomcat服務(wù)器接受客戶請求并做出響應(yīng)的過程 客戶端(通常都是瀏覽器)訪問web服務(wù)器,發(fā)送htpp請求。 web服務(wù)器接收到請求后,傳遞給servlet容器。 servlet容器加載servlet,產(chǎn)生servlet實例后,向其傳遞表示請求和響應(yīng)的對象。 servlet實例使用請求對象得到客戶端的請求信息,然后進行相應(yīng)的處理。 servlet實例將處理結(jié)果通過響應(yīng)對象發(fā)送回客戶端,容器負責(zé)確保響應(yīng)正確送出,同時將控制返回給web服務(wù)器。2.1.3 數(shù)據(jù)庫服務(wù)器:mysql mysql是最受歡迎的開源sql數(shù)據(jù)庫管理系統(tǒng),它由mysql ab開發(fā)、發(fā)布和支持。mysql ab是一家基于mysql開發(fā)人員的商業(yè)公司,它是一家使用了一種成功的商業(yè)模式來結(jié)合開源價值和方法論的第二代開源公司。mysql是mysql ab的注冊商標。mysql是一個快速的、多線程、多用戶和健壯的sql數(shù)據(jù)庫服務(wù)器。mysql服務(wù)器支持關(guān)鍵任務(wù)、重負載生產(chǎn)系統(tǒng)的使用,也可以將它嵌入到一個大配置(mass-deployed)的軟件中去。2.2 開源框架介紹2.2.1 struts2.0struts 2.0是從struts 1.0發(fā)展而來,但實際上struts 2.0與struts 1.0在框架的設(shè)計思想上面還是有很大的區(qū)別,struts 2.0是以webwork的設(shè)計思想為核心,因此,可以認為struts 2.0是struts 1.0和webwork結(jié)合的產(chǎn)物。struts2的簡單處理流程如下:(1)瀏覽器發(fā)送請求(2)中心處理器根據(jù)struts.xml文件查找對應(yīng)的處理請求的action類(3)webwork的攔截器鏈自動對請求應(yīng)用通用功能,例如:workflow、validation等功能(4)如果struts.xml文件中配置method參數(shù),則調(diào)用method參數(shù)對應(yīng)的action類中的method方法,否則調(diào)用通用的execute方法來處理用戶請求(5)將action類中的對應(yīng)方法返回的結(jié)果響應(yīng)給瀏覽器2.3 開源技術(shù)介紹2.3.1 ajax ajax(asynchronous javascript and xml)是結(jié)合了java技術(shù)、xml以及javascript等編程技術(shù),可以讓開發(fā)人員構(gòu)建基于java技術(shù)的web應(yīng)用,并打破了使用頁面重載的慣例。 ajax是使用客戶端腳本與web服務(wù)器交換數(shù)據(jù)的web應(yīng)用開發(fā)方法。這樣,web頁面不用打斷交互流程進行重新加裁,就可以動態(tài)地更新。使用ajax,用戶可以創(chuàng)建接近本地桌面應(yīng)用的直接、高可用、更豐富、更動態(tài)的web用戶界面。 異步j(luò)avascript和xml(ajax)不是什么新技術(shù),而是指這樣一種方法:使用幾種現(xiàn)有技術(shù)包括級聯(lián)樣式表(css)、javascript、xhtml、xml和可擴展樣式語言轉(zhuǎn)換(xslt),開發(fā)外觀及操作類似桌面軟件的web應(yīng)用軟件。實現(xiàn)ajax的所有組件都已存在了許多年。2.4 設(shè)計模式介紹java目前出現(xiàn)的這些框架而言,其最終目的都是為了解除耦合,而mvc解除的是view和model間的耦合。mvc包含三個基礎(chǔ)部分:model、view和controller,即模型、視圖和控制器,這三個部分以最小的耦合協(xié)同工作,以增加程序的可擴展性和可維護性。各個部分的實現(xiàn)技術(shù)可以總結(jié)如下:(1)model:javabean、ejb的entitybean模型(model):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對其它層來說是黑箱操作,模型接受視圖請求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計是mvc最主要的核心。(2)view:jsp、struts的taglib視圖(view)代表用戶交互界面,對于web應(yīng)用來說,可以概括為html界面,但有可能為xhtml、xml和applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個應(yīng)用可能有很多不同的視圖,mvc設(shè)計模式對于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(model)處理。比如一個訂單的視圖只接受來自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請求傳遞給控制和模型。 (3)controller:struts的actionservlet、action控制(control):用來接收和轉(zhuǎn)發(fā)用戶的交互信息,調(diào)用模型層進行相關(guān)的處理,將矗立的結(jié)果交給相應(yīng)的視圖顯示給用戶。2.5 j2ee簡介2.4.1 j2ee的概念j2ee是一種利用java 2平臺來簡化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問題的體系結(jié)構(gòu)。j2ee技術(shù)的基礎(chǔ)就是核心java平臺或java 2平臺的標準版,j2ee不僅鞏固了標準版中的許多優(yōu)點,例如編寫一次、隨處運行的特性、方便存取數(shù)據(jù)庫的jdbc api、corba技術(shù)以及能夠在internet應(yīng)用中保護數(shù)據(jù)的安全模式等等,同時還提供了對 ejb(enterprise javabeans)、java servlets api、jsp(java server pages)以及xml技術(shù)的全面支持。其最終目的就是成為一個能夠使企業(yè)開發(fā)者大幅縮短投放市場時間的體系結(jié)構(gòu)。 j2ee體系結(jié)構(gòu)提供中間層集成框架用來滿足無需太多費用而又需要高可用性、高可靠性以及可擴展性的應(yīng)用的需求。通過提供統(tǒng)一的開發(fā)平臺,j2ee降低了開發(fā)多層應(yīng)用的費用和復(fù)雜性,同時提供對現(xiàn)有應(yīng)用程序集成強有力支持,完全支持enterprise javabeans,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強了安全機制,提高了性能。2.4.2 j2ee的優(yōu)點j2ee為搭建具有可伸縮性、靈活性、易維護性的商務(wù)系統(tǒng)提供了良好的機制,基于j2ee平臺的產(chǎn)品幾乎能夠在任何操作系統(tǒng)和硬件配置上運行,現(xiàn)有的操作系統(tǒng)和硬件也能被保留使用?;趈2ee的應(yīng)用程序不依賴任何特定操作系統(tǒng)、中間件、硬件。因此設(shè)計合理的基于j2ee的程序只需開發(fā)一次就可部署到各種平臺。一些j2ee部署在windows環(huán)境中,也可選擇健壯性能更好的操作系統(tǒng)如sun solaris、ibm os/390。最健壯的操作系統(tǒng)可達到99.999%的可用性或每年只需5分鐘停機時間。這是實時性很強商業(yè)系統(tǒng)理想的選擇。2.4.3 j2ee四層模型j2ee 的多層企業(yè)級應(yīng)用模型將兩層化模型中的不同層面切分成許多層。一個多層化應(yīng)用能夠為不同的每種服務(wù)提供一個獨立的層,圖2-2是 j2ee 典型的層結(jié)構(gòu):圖2-22.6 與其他技術(shù)的比較2.6.1 asp開發(fā)語言 asp全名active server pages,是一個web服務(wù)器端的開發(fā)環(huán)境,利用它可以產(chǎn)生和執(zhí)行動態(tài)的、互動的、高性能的web服務(wù)應(yīng)用程序。asp采用腳本語言vbscript(java script)作為自己的開發(fā)語言,開發(fā)比較簡單。asp只能執(zhí)行于微軟的服務(wù)器產(chǎn)品,iis(internet information server),而且每次執(zhí)行都要進行編譯,所以性能比較低。而且asp所有代碼均寫在頁面中,表現(xiàn)與實現(xiàn)混合在一起,安全性差,只要得到頁面,便能得到全部源碼。2.6.2 php開發(fā)語言php是一種跨平臺的服務(wù)器端的嵌入式腳本語言。它大量地借用c,java和perl語言的語法, 并耦合php自己的特性,使web開發(fā)者能夠快速地寫出動態(tài)產(chǎn)生頁面。它支持目前絕大多數(shù)數(shù)據(jù)庫。而且php是完全免費的。由于php本身存在的一些缺點,使得它不適合應(yīng)用于大型電子商務(wù)站點,而更適合一些小型的商業(yè)站點。首先,php缺乏規(guī)模支持。其次,缺乏多層結(jié)構(gòu)支持。對于大負荷站點,解決方法只有一個:分布計算。數(shù)據(jù)庫、應(yīng)用邏輯層、表示邏輯層彼此分開,而且同層也可以根據(jù)流量分開,群組成二維數(shù)組。而php則缺乏這種支持。而且php提供的數(shù)據(jù)庫接口支持不統(tǒng)一,這就使得它不適合運用在電子商務(wù)中。2.6.3 jsp開發(fā)語言jsp是sun公司推出的新一代網(wǎng)站開發(fā)語言,jsp可以在serverlet和javabean的支持下,完成功能強大的站點程序。jsp技術(shù)能夠支持高度復(fù)雜的基于web的應(yīng)用。jsp頁面的內(nèi)置腳本語言基于java程序設(shè)計語言,所有的jsp頁面都被編譯成為java servlet,所以jsp頁面就具有java技術(shù)的所有好處,包括健壯的存儲管理和安全性。作為java平臺的一部分,jsp擁有java程序設(shè)計語言“一次編寫,到處執(zhí)行”的特點。jsp可以執(zhí)行于所有平臺。如win nt,linux,unix。從一個平臺移植到另外一個平臺,jsp和javabean甚至不用重新編譯,因為java字節(jié)碼都是標準的與平臺無關(guān)的。對于腳本語言來講,jsp雖然在開發(fā)和部署方面相對其他腳本語言來說要復(fù)雜一些,但對于跨平臺的中大型網(wǎng)站系統(tǒng)來講,基于java技術(shù)的jsp(結(jié)合javabean和ejb)幾乎成為唯一的選擇。第三章 系統(tǒng)分析3.1需求概述3.1.1 業(yè)務(wù)功能為用戶提供信息服務(wù),同時提高企業(yè)知名度。3.1.2 系統(tǒng)目標(1) 界面設(shè)計友好和美觀。(2) 在首頁中提供預(yù)覽信息的功能,并且信息分類明確。(3) 用戶能夠方便地查看某類別中的所有信息和信息的詳細內(nèi)容。(4) 能夠?qū)崿F(xiàn)站內(nèi)信息搜索,如定位查詢、模糊查詢。(5) 對用戶輸入的數(shù)據(jù),能夠進行嚴格的數(shù)據(jù)檢驗,并給予信息提示。(6) 具有操作方便和功能強大的后臺信息審核功能。(7) 具有操作方便的后臺付費設(shè)置功能。(8) 具有易維護性和易操作性。3.1.3 功能要求1. 前臺主要實現(xiàn)信息顯示,信息搜索,和信息發(fā)布.其中信息顯示包括列表顯示和詳細顯示;2. 后臺主要實現(xiàn)信息顯示,信息刪除與信息審核等功能模塊。3.1.4系統(tǒng)功能結(jié)構(gòu)都市供求信息網(wǎng)前臺功能結(jié)構(gòu)如圖3-1所示:圖3-1都市供求信息網(wǎng)后臺功能如圖3-2所示:圖 3-1 業(yè)務(wù)流程遷移圖3.2 業(yè)務(wù)流程分析圖3-2第三章 概要設(shè)計4.1系統(tǒng)設(shè)計4.1.1表現(xiàn)層 由jsp和struts標簽庫實現(xiàn),主要用于用戶交互和處理結(jié)果展現(xiàn)給用戶。4.1.2控制層 運用struts2.0框架的actionservlet和action進行控制轉(zhuǎn)發(fā),主要作用是描述應(yīng)用程序中的商業(yè)流程,調(diào)用相應(yīng)的dao進行結(jié)果控制。4.1.3 dao層 運用傳統(tǒng)的jdbc進行數(shù)據(jù)庫增刪改查的操作4.2數(shù)據(jù)庫設(shè)計供求信息實體屬性圖如圖4-1所示:圖4-1信息類別實體屬性圖如圖4-2所示:圖4-2管理員實體屬性圖如圖4-3所示:圖4-3數(shù)據(jù)庫邏輯機構(gòu)圖如圖4-4所示:圖4-4表4-1 tb_info表結(jié)構(gòu)field namefield typesizeiskeywordallownullisautoincrementid int2ynyinfo_typeint2nyninfo_titlevarchar80nyninfo_contentvarchar1000nyninfo_linkmanvarchar50nyninfo_phonevarchar50nyninfo_emailvarchar100nyninfo_datedatetime8nyninfo_statevarchar1nyninfo_payforvarchar1nyn表4-2 tb_type表結(jié)構(gòu)field namefield typesizeiskeywordallownullisautoincrementidint2ynytype_signint2nyntype_namevarchar20nyntype_infovarchar20nyn表 4-3 tb_user表結(jié)構(gòu)field namefield typesizeiskeywordallownullisautoincrementidint2ynyuser_namevarchar20nynuser_passwordvarchar10nyn第五章 系統(tǒng)詳細設(shè)計5.1 struts2.0的配置5.1.1 struts2.0文件的配置:將struts2.0標簽庫文件放入web-inf文件夾下,在web.xml文件中配置標簽庫,格式如下:struts2org.apache.struts2.dispatcher.filterdispatcherstruts2/* org.springframework.web.context.contextloaderlistener 5.1.2 struts2.0類庫的配置:將struts2.0的類庫文件放入web-inf下lib文件夾下,xwork-2.0.4.jar、struts2-tiles-plugin-2.0.4.jar、struts2-struts1-plugin-2.0.4.jar、struts2-spring-plugin-2.0.4.jar、struts2-sitemesh-plugin-2.0.4.jar、struts2-jsf-plugin-.jar、struts2-jfreechart-plugin-.jar、struts2-core-.jar。struts.xml和cityinfo.xml放在src,具體配置如下:struts.xml: cityinfo.xml: /view/indextemp.jsp /view/indextemp.jsp /view/indextemp.jsp /pages/admin/login.jsp /pages/admin/view/admintemp.jsp goindex /pages/admin/view/admintemp.jsp /pages/admin/view/admintemp.jsp admin_* listshow admin_listshow.action /pages/admin/view/admintemp.jsp /pages/admin/view/admintemp.jsp 5.2 系統(tǒng)編碼實現(xiàn)(1)本系統(tǒng)采用了二分欄結(jié)構(gòu),分為4個區(qū)域,即頁頭、側(cè)欄、頁尾和內(nèi)容顯示區(qū)。通過主界面上的按鈕,可對各類信息進行瀏覽操作,同時還可以發(fā)布各類信息如圖5-1所示。圖5-1 供求信息網(wǎng)主界面(2)單擊“招聘信息”導(dǎo)航按鈕,對發(fā)布的招聘信息進行瀏覽操作。(3)單擊“培訓(xùn)信息”導(dǎo)航按鈕,對發(fā)布的培訓(xùn)信息進行瀏覽操作。(4)單擊“房屋信息”導(dǎo)航按鈕,對發(fā)布的房屋信息進行瀏覽操作。(5)單擊“求購信息”導(dǎo)航按鈕,對發(fā)布的求購信息進行瀏覽操作。(6)單擊“招商引資”導(dǎo)航按鈕,對發(fā)布的招商引資信息進行瀏覽操作。(7)單擊“公寓信息”導(dǎo)航按鈕,對發(fā)布的公寓信息進行瀏覽操作。(8)單擊“求職信息”導(dǎo)航按鈕,對發(fā)布的求職信息進行瀏覽操作。(9)單擊“家教信息”導(dǎo)航按鈕,對發(fā)布的家教信息進行瀏覽操作。(10)單擊“車輛信息”導(dǎo)航按鈕,對發(fā)布的車輛信息進行瀏覽操作。(11)單擊“出售信息”導(dǎo)航按鈕,對發(fā)布的出售信息進行瀏覽操作。(12)單擊“尋找啟示”導(dǎo)航按鈕,對發(fā)布的尋找啟示信息進行瀏覽操作。(13)單擊“進入后臺”按鈕,首先進入登陸界面,如圖5-2所示,輸入用戶名及密碼進入后臺管理界面,如圖5-3所示。圖5-2圖5-3(14)用戶可過“付費狀態(tài)”區(qū)域下的單選按鈕或者“審核狀態(tài)”區(qū)域下的單選按鈕,進行查詢信息、刪除信息及審核信息操作,如圖5-5所示:圖5-5(15)如需要對某條信息進行設(shè)置付費狀態(tài),則將該條的信息id輸入到“付費設(shè)置”區(qū)域下的文本框中,然后單擊“查詢”按鈕,如圖5-6所示。(16)在設(shè)置付費狀態(tài)頁面,單擊“設(shè)為付費”按鈕,即設(shè)置付費狀態(tài)完成,如果不需要此條信息,可單擊“刪除信息”按鈕,將此條信息刪除如圖5-7所示。5.3 公共類設(shè)計5.3.1 數(shù)據(jù)庫鏈接及操作類db類主要是對數(shù)據(jù)庫的操作,如連接和關(guān)閉數(shù)據(jù)庫,以及執(zhí)行sql語句操作數(shù)據(jù)庫。每一種操作對應(yīng)一個方法,如getcon()方法用來獲取數(shù)據(jù)庫連接,closed()方法用來關(guān)閉數(shù)據(jù)庫連接,而對數(shù)據(jù)庫的增、刪、改、查等操作都在dopstm()方法中實現(xiàn),該方法是通過preparedstatement對象來執(zhí)行sql語句的。執(zhí)行查詢的sql語句后,返回的結(jié)果是resultset結(jié)果集對象;執(zhí)行更新的sql語句,則返回影響的記錄數(shù)。db類中的dopstm()方法用來操作數(shù)據(jù)庫,但其并沒有返回值,在執(zhí)行了上述兩種sql語句后,通過創(chuàng)建返回resultset結(jié)果集對象的方法,在執(zhí)行dopstm()方法操作數(shù)據(jù)庫后,調(diào)用其中一個方法返回需要的值。核心代碼如下:public void dopstm(string sql,object params)if(sql!=null&!sql.equals()if(params=null)params=new object0;getcon();if(con!=null)trysystem.out.println(sql);pstm=con.preparestatement(sql,resultset.type_scroll_insensitive,resultset.concur_read_only);for(int i=0;iparams.length;i+)pstm.setobject(i+1,paramsi);pstm.execute();catch(sqlexception e)system.out.println(dopstm()方法出錯!);e.printstacktrace();5.3.2 業(yè)務(wù)處理類opdb類實現(xiàn)了處理本系統(tǒng)中用戶請求的所有業(yè)務(wù)的操作,如信息顯示、信息發(fā)布、管理員登錄、信息審核、信息刪除等。幾乎每一個用戶請求的業(yè)務(wù),在opdb類中都對應(yīng)著一個方法,具有相同性質(zhì)的業(yè)務(wù)可在一個方法中實現(xiàn)。在這些方法中,通過調(diào)用db類中的dopstm()方法來對數(shù)據(jù)庫進行操作。opdb類中的方法與方法所處理的業(yè)務(wù)如表5-1所示:表5-1:方法返回值實現(xiàn)業(yè)務(wù)opgetlistbox()java.util.treemap初始化主頁導(dǎo)航菜單項與后臺下拉列表狂選項oplistshow()java.util.list信息列表顯示opsingleshow()com.yxp.model.infosingle查看信息詳細內(nèi)容opupdate()int信息發(fā)布、信息審核、信息刪除、付費設(shè)置logon()boolean管理員登錄opcreatepage()com.yxp.model.createpage分頁設(shè)置5.3.3 分頁類createpage類用來封裝分頁信息,這些信息都保存在createpage類的響應(yīng)屬性中createpage類的屬性有:當(dāng)前頁碼、總頁數(shù)、總記錄數(shù)、每頁顯示的記錄數(shù)、分頁導(dǎo)航欄信息、分頁狀態(tài)顯示信息,并在類的構(gòu)造方法中為這些屬性賦初始值。分頁信息中的總記錄數(shù),通過查詢數(shù)據(jù)庫來獲得??傢摂?shù)通過獲得總記錄數(shù)后與每頁顯示的記錄數(shù)計算得到,算法如下:總頁數(shù)=(總記錄數(shù)%每頁顯示記錄=0)?(總記錄數(shù)/每頁顯示記錄):(總記錄數(shù)/每頁顯示記錄+1),先設(shè)置總記錄數(shù),再來設(shè)置總頁數(shù)。核心代碼如下:/* 計算總頁數(shù) */public void setallp()allp=(allr%perr=0)?(allr/perr):(allr/perr+1);/* 設(shè)置當(dāng)前頁碼 */public void setcurrentp(string currentp) if(currentp=null|currentp.equals()currentp=1;trycurrentp=integer.parseint(currentp);catch(numberformatexception e)currentp=1;e.printstacktrace();if(currentpallp)currentp=allp;5.3.4 字符串處理類字符串處理類用來解決程序中經(jīng)常出現(xiàn)的有關(guān)字符串處理的問題,在本系統(tǒng)的字符串處理類中實現(xiàn)了轉(zhuǎn)換字符串中的html字符和將日期型數(shù)據(jù)轉(zhuǎn)換為字符串的兩種操作。字符串處理類dostring的實現(xiàn)過程如下:(1)創(chuàng)建轉(zhuǎn)換字符串中的html字符的方法htmlchange()。代碼如下:public static string htmlchange(string source)string changestr=;changestr=source.replaceall(&,&);changestr=changestr.replaceall( , );changestr=changestr.replaceall(,>);changestr=changestr.replaceall(rn,);return changestr;(2)創(chuàng)建轉(zhuǎn)換日期格式為string型的方法datetimechange()。代碼如下:public static string datetimechange(date source)simpledateformat format=new simpledateformat(yyyy-mm-dd hh:mm:ss);string changetime=format.format(source);return changetime;該方法主要調(diào)用java.text.simpledateformat類來轉(zhuǎn)換日期型數(shù)據(jù)為string型。使用該類進行轉(zhuǎn)換,首先創(chuàng)建一個simpledateformat類對象,在創(chuàng)建的同時指定了格式化日期為string后的格式為yyyy-mm-dd hh:mm:ss,即 年-月-日 時:分:秒,然后調(diào)用該類的format(java.util.date)方法將date型轉(zhuǎn)換為string型。結(jié)論本系統(tǒng)主要介紹了都市信息供求系統(tǒng)的設(shè)計與實現(xiàn),通過此系統(tǒng),用戶可以更好的使用信息與發(fā)布信息,同時該系統(tǒng)借助struts2.0,增強了人機界面的人性化設(shè)計。本系統(tǒng)主要用到的工具有eclipse、dreamweaver等工具為主要開發(fā)工具,以mysql為開發(fā)數(shù)據(jù)庫,采用mvc開發(fā)模式,結(jié)合struts框架,實現(xiàn)了系統(tǒng)的基本功能。致謝語本研究及學(xué)位論文是在我的導(dǎo)師劉曉華的親切關(guān)懷和悉心指導(dǎo)下完成的。她嚴肅的科學(xué)態(tài)度,嚴謹?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵著我。從課題的選擇到項目的最終完成,劉老師都始終給予我細心的指導(dǎo)和不懈的支持。兩個月依賴,劉老師在學(xué)業(yè)上給我以精心指導(dǎo),在此謹向鄭老師致以誠摯的謝意和崇高的敬意。 在此,我還要感謝在一起愉快的度過大學(xué)生活的同學(xué)們,正是由于你們的幫助和支持,我才能克服一個一個的困難和疑惑,直至本文的順利完成。 在論文即將完成之際,我的心情無法平靜,從開始進入課題到論文的順利完成,有多少可敬的師長、同學(xué)、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!最后我還要感謝培養(yǎng)我長大含辛茹苦的父母,謝謝你們! 參考文獻1 (美)哈羅普(harrop,p.),(美)馬可賽克(machacek,j.) 著, spring專業(yè)開發(fā)指南電子工業(yè)出版社20062 narty hall. servlet與jsp核心技術(shù). 人民郵電出版社,20043 孫衛(wèi)勤. 精通struts. 電子工業(yè)出版社,20054 劉亞賓、楊紅. 精通eclipse. 電子工業(yè)出版社,20035 (美)沃爾斯,(美)布雷登巴赫 著.spring in action(第二版),人民郵電出版社,20086 三揚科技 著. struts 2核心技術(shù)與java ee框架整合開發(fā), 電子工業(yè)出版社,20087 deepak alur john crupi dan malkscore j2ee patterns機械工業(yè)出版社,20058 sun 公司. java help document,2006 9 joshua bloch. effective java中文版. 機械工業(yè)出版社,200510 李東升. jdbc數(shù)據(jù)庫編程與j2ee. 清華大學(xué)出版社,200411 deepak alur. j2ee核心設(shè)計模式. 機械工業(yè)出版社,200512 陳云芳著. 精通struts 2基于mvc的java web應(yīng)用開發(fā)實戰(zhàn). 人民郵電出版社,200813 李剛 著. struts 2 權(quán)威指南:基于webwork核心的mvc開發(fā). 電子工業(yè)出版社,2007附錄部分action:import java.util.list;import com.yxq.actionsuper.adminsuperaction;import com.yxq.dao.opdb;import com.yxq.model.createpage;public class adminaction extends adminsuperaction /* 功能:管理員操作-進行列表顯示信息 */public string listshow()request.setattribute(mainpage,./info/listshow.jsp);session.remove(adminop);int infotype=showtype.getinfotype();string statetype=showtype.getstatetype();string payfortype=showtype.getpayfortype();session.put(infotype,integer.valueof(infotype); /保存已選擇的“信息類別”的選項session.put(payfortype,payfortype);/保存已選擇的“付費狀態(tài)”的選項session.put(statetype,statetype);/保存已選擇的“審核狀態(tài)”的選項string sqlall=;string sqlsub=;object params=null;string mark=;int perr=8;if(!statetype.equals(all)&!payfortype.equals(all)/沒有同時選擇“付費狀態(tài)”與“審核狀態(tài)”中的“全部”選項mark=1;sqlall=select * from tb_info where (info_type=?) and (info_state=?) and (info_payfor=?) order by info_date desc;sqlsub=select top +perr+ * from tb_info where (info_type=?) and (info_state=?) and (info_payfor=?) order by info_date desc;params=new object3;params0=integer.valueof(infotype);params1=statetype;params2=payfortype;else if(statetype.equals(all)&payfortype.equals(all)/同時選擇了“付費狀態(tài)”與“審核狀態(tài)”中的“全部”選項mark=2;sqlall=select * from tb_info where (info_type=?) order by info_date desc;sqlsub=select top +perr+ * from tb_info where (info_type=?) order by info_date desc;params=new object1;params0=integer.valueof(infotype);else if(payfortype.equals(all)/選擇了“付費狀態(tài)”中的“全部”選項,“審核狀態(tài)”選項任意mark=3;sqlall=select * from tb_info where (info_type=?) and (info_state=?) order by info_date desc;sqlsub=select top +perr+ * from tb_info where (info_type=?) and (info_state=?) order by info_date desc;params=new object2;params0=integer.valueof(infotype);params1=statetype;else if(statetype.equals(all) /選擇了“審核狀態(tài)”中的“全部”選項,“付費狀態(tài)”選項任意mark=4;sqlall=select * from tb_info where (info_type=?) and (info_payfor=?) order by info_date desc;sqlsub=select top +perr+ * from tb_info where (info_type=?) and (info_payfor=?) order by info_d
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代辦公環(huán)境的網(wǎng)絡(luò)安全培訓(xùn)
- 未來學(xué)習(xí)模式基于網(wǎng)絡(luò)教育平臺的思考
- 現(xiàn)代辦公空間中的綠色環(huán)保用品設(shè)計思考
- 2024年四年級品德與社會上冊 第三單元 生活在這里真好 第11課《我家來了新鄰居》說課稿 粵教版001
- 2024-2025學(xué)年高中物理 第十二章 機械波 4 波的衍射和干涉說課稿4 新人教版選修3-4001
- Module 1 Unit 1 She's a nice teacher(說課稿)-2023-2024學(xué)年外研版(三起)英語四年級下冊
- 2023九年級化學(xué)上冊 第一章 大家都來學(xué)化學(xué)1.2 化學(xué)實驗室之旅說課稿(新版)粵教版001
- 2025農(nóng)村養(yǎng)殖場場地租地合同
- 2025國際專利技術(shù)許可合同模板版
- Unit 5 Nature and Culture(說課稿)2023-2024學(xué)年人教新起點版英語六年級下冊
- 電動汽車用驅(qū)動電機系統(tǒng)-編制說明
- 江蘇卷2024年高三3月份模擬考試化學(xué)試題含解析
- (正式版)JTT 1497-2024 公路橋梁塔柱施工平臺及通道安全技術(shù)要求
- 2024年四川省成都市新都區(qū)中考英語一診試卷(含解析)
- 醫(yī)療器械物價收費申請流程
- 招聘專員轉(zhuǎn)正述職報告
- “一帶一路”背景下的西安市文化旅游外宣翻譯研究-基于生態(tài)翻譯學(xué)理論
- 2024年江蘇省昆山市六校中考聯(lián)考(一模)化學(xué)試題
- 大學(xué)生文學(xué)常識知識競賽考試題庫500題(含答案)
- 國家電網(wǎng)智能化規(guī)劃總報告
- 邢臺市橋西區(qū)2024年事業(yè)單位考試《公共基礎(chǔ)知識》全真模擬試題含解析
評論
0/150
提交評論