[JAVA畢業(yè)論文]Struts2.0開發(fā)-都市供求信息網(wǎng)_第1頁
[JAVA畢業(yè)論文]Struts2.0開發(fā)-都市供求信息網(wǎng)_第2頁
[JAVA畢業(yè)論文]Struts2.0開發(fā)-都市供求信息網(wǎng)_第3頁
[JAVA畢業(yè)論文]Struts2.0開發(fā)-都市供求信息網(wǎng)_第4頁
[JAVA畢業(yè)論文]Struts2.0開發(fā)-都市供求信息網(wǎng)_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、山東工商學(xué)院2009屆畢業(yè)論文引言都市供求信息網(wǎng)是某公司一個(gè)開發(fā)項(xiàng)目,網(wǎng)站性質(zhì)為信息服務(wù)類型,可為信息發(fā)布者有償與無償提供招聘、求職、培訓(xùn)、房屋和出售等信息。為實(shí)現(xiàn)網(wǎng)絡(luò)資源的合理利用,結(jié)合國內(nèi)互聯(lián)網(wǎng)發(fā)展現(xiàn)狀,通過對(duì)網(wǎng)絡(luò)各類信息的整合分類與發(fā)布,實(shí)現(xiàn)不同人群對(duì)不同信息的需求。提升網(wǎng)絡(luò)資源的利用率,對(duì)城市各類公司企業(yè)信息進(jìn)行合理分配,實(shí)現(xiàn)網(wǎng)絡(luò)資源利用率的最大化。第一章 網(wǎng)站概述1.1 國內(nèi)外研究現(xiàn)狀九十年代迅速發(fā)展和普及的個(gè)人計(jì)算機(jī)及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)將人類帶入了信息時(shí)代。各行業(yè)的信息化工作是適應(yīng)時(shí)代要求的迫切任務(wù)。信息化的含義比較廣泛,至少要包括知識(shí)信息的生產(chǎn)、信息的傳播和擴(kuò)散及反饋等過程。計(jì)算機(jī)網(wǎng)

2、絡(luò)技術(shù)的發(fā)展為迅速、便捷的信息傳播、擴(kuò)散提供了有效實(shí)用的工具,也正是因?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展提供了這樣的工具,才使人類進(jìn)入了信息化時(shí)代, 同時(shí)也帶動(dòng)了都市信息化的建設(shè)進(jìn)程。雖然不能說信息化等同于計(jì)算機(jī)網(wǎng)絡(luò)技術(shù),但利用網(wǎng)絡(luò)技術(shù)進(jìn)行知識(shí)信息傳播是信息化工作的一項(xiàng)重要內(nèi)容。目前, 國內(nèi)信息供求網(wǎng)站發(fā)展比較迅速, 國內(nèi)比較有名阿里巴巴, 淘寶網(wǎng)等。但是國內(nèi)大多數(shù)信息供求網(wǎng)站尚有不足之處, 例如網(wǎng)站信息量不夠充實(shí),網(wǎng)站安全性和真實(shí)性尚待加強(qiáng),服務(wù)體系不夠完善等。相對(duì)與國內(nèi)信息供求網(wǎng)站,國外信息供求網(wǎng)站發(fā)展較早,相對(duì)國內(nèi)來說較為成熟, 各類信息供求網(wǎng)站眾多且功能體系和服務(wù)體系較為完善, 例如韓國外經(jīng)貿(mào)部直

3、屬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)的特點(diǎn)本系統(tǒng)采用了struts2.0框架,比以往的struts1.0有很多優(yōu)點(diǎn),首先struts1的action類依賴與servlet api,從其execute的方法簽名可看出,execute方法有兩個(gè)servlet的參數(shù)httpservletrequest和httpse

4、rvletresponse,struts2則不依賴于servlet api,所以該系統(tǒng)易于修改。再者,struts2.0的驗(yàn)證機(jī)制較為完善,從而可以使用戶界面設(shè)計(jì)更加人性化。第二章 技術(shù)方法2.1 開發(fā)環(huán)境介紹2.1.1集成開發(fā)環(huán)境:eclipse2001 年11 月 ibm 宣布捐出了價(jià)值 4 千萬美金的開發(fā)軟件給開放源碼的 eclipse 項(xiàng)目。eclipse 是替代ibm visual age for java(以下簡稱ivj)的下一代ide開發(fā)環(huán)境,但它未來的目標(biāo)不僅僅是成為專門開發(fā)java程序的ide環(huán)境,根據(jù)eclipse的體系結(jié)構(gòu),通過開發(fā)插件,它能擴(kuò)展到任何語言的開發(fā),甚至能成

5、為圖片繪制的工具。目前,eclipse已經(jīng)開始提供c語言開發(fā)的功能插件。更難能可貴的是,eclipse是一個(gè)開放源代碼的項(xiàng)目,任何人都可以下載eclipse的源代碼,并且在此基礎(chǔ)上開發(fā)自己的功能插件。也就是說未來只要有人需要,就會(huì)有建立在eclipse之上的cobol,perl,python等語言的開發(fā)插件出現(xiàn)。同時(shí)可以通過開發(fā)新的插件擴(kuò)展現(xiàn)有插件的功能,比如在現(xiàn)有的java開發(fā)環(huán)境中加入tomcat服務(wù)器插件??梢詿o限擴(kuò)展,而且有著統(tǒng)一的外觀,操作和系統(tǒng)資源管理,這也正是eclipse的潛力所在。 雖然目前eclipse項(xiàng)目還沒有最后完成,但從已有的版本中已經(jīng)能領(lǐng)略到eclipse設(shè)計(jì)主導(dǎo)思

6、想和主要功能特點(diǎn)?,F(xiàn)在就了解eclipse不但能使廣大程序員對(duì)這款業(yè)界期望很高的ide能一睹為快,更為重要的是如果能參加到eclipse項(xiàng)目的開發(fā)中或是閱讀它的開放源代碼,這對(duì)廣大程序員來說無疑是一個(gè)千載難逢的提高編程水平的好機(jī)會(huì)。eclipse計(jì)劃提供多個(gè)平臺(tái)的版本,像windows,linux,solaris,hp-ux和aix,以下只介紹windows版本。2.1.2 web應(yīng)用服務(wù)器:tomcattomcat服務(wù)器是一個(gè)免費(fèi)的開放源代碼的web應(yīng)用服務(wù)器,它是apache軟件基金會(huì)(apache software foundation)的jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由apach

7、e、sun和其他一些公司及個(gè)人共同開發(fā)而成。由于有了sun的參與和支持,最新的servlet和jsp規(guī)范總是能在tomcat中得到體現(xiàn),tomcat5支持最新的servlet 2.4和jsp 2.0規(guī)范。因?yàn)閠omcat技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受java愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的web應(yīng)用服務(wù)器。tomcat服務(wù)器接受客戶請(qǐng)求并做出響應(yīng)的圖例,如圖2-1所示:圖2-1 tomcat服務(wù)器接受客戶請(qǐng)求并做出響應(yīng)的過程 客戶端(通常都是瀏覽器)訪問web服務(wù)器,發(fā)送htpp請(qǐng)求。 web服務(wù)器接收到請(qǐng)求后,傳遞給servlet容器。 servlet容器

8、加載servlet,產(chǎn)生servlet實(shí)例后,向其傳遞表示請(qǐng)求和響應(yīng)的對(duì)象。 servlet實(shí)例使用請(qǐng)求對(duì)象得到客戶端的請(qǐng)求信息,然后進(jìn)行相應(yīng)的處理。 servlet實(shí)例將處理結(jié)果通過響應(yīng)對(duì)象發(fā)送回客戶端,容器負(fù)責(zé)確保響應(yīng)正確送出,同時(shí)將控制返回給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é)合開源價(jià)值和方法論的第二代開源公司。mysql是mysql ab的注冊(cè)商標(biāo)。mysql是一個(gè)快速的、多線程、多用戶和健壯的

9、sql數(shù)據(jù)庫服務(wù)器。mysql服務(wù)器支持關(guān)鍵任務(wù)、重負(fù)載生產(chǎn)系統(tǒng)的使用,也可以將它嵌入到一個(gè)大配置(mass-deployed)的軟件中去。2.2 開源框架介紹2.2.1 struts2.0struts 2.0是從struts 1.0發(fā)展而來,但實(shí)際上struts 2.0與struts 1.0在框架的設(shè)計(jì)思想上面還是有很大的區(qū)別,struts 2.0是以webwork的設(shè)計(jì)思想為核心,因此,可以認(rèn)為struts 2.0是struts 1.0和webwork結(jié)合的產(chǎn)物。struts2的簡單處理流程如下:(1)瀏覽器發(fā)送請(qǐng)求(2)中心處理器根據(jù)struts.xml文件查找對(duì)應(yīng)的處理請(qǐng)求的actio

10、n類(3)webwork的攔截器鏈自動(dòng)對(duì)請(qǐng)求應(yīng)用通用功能,例如:workflow、validation等功能(4)如果struts.xml文件中配置method參數(shù),則調(diào)用method參數(shù)對(duì)應(yīng)的action類中的method方法,否則調(diào)用通用的execute方法來處理用戶請(qǐng)求(5)將action類中的對(duì)應(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是

11、使用客戶端腳本與web服務(wù)器交換數(shù)據(jù)的web應(yīng)用開發(fā)方法。這樣,web頁面不用打斷交互流程進(jìn)行重新加裁,就可以動(dòng)態(tài)地更新。使用ajax,用戶可以創(chuàng)建接近本地桌面應(yīng)用的直接、高可用、更豐富、更動(dòng)態(tài)的web用戶界面。 異步j(luò)avascript和xml(ajax)不是什么新技術(shù),而是指這樣一種方法:使用幾種現(xiàn)有技術(shù)包括級(jí)聯(lián)樣式表(css)、javascript、xhtml、xml和可擴(kuò)展樣式語言轉(zhuǎn)換(xslt),開發(fā)外觀及操作類似桌面軟件的web應(yīng)用軟件。實(shí)現(xiàn)ajax的所有組件都已存在了許多年。2.4 設(shè)計(jì)模式介紹java目前出現(xiàn)的這些框架而言,其最終目的都是為了解除耦合,而mvc解除的是view和

12、model間的耦合。mvc包含三個(gè)基礎(chǔ)部分:model、view和controller,即模型、視圖和控制器,這三個(gè)部分以最小的耦合協(xié)同工作,以增加程序的可擴(kuò)展性和可維護(hù)性。各個(gè)部分的實(shí)現(xiàn)技術(shù)可以總結(jié)如下:(1)model:javabean、ejb的entitybean模型(model):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對(duì)其它層來說是黑箱操作,模型接受視圖請(qǐng)求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)是mvc最主要的核心。(2)view:jsp、struts的taglib視圖(view)代表用戶交互界面,對(duì)于web應(yīng)用來說,可以概括為html界面,但有可能為xh

13、tml、xml和applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個(gè)應(yīng)用可能有很多不同的視圖,mvc設(shè)計(jì)模式對(duì)于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請(qǐng)求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(model)處理。比如一個(gè)訂單的視圖只接受來自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請(qǐng)求傳遞給控制和模型。 (3)controller:struts的actionservlet、action控制(control):用來接收和轉(zhuǎn)發(fā)用戶的交互信息,調(diào)用模型層進(jìn)行相關(guān)的處理,將矗立的結(jié)果交給相應(yīng)的視圖顯示給用戶。2.5 j2ee簡介2.4.1 j

14、2ee的概念j2ee是一種利用java 2平臺(tái)來簡化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問題的體系結(jié)構(gòu)。j2ee技術(shù)的基礎(chǔ)就是核心java平臺(tái)或java 2平臺(tái)的標(biāo)準(zhǔn)版,j2ee不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),例如編寫一次、隨處運(yùn)行的特性、方便存取數(shù)據(jù)庫的jdbc api、corba技術(shù)以及能夠在internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時(shí)還提供了對(duì) ejb(enterprise javabeans)、java servlets api、jsp(java server pages)以及xml技術(shù)的全面支持。其最終目的就是成為一個(gè)能夠使企業(yè)開發(fā)者大幅縮短投放市場時(shí)間的體系結(jié)構(gòu)。 j2ee

15、體系結(jié)構(gòu)提供中間層集成框架用來滿足無需太多費(fèi)用而又需要高可用性、高可靠性以及可擴(kuò)展性的應(yīng)用的需求。通過提供統(tǒng)一的開發(fā)平臺(tái),j2ee降低了開發(fā)多層應(yīng)用的費(fèi)用和復(fù)雜性,同時(shí)提供對(duì)現(xiàn)有應(yīng)用程序集成強(qiáng)有力支持,完全支持enterprise javabeans,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強(qiáng)了安全機(jī)制,提高了性能。2.4.2 j2ee的優(yōu)點(diǎn)j2ee為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制,基于j2ee平臺(tái)的產(chǎn)品幾乎能夠在任何操作系統(tǒng)和硬件配置上運(yùn)行,現(xiàn)有的操作系統(tǒng)和硬件也能被保留使用?;趈2ee的應(yīng)用程序不依賴任何特定操作系統(tǒng)、中間件、硬件。因此設(shè)計(jì)合理的基于

16、j2ee的程序只需開發(fā)一次就可部署到各種平臺(tái)。一些j2ee部署在windows環(huán)境中,也可選擇健壯性能更好的操作系統(tǒng)如sun solaris、ibm os/390。最健壯的操作系統(tǒng)可達(dá)到99.999%的可用性或每年只需5分鐘停機(jī)時(shí)間。這是實(shí)時(shí)性很強(qiáng)商業(yè)系統(tǒng)理想的選擇。2.4.3 j2ee四層模型j2ee 的多層企業(yè)級(jí)應(yīng)用模型將兩層化模型中的不同層面切分成許多層。一個(gè)多層化應(yīng)用能夠?yàn)椴煌拿糠N服務(wù)提供一個(gè)獨(dú)立的層,圖2-2是 j2ee 典型的層結(jié)構(gòu):圖2-22.6 與其他技術(shù)的比較2.6.1 asp開發(fā)語言 asp全名active server pages,是一個(gè)web服務(wù)器端的開發(fā)環(huán)境,利用它

17、可以產(chǎn)生和執(zhí)行動(dòng)態(tài)的、互動(dòng)的、高性能的web服務(wù)應(yīng)用程序。asp采用腳本語言vbscript(java script)作為自己的開發(fā)語言,開發(fā)比較簡單。asp只能執(zhí)行于微軟的服務(wù)器產(chǎn)品,iis(internet information server),而且每次執(zhí)行都要進(jìn)行編譯,所以性能比較低。而且asp所有代碼均寫在頁面中,表現(xiàn)與實(shí)現(xiàn)混合在一起,安全性差,只要得到頁面,便能得到全部源碼。2.6.2 php開發(fā)語言php是一種跨平臺(tái)的服務(wù)器端的嵌入式腳本語言。它大量地借用c,java和perl語言的語法, 并耦合php自己的特性,使web開發(fā)者能夠快速地寫出動(dòng)態(tài)產(chǎn)生頁面。它支持目前絕大多數(shù)數(shù)據(jù)庫

18、。而且php是完全免費(fèi)的。由于php本身存在的一些缺點(diǎn),使得它不適合應(yīng)用于大型電子商務(wù)站點(diǎn),而更適合一些小型的商業(yè)站點(diǎn)。首先,php缺乏規(guī)模支持。其次,缺乏多層結(jié)構(gòu)支持。對(duì)于大負(fù)荷站點(diǎn),解決方法只有一個(gè):分布計(jì)算。數(shù)據(jù)庫、應(yīng)用邏輯層、表示邏輯層彼此分開,而且同層也可以根據(jù)流量分開,群組成二維數(shù)組。而php則缺乏這種支持。而且php提供的數(shù)據(jù)庫接口支持不統(tǒng)一,這就使得它不適合運(yùn)用在電子商務(wù)中。2.6.3 jsp開發(fā)語言jsp是sun公司推出的新一代網(wǎng)站開發(fā)語言,jsp可以在serverlet和javabean的支持下,完成功能強(qiáng)大的站點(diǎn)程序。jsp技術(shù)能夠支持高度復(fù)雜的基于web的應(yīng)用。jsp頁

19、面的內(nèi)置腳本語言基于java程序設(shè)計(jì)語言,所有的jsp頁面都被編譯成為java servlet,所以jsp頁面就具有java技術(shù)的所有好處,包括健壯的存儲(chǔ)管理和安全性。作為java平臺(tái)的一部分,jsp擁有java程序設(shè)計(jì)語言“一次編寫,到處執(zhí)行”的特點(diǎn)。jsp可以執(zhí)行于所有平臺(tái)。如win nt,linux,unix。從一個(gè)平臺(tái)移植到另外一個(gè)平臺(tái),jsp和javabean甚至不用重新編譯,因?yàn)閖ava字節(jié)碼都是標(biāo)準(zhǔn)的與平臺(tái)無關(guān)的。對(duì)于腳本語言來講,jsp雖然在開發(fā)和部署方面相對(duì)其他腳本語言來說要復(fù)雜一些,但對(duì)于跨平臺(tái)的中大型網(wǎng)站系統(tǒng)來講,基于java技術(shù)的jsp(結(jié)合javabean和ejb)幾

20、乎成為唯一的選擇。第三章 系統(tǒng)分析3.1需求概述3.1.1 業(yè)務(wù)功能為用戶提供信息服務(wù),同時(shí)提高企業(yè)知名度。3.1.2 系統(tǒng)目標(biāo)(1) 界面設(shè)計(jì)友好和美觀。(2) 在首頁中提供預(yù)覽信息的功能,并且信息分類明確。(3) 用戶能夠方便地查看某類別中的所有信息和信息的詳細(xì)內(nèi)容。(4) 能夠?qū)崿F(xiàn)站內(nèi)信息搜索,如定位查詢、模糊查詢。(5) 對(duì)用戶輸入的數(shù)據(jù),能夠進(jìn)行嚴(yán)格的數(shù)據(jù)檢驗(yàn),并給予信息提示。(6) 具有操作方便和功能強(qiáng)大的后臺(tái)信息審核功能。(7) 具有操作方便的后臺(tái)付費(fèi)設(shè)置功能。(8) 具有易維護(hù)性和易操作性。3.1.3 功能要求1. 前臺(tái)主要實(shí)現(xiàn)信息顯示,信息搜索,和信息發(fā)布.其中信息顯示包括列

21、表顯示和詳細(xì)顯示;2. 后臺(tái)主要實(shí)現(xiàn)信息顯示,信息刪除與信息審核等功能模塊。3.1.4系統(tǒng)功能結(jié)構(gòu)都市供求信息網(wǎng)前臺(tái)功能結(jié)構(gòu)如圖3-1所示:圖3-1都市供求信息網(wǎng)后臺(tái)功能如圖3-2所示:圖 3-1 業(yè)務(wù)流程遷移圖3.2 業(yè)務(wù)流程分析圖3-2第三章 概要設(shè)計(jì)4.1系統(tǒng)設(shè)計(jì)4.1.1表現(xiàn)層 由jsp和struts標(biāo)簽庫實(shí)現(xiàn),主要用于用戶交互和處理結(jié)果展現(xiàn)給用戶。4.1.2控制層 運(yùn)用struts2.0框架的actionservlet和action進(jìn)行控制轉(zhuǎn)發(fā),主要作用是描述應(yīng)用程序中的商業(yè)流程,調(diào)用相應(yīng)的dao進(jìn)行結(jié)果控制。4.1.3 dao層 運(yùn)用傳統(tǒng)的jdbc進(jìn)行數(shù)據(jù)庫增刪改查的操作4.2數(shù)據(jù)

22、庫設(shè)計(jì)供求信息實(shí)體屬性圖如圖4-1所示:圖4-1信息類別實(shí)體屬性圖如圖4-2所示:圖4-2管理員實(shí)體屬性圖如圖4-3所示:圖4-3數(shù)據(jù)庫邏輯機(jī)構(gòu)圖如圖4-4所示:圖4-4表4-1 tb_info表結(jié)構(gòu)field namefield typesizeiskeywordallownullisautoincrementid int2ynyinfo_typeint2nyninfo_titlevarchar80nyninfo_contentvarchar1000nyninfo_linkmanvarchar50nyninfo_phonevarchar50nyninfo_emailvarchar100nyn

23、info_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_namevarcha

24、r20nynuser_passwordvarchar10nyn第五章 系統(tǒng)詳細(xì)設(shè)計(jì)5.1 struts2.0的配置5.1.1 struts2.0文件的配置:將struts2.0標(biāo)簽庫文件放入web-inf文件夾下,在web.xml文件中配置標(biāo)簽庫,格式如下:web-app version=2.4 xmlns=xmlns:xsi=/2001/xmlschema-instancexsi:schemalocation= struts2org.apache.struts2.dispatcher.filterdispatcherstruts2/* org.springfr

25、amework.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-

26、.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_* list

27、show admin_listshow.action /pages/admin/view/admintemp.jsp /pages/admin/view/admintemp.jsp 5.2 系統(tǒng)編碼實(shí)現(xiàn)(1)本系統(tǒng)采用了二分欄結(jié)構(gòu),分為4個(gè)區(qū)域,即頁頭、側(cè)欄、頁尾和內(nèi)容顯示區(qū)。通過主界面上的按鈕,可對(duì)各類信息進(jìn)行瀏覽操作,同時(shí)還可以發(fā)布各類信息如圖5-1所示。圖5-1 供求信息網(wǎng)主界面(2)單擊“招聘信息”導(dǎo)航按鈕,對(duì)發(fā)布的招聘信息進(jìn)行瀏覽操作。(3)單擊“培訓(xùn)信息”導(dǎo)航按鈕,對(duì)發(fā)布的培訓(xùn)信息進(jìn)行瀏覽操作。(4)單擊“房屋信息”導(dǎo)航按鈕,對(duì)發(fā)布的房屋信息進(jìn)行瀏覽操作。(5)單擊“求購信息”導(dǎo)航

28、按鈕,對(duì)發(fā)布的求購信息進(jìn)行瀏覽操作。(6)單擊“招商引資”導(dǎo)航按鈕,對(duì)發(fā)布的招商引資信息進(jìn)行瀏覽操作。(7)單擊“公寓信息”導(dǎo)航按鈕,對(duì)發(fā)布的公寓信息進(jìn)行瀏覽操作。(8)單擊“求職信息”導(dǎo)航按鈕,對(duì)發(fā)布的求職信息進(jìn)行瀏覽操作。(9)單擊“家教信息”導(dǎo)航按鈕,對(duì)發(fā)布的家教信息進(jìn)行瀏覽操作。(10)單擊“車輛信息”導(dǎo)航按鈕,對(duì)發(fā)布的車輛信息進(jìn)行瀏覽操作。(11)單擊“出售信息”導(dǎo)航按鈕,對(duì)發(fā)布的出售信息進(jìn)行瀏覽操作。(12)單擊“尋找啟示”導(dǎo)航按鈕,對(duì)發(fā)布的尋找啟示信息進(jìn)行瀏覽操作。(13)單擊“進(jìn)入后臺(tái)”按鈕,首先進(jìn)入登陸界面,如圖5-2所示,輸入用戶名及密碼進(jìn)入后臺(tái)管理界面,如圖5-3所示。圖

29、5-2圖5-3(14)用戶可過“付費(fèi)狀態(tài)”區(qū)域下的單選按鈕或者“審核狀態(tài)”區(qū)域下的單選按鈕,進(jìn)行查詢信息、刪除信息及審核信息操作,如圖5-5所示:圖5-5(15)如需要對(duì)某條信息進(jìn)行設(shè)置付費(fèi)狀態(tài),則將該條的信息id輸入到“付費(fèi)設(shè)置”區(qū)域下的文本框中,然后單擊“查詢”按鈕,如圖5-6所示。(16)在設(shè)置付費(fèi)狀態(tài)頁面,單擊“設(shè)為付費(fèi)”按鈕,即設(shè)置付費(fèi)狀態(tài)完成,如果不需要此條信息,可單擊“刪除信息”按鈕,將此條信息刪除如圖5-7所示。5.3 公共類設(shè)計(jì)5.3.1 數(shù)據(jù)庫鏈接及操作類db類主要是對(duì)數(shù)據(jù)庫的操作,如連接和關(guān)閉數(shù)據(jù)庫,以及執(zhí)行sql語句操作數(shù)據(jù)庫。每一種操作對(duì)應(yīng)一個(gè)方法,如getcon()

30、方法用來獲取數(shù)據(jù)庫連接,closed()方法用來關(guān)閉數(shù)據(jù)庫連接,而對(duì)數(shù)據(jù)庫的增、刪、改、查等操作都在dopstm()方法中實(shí)現(xiàn),該方法是通過preparedstatement對(duì)象來執(zhí)行sql語句的。執(zhí)行查詢的sql語句后,返回的結(jié)果是resultset結(jié)果集對(duì)象;執(zhí)行更新的sql語句,則返回影響的記錄數(shù)。db類中的dopstm()方法用來操作數(shù)據(jù)庫,但其并沒有返回值,在執(zhí)行了上述兩種sql語句后,通過創(chuàng)建返回resultset結(jié)果集對(duì)象的方法,在執(zhí)行dopstm()方法操作數(shù)據(jù)庫后,調(diào)用其中一個(gè)方法返回需要的值。核心代碼如下:public void dopstm(string sql,obje

31、ct 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(sqlexcepti

32、on e)system.out.println(dopstm()方法出錯(cuò)!);e.printstacktrace();5.3.2 業(yè)務(wù)處理類opdb類實(shí)現(xiàn)了處理本系統(tǒng)中用戶請(qǐng)求的所有業(yè)務(wù)的操作,如信息顯示、信息發(fā)布、管理員登錄、信息審核、信息刪除等。幾乎每一個(gè)用戶請(qǐng)求的業(yè)務(wù),在opdb類中都對(duì)應(yīng)著一個(gè)方法,具有相同性質(zhì)的業(yè)務(wù)可在一個(gè)方法中實(shí)現(xiàn)。在這些方法中,通過調(diào)用db類中的dopstm()方法來對(duì)數(shù)據(jù)庫進(jìn)行操作。opdb類中的方法與方法所處理的業(yè)務(wù)如表5-1所示:表5-1:方法返回值實(shí)現(xiàn)業(yè)務(wù)opgetlistbox()java.util.treemap初始化主頁導(dǎo)航菜單項(xiàng)與后臺(tái)下拉列表狂選項(xiàng)

33、oplistshow()java.util.list信息列表顯示opsingleshow()com.yxp.model.infosingle查看信息詳細(xì)內(nèi)容opupdate()int信息發(fā)布、信息審核、信息刪除、付費(fèi)設(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)造方法中為這些屬性賦初始值。

34、分頁信息中的總記錄數(shù),通過查詢數(shù)據(jù)庫來獲得??傢摂?shù)通過獲得總記錄數(shù)后與每頁顯示的記錄數(shù)計(jì)算得到,算法如下:總頁數(shù)=(總記錄數(shù)%每頁顯示記錄=0)?(總記錄數(shù)/每頁顯示記錄):(總記錄數(shù)/每頁顯示記錄+1),先設(shè)置總記錄數(shù),再來設(shè)置總頁數(shù)。核心代碼如下:/* 計(jì)算總頁數(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

35、;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)的字符串處理類中實(shí)現(xiàn)了轉(zhuǎn)換字符串中的html字符和將日期型數(shù)據(jù)轉(zhuǎn)換為字符串的兩種操作。字符串處理類dostring的實(shí)現(xiàn)過程如下:(1)創(chuàng)建轉(zhuǎn)換字符串中的html字符的方法htmlchange()。代碼如下:public static string

36、 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 so

37、urce)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型。使用該類進(jìn)行轉(zhuǎn)換,首先創(chuàng)建一個(gè)simpledateformat類對(duì)象,在創(chuàng)建的同時(shí)指定了格式化日期為string后的格式為yyyy-mm-dd hh:mm:ss,即 年-月-日 時(shí):分:秒,然后調(diào)用該類的format(java.util.d

38、ate)方法將date型轉(zhuǎn)換為string型。結(jié)論本系統(tǒng)主要介紹了都市信息供求系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),通過此系統(tǒng),用戶可以更好的使用信息與發(fā)布信息,同時(shí)該系統(tǒng)借助struts2.0,增強(qiáng)了人機(jī)界面的人性化設(shè)計(jì)。本系統(tǒng)主要用到的工具有eclipse、dreamweaver等工具為主要開發(fā)工具,以mysql為開發(fā)數(shù)據(jù)庫,采用mvc開發(fā)模式,結(jié)合struts框架,實(shí)現(xiàn)了系統(tǒng)的基本功能。致謝語本研究及學(xué)位論文是在我的導(dǎo)師劉曉華的親切關(guān)懷和悉心指導(dǎo)下完成的。她嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵(lì)著我。從課題的選擇到項(xiàng)目的最終完成,劉老師都始終給予我細(xì)心的指導(dǎo)和不懈的支持。兩個(gè)月

39、依賴,劉老師在學(xué)業(yè)上給我以精心指導(dǎo),在此謹(jǐn)向鄭老師致以誠摯的謝意和崇高的敬意。 在此,我還要感謝在一起愉快的度過大學(xué)生活的同學(xué)們,正是由于你們的幫助和支持,我才能克服一個(gè)一個(gè)的困難和疑惑,直至本文的順利完成。 在論文即將完成之際,我的心情無法平靜,從開始進(jìn)入課題到論文的順利完成,有多少可敬的師長、同學(xué)、朋友給了我無言的幫助,在這里請(qǐng)接受我誠摯的謝意!最后我還要感謝培養(yǎng)我長大含辛茹苦的父母,謝謝你們! 參考文獻(xiàn)1 (美)哈羅普(harrop,p.),(美)馬可賽克(machacek,j.) 著, spring專業(yè)開發(fā)指南電子工業(yè)出版社20062 narty hall. servlet與jsp核心

40、技術(shù). 人民郵電出版社,20043 孫衛(wèi)勤. 精通struts. 電子工業(yè)出版社,20054 劉亞賓、楊紅. 精通eclipse. 電子工業(yè)出版社,20035 (美)沃爾斯,(美)布雷登巴赫 著.spring in action(第二版),人民郵電出版社,20086 三揚(yáng)科技 著. struts 2核心技術(shù)與java ee框架整合開發(fā), 電子工業(yè)出版社,20087 deepak alur john crupi dan malkscore j2ee patterns機(jī)械工業(yè)出版社,20058 sun 公司. java help document,2006 9 joshua bloch. effe

41、ctive java中文版. 機(jī)械工業(yè)出版社,200510 李東升. jdbc數(shù)據(jù)庫編程與j2ee. 清華大學(xué)出版社,200411 deepak alur. j2ee核心設(shè)計(jì)模式. 機(jī)械工業(yè)出版社,200512 陳云芳著. 精通struts 2基于mvc的java web應(yīng)用開發(fā)實(shí)戰(zhàn). 人民郵電出版社,200813 李剛 著. struts 2 權(quán)威指南:基于webwork核心的mvc開發(fā). 電子工業(yè)出版社,2007附錄部分action:import java.util.list;import com.yxq.actionsuper.adminsuperaction;import com.yx

42、q.dao.opdb;import com.yxq.model.createpage;public class adminaction extends adminsuperaction /* 功能:管理員操作-進(jìn)行列表顯示信息 */public string listshow()request.setattribute(mainpage,./info/listshow.jsp);session.remove(adminop);int infotype=showtype.getinfotype();string statetype=showtype.getstatetype();string p

43、ayfortype=showtype.getpayfortype();session.put(infotype,integer.valueof(infotype); /保存已選擇的“信息類別”的選項(xiàng)session.put(payfortype,payfortype);/保存已選擇的“付費(fèi)狀態(tài)”的選項(xiàng)session.put(statetype,statetype);/保存已選擇的“審核狀態(tài)”的選項(xiàng)string sqlall=;string sqlsub=;object params=null;string mark=;int perr=8;if(!statetype.equals(all)&!p

44、ayfortype.equals(all)/沒有同時(shí)選擇“付費(fèi)狀態(tài)”與“審核狀態(tài)”中的“全部”選項(xiàng)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=ne

45、w object3;params0=integer.valueof(infotype);params1=statetype;params2=payfortype;else if(statetype.equals(all)&payfortype.equals(all)/同時(shí)選擇了“付費(fèi)狀態(tài)”與“審核狀態(tài)”中的“全部”選項(xiàng)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=?)

46、order by info_date desc;params=new object1;params0=integer.valueof(infotype);else if(payfortype.equals(all)/選擇了“付費(fèi)狀態(tài)”中的“全部”選項(xiàng),“審核狀態(tài)”選項(xiàng)任意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 (

47、info_state=?) order by info_date desc;params=new object2;params0=integer.valueof(infotype);params1=statetype;else if(statetype.equals(all) /選擇了“審核狀態(tài)”中的“全部”選項(xiàng),“付費(fèi)狀態(tài)”選項(xiàng)任意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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論