基于Struts技術(shù)的文章管理系統(tǒng)_第1頁
基于Struts技術(shù)的文章管理系統(tǒng)_第2頁
基于Struts技術(shù)的文章管理系統(tǒng)_第3頁
基于Struts技術(shù)的文章管理系統(tǒng)_第4頁
基于Struts技術(shù)的文章管理系統(tǒng)_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

畢業(yè)設(shè)計(jì)說明書基于Struts技術(shù)的文章管理系統(tǒng)學(xué)生姓名:學(xué)號(hào):學(xué)院:系名:電子與計(jì)算機(jī)科學(xué)技術(shù)系專業(yè):網(wǎng)絡(luò)工程指導(dǎo)教師: 2015年5月基于Struts技術(shù)的文章管理系統(tǒng)摘要近年來,Internet技術(shù)得到迅速的發(fā)展,已經(jīng)成為計(jì)算機(jī)產(chǎn)業(yè)的一個(gè)技術(shù)熱點(diǎn)。促成Internet高速發(fā)展的因素之一就是Web技術(shù)。Web技術(shù)的發(fā)展使得那些具有交互動(dòng)態(tài)頁面、有條理的數(shù)據(jù)庫查詢、豐富信息內(nèi)容的頁面成為最吸引人的網(wǎng)頁。瀏覽Web有著執(zhí)行Windows程序一樣的感覺和操作性。隨著Internet技術(shù)的發(fā)展,它已經(jīng)成為一種操作平臺(tái),為用戶提供強(qiáng)大的服務(wù),例如網(wǎng)上購物,網(wǎng)上電子商務(wù),社會(huì)信息數(shù)據(jù)庫服務(wù)等。作為計(jì)算機(jī)發(fā)展最迅速的領(lǐng)域之一的數(shù)據(jù)庫技術(shù),已經(jīng)形成了一整套獨(dú)有的理論,并廣泛地應(yīng)用于人們的生產(chǎn)和生活中。數(shù)據(jù)庫技術(shù)與網(wǎng)站的結(jié)合是當(dāng)今Web技術(shù)的一個(gè)熱點(diǎn)。有了數(shù)據(jù)庫的支持,可以擴(kuò)展網(wǎng)頁的功能,可以方便地設(shè)計(jì)出交互式頁面,可以構(gòu)造功能強(qiáng)大的后臺(tái)管理系統(tǒng),可以為網(wǎng)站的更新、維護(hù)提供極大的方便。因此,作為網(wǎng)絡(luò)開發(fā)者或管理者,數(shù)據(jù)庫知識(shí)是必不可少的。本論文首先介紹了文章管理類網(wǎng)站的現(xiàn)狀和JSP、Sturts等JavaWeb的相關(guān)技術(shù),用面向?qū)ο蟮腗VC設(shè)計(jì)思想對文章管理系統(tǒng)進(jìn)行系統(tǒng)需求分析、可行性研究。第一章為緒論,介紹國內(nèi)外背景及現(xiàn)狀等;第二章是需求分析,從系統(tǒng)目標(biāo),功能,性能,系統(tǒng)運(yùn)行環(huán)境等方面闡述;第三章為系統(tǒng)設(shè)計(jì),介紹前后臺(tái)的數(shù)據(jù)庫設(shè)計(jì),各個(gè)模塊的設(shè)計(jì)等;第四章為系統(tǒng)實(shí)現(xiàn),具體介紹各個(gè)功能模塊的實(shí)現(xiàn);第五章為結(jié)論。關(guān)鍵字:jsp,Mysql,文章管理系統(tǒng),SturtsNewswebsiteAbstractInrecentyears,Internettechnologyhasbeenrapiddevelopment,hasbecomeahottechnologyinthecomputerindustry.OneofthefactorsthatcontributedtotherapiddevelopmentofthetechnologyofWebisInternet.ThedevelopmentofWebtechnologymakestheinteractivedynamicpages,organizeddatabasequery,contentrichpagesbecomethemostattractiveWebpage.BrowsetheWebwiththeimplementationofWindowsprogramslikethefeelandmaneuverability.WiththedevelopmentofInternettechnology,ithasbecomeaplatform,foruserstoprovidepowerfulservices,suchasonlineshopping,onlinecommerce,socialinformationdatabaseservicesetc..Asoneofthemostrapidlydevelopingfieldsofcomputerdatabasetechnology,andhasformedasetofuniquetheory,andwidelyusedinpeople'sproductionandlife.ThecombinationofdatabasetechnologyandwebsiteisahottopicincurrentWebtechnology.Withthesupportofthedatabase,canbeextendedWebpagefunction,canbeeasilydesignedinteractivepages,youcancreatepowerfulback-endmanagementsystem,canprovidegreatconvenienceforsiteupdates,maintenance.Therefore,asawebdeveloperoradministrator,thedatabaseknowledgeisessential.ThispaperintroducesthestatusquomanagementclasswebsitesandarticlesJSP,SturtsandotherJavaWebrelatedtechnologies,object-orientedMVCdesignideasforarticlemanagementsystemforsystemrequirementsanalysis,feasibilitystudies.Thefirstchapteristheintroduction,introducesthebackgroundandthepresentsituation;thesecondchapteristhedemandanalysis,thesystemgoal,function,performance,thesystemrunningenvironment;thethirdchapteristhesystemdesign,thedatabasedesignofthebackground,thevariousmodulesofthedesign;thefourthchapteristhesystemimplementation,implementationdetailsofeachfunctionmodule;thefifthchapteristheconclusion.Keywords:JSP,Mysql,articlemanagementsystem,Sturts目錄TOC\o目錄 I1緒論 11.1論文研究主要內(nèi)容 11.2背景和研究意義 12需求分析 32.1系統(tǒng)設(shè)計(jì)目標(biāo) 32.2功能需求分析 32.3可行性分析 52.4開發(fā)環(huán)境 52.4關(guān)鍵技術(shù)介紹 63系統(tǒng)設(shè)計(jì) 103.1功能模塊設(shè)計(jì) 103.2系統(tǒng)功能流程圖 113.3數(shù)據(jù)庫設(shè)計(jì) 123.1.1后臺(tái)數(shù)據(jù)庫設(shè)計(jì) 133.3.2后臺(tái)數(shù)據(jù)庫設(shè)計(jì) 143.3.3概念結(jié)構(gòu)設(shè)計(jì) 163.3.4邏輯結(jié)構(gòu)設(shè)計(jì) 183.3.5物理結(jié)構(gòu)設(shè)計(jì) 184系統(tǒng)實(shí)現(xiàn) 224.1數(shù)據(jù)庫連接的實(shí)現(xiàn) 224.2業(yè)務(wù)流程模塊的實(shí)現(xiàn) 224.3頁面的實(shí)現(xiàn) 224.3.1前臺(tái)界面的實(shí)現(xiàn) 224.3.2用戶注冊界面的實(shí)現(xiàn) 244.4后臺(tái)界面的實(shí)現(xiàn) 254.4.1管理員登陸頁面的實(shí)現(xiàn) 264.4.2文章管理頁面的實(shí)現(xiàn) 285結(jié)論 315.1總結(jié) 315.2展望 31參考文獻(xiàn) 32致謝 34緒論論文研究主要內(nèi)容近年來,Internet技術(shù)得到迅速的發(fā)展,已經(jīng)成為計(jì)算機(jī)產(chǎn)業(yè)的一個(gè)技術(shù)熱點(diǎn)。促成Internet高速發(fā)展的因素之一就是Web技術(shù)。Web技術(shù)的發(fā)展使得那些具有交互動(dòng)態(tài)頁面、有條理的數(shù)據(jù)庫查詢、豐富信息內(nèi)容的頁面成為最吸引人的網(wǎng)頁。瀏覽Web有著執(zhí)行Windows程序一樣的感覺和操作性。隨著Internet技術(shù)的發(fā)展,它已經(jīng)成為一種操作平臺(tái),為用戶提供強(qiáng)大的服務(wù),例如網(wǎng)上購物,網(wǎng)上電子商務(wù),社會(huì)信息數(shù)據(jù)庫服務(wù)等。作為計(jì)算機(jī)發(fā)展最迅速的領(lǐng)域之一的數(shù)據(jù)庫技術(shù),已經(jīng)形成了一整套獨(dú)有的理論,并廣泛地應(yīng)用于人們的生產(chǎn)和生活中。數(shù)據(jù)庫技術(shù)與網(wǎng)站的結(jié)合是當(dāng)今Web技術(shù)的一個(gè)熱點(diǎn)。有了數(shù)據(jù)庫的支持,可以擴(kuò)展網(wǎng)頁的功能,可以方便地設(shè)計(jì)出交互式頁面,可以構(gòu)造功能強(qiáng)大的后臺(tái)管理系統(tǒng),可以為網(wǎng)站的更新、維護(hù)提供極大的方便。因此,作為網(wǎng)絡(luò)開發(fā)者或管理者,數(shù)據(jù)庫知識(shí)是必不可少的。在當(dāng)前社會(huì),信息已成為一種隱型的財(cái)富,人們對信息的需求再也不是局限于單純的電視、報(bào)紙等大眾途徑。隨著Internet在中國的發(fā)展日新月異,人們在日常生活中也越來越多地使用這項(xiàng)新技術(shù)來為自己的工作和生活服務(wù),人們通過網(wǎng)絡(luò)來獲取信息的需求越來越大?;诖朔N考慮,網(wǎng)絡(luò)開發(fā)者們提出了一種“文章發(fā)布系統(tǒng)”,該系統(tǒng)能夠?qū)崿F(xiàn)在線更新最新文章、設(shè)置文章分類導(dǎo)航等功能,此外,網(wǎng)站管理員也可在線對后臺(tái)進(jìn)行管理,例如文章的修改、刪除等操作,以保證文章的及時(shí)、準(zhǔn)確性。1.2背景和研究意義目前在國內(nèi)PHP與.NET應(yīng)用相對Java的JSP而言較為流行。而JSP由于是一種較新的技術(shù),國內(nèi)采用的較少。但在國外,JSP已經(jīng)是比較流行的一種技術(shù),尤其是電子商務(wù)類的網(wǎng)站,多采用JSP。隨著Java語言的流行,JSP的應(yīng)用范圍相當(dāng)廣泛,性能也很突出,有著非常好的應(yīng)用前景,運(yùn)行效率也有著很大的成長空間。針對目前文章管理系統(tǒng)的現(xiàn)狀以及目前主流Web開發(fā)技術(shù)的比較,本文提出使用Java語言的JSP技術(shù)進(jìn)行編寫。為了降低開發(fā)復(fù)雜度、在短期內(nèi)搭建結(jié)構(gòu)清晰、可復(fù)用性好、維護(hù)方便的Web應(yīng)用程序,采用一套基于MVC設(shè)計(jì)模式的Struts框架、Spring框架和Hibernate框架組成的集成SSH框架作為開發(fā)模型進(jìn)行開發(fā)。需求分析2.1系統(tǒng)設(shè)計(jì)目標(biāo)本文章發(fā)布系統(tǒng)分為前臺(tái)文章瀏覽模塊和后臺(tái)文章管理模塊。前臺(tái)文章瀏覽模塊圖片的顯示;分類文章的顯示;文章搜索;文章評(píng)論;網(wǎng)站投票。后臺(tái)管理模塊欄目內(nèi)文章的顯示;添加(圖片)文章;文章類別的添加刪除;已發(fā)布文章的添加刪除;用戶管理;管理員對用戶留言的管理;管理員對投票情況的查看。通過以上的前臺(tái)和后臺(tái)的功能模塊,用戶可以方便快捷的瀏覽到各種各樣的特色的文章,而管理員則可以通過后臺(tái)管理這些文章。使得用戶能夠?yàn)g覽到最新的文章。2.2功能需求分析本系統(tǒng)需要具有以下功能:1.由于一項(xiàng)新的軟件在被使用之前,對于使用者來說是陌生和嶄新的,所以要求系統(tǒng)具有良好的人機(jī)界面。2.能夠?qū)崿F(xiàn)文章發(fā)布的各項(xiàng)功能,能成功的對用戶各種信息進(jìn)行管理。3.查詢、修改、刪除、添加數(shù)據(jù)方便,數(shù)據(jù)的穩(wěn)定性和可靠性好。系統(tǒng)采用B/S模式。整個(gè)系統(tǒng)最關(guān)鍵的就是數(shù)據(jù)庫系統(tǒng),一個(gè)強(qiáng)大的數(shù)據(jù)庫可以支持完善一個(gè)優(yōu)秀的軟件設(shè)計(jì),通過軟件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的連接來實(shí)現(xiàn)通過軟件界面觀察和處理操作數(shù)據(jù)。如圖2.1所示:業(yè)務(wù)服務(wù)器業(yè)務(wù)服務(wù)器數(shù)據(jù)庫服務(wù)器事務(wù)邏輯數(shù)據(jù)邏輯ClientBrowser表示邏輯Browser表示邏輯JSP網(wǎng)頁WWW服務(wù)器/業(yè)務(wù)邏輯服務(wù)器JavaBean組件中間件JDBC數(shù)據(jù)庫服務(wù)器數(shù)據(jù)庫Mysql2005圖2-1系統(tǒng)模式圖系統(tǒng)采用三層結(jié)構(gòu),在客戶端用戶通過瀏覽器完成數(shù)據(jù)下載與模擬操作,瀏覽器端的表現(xiàn)邏輯通過JSP網(wǎng)頁完成。而系統(tǒng)內(nèi)部復(fù)雜的業(yè)務(wù)邏輯主要通過JavaBean的組件(Component)實(shí)現(xiàn),JavaBean組件在WWW服務(wù)器上運(yùn)行,通過JSP返回到客戶瀏覽器。通過表現(xiàn)邏輯與業(yè)務(wù)邏輯的分離,使網(wǎng)頁內(nèi)容簡潔,系統(tǒng)的可維護(hù)性和可擴(kuò)充性增強(qiáng)。在服務(wù)器端,系統(tǒng)使用JDBC中間件訪問數(shù)據(jù)庫,數(shù)據(jù)庫服務(wù)器定義了本系統(tǒng)所需要的事務(wù)邏輯和數(shù)據(jù)邏輯。本系統(tǒng)使用JSP技術(shù)作為表現(xiàn)手段,服務(wù)器采用Tomcat6.0.3作為JSP引擎,系統(tǒng)業(yè)務(wù)邏輯由JavaBean組件完成,使用Hib框架訪問數(shù)據(jù)庫。由于系統(tǒng)測試需要成熟的數(shù)據(jù)庫支持,因此系統(tǒng)采用Mysql數(shù)據(jù)庫作為數(shù)據(jù)庫服務(wù)器。具體功能圖如圖2.2所示:圖2.2系統(tǒng)功能圖2.3可行性分析技術(shù)可行性本系統(tǒng)僅需要一臺(tái)裝有Office軟件的計(jì)算機(jī)即可,對機(jī)器本身沒有太高的要求,一般當(dāng)前學(xué)?;騻€(gè)人電腦完全可滿足要求。對于軟件技術(shù)要求,現(xiàn)在的程序設(shè)計(jì)語言已非常成熟,要運(yùn)用HTML樣式,圖形圖象制作工具來制作生動(dòng)活潑的網(wǎng)頁及美觀的圖形文件或動(dòng)畫文件。經(jīng)濟(jì)可行性由于本系統(tǒng)是為學(xué)生學(xué)習(xí)使用的系統(tǒng),裝上該應(yīng)用軟件,即可使用系統(tǒng),系統(tǒng)成本主要集中在系統(tǒng)軟件的開發(fā)上,當(dāng)系統(tǒng)投入運(yùn)行后可以為學(xué)校節(jié)約大量的人力,物力。所帶來的效益遠(yuǎn)遠(yuǎn)大于系統(tǒng)軟件的開發(fā)成本。在經(jīng)濟(jì)上完全可行。操作可行性界面設(shè)計(jì)時(shí)充分考慮管理人員的習(xí)慣,使得操作簡單;數(shù)據(jù)錄入迅速、規(guī)范、可靠;統(tǒng)計(jì)準(zhǔn)確;制表靈活;適應(yīng)力強(qiáng);容易擴(kuò)充。結(jié)論通過經(jīng)濟(jì)、技術(shù)、操作三個(gè)方面的可行性分析,我們認(rèn)為,即時(shí)文章已經(jīng)越來越被人重視,關(guān)于文章發(fā)布系統(tǒng)的開發(fā)是非常有必要的,而且也是可行的,具有一定的使用價(jià)值。2.4開發(fā)環(huán)境服務(wù)起端的最低配置是由建立站點(diǎn)所需要的軟件來決定的,在最底配置的情況下,服務(wù)器的性能往往不進(jìn)人意,現(xiàn)在硬件性能已經(jīng)相當(dāng)出色,而且價(jià)格也很便宜,因此通常應(yīng)給服務(wù)器端配置高性能硬件。本機(jī)器的配置如下:處理器:InterPentium41.6Hz或更高。內(nèi)存:512MB硬件空間:160GB主要采用的技術(shù):數(shù)據(jù)庫:MicrosoftMysql編程語言:JSP服務(wù)器:Tomcat6.0.3,jdk1.6開發(fā)環(huán)境:Windows72.4關(guān)鍵技術(shù)介紹1.jsp介紹JSP技術(shù)是以Java語言作為腳本語言的,JSP網(wǎng)頁為整個(gè)服務(wù)器端的Java庫單元提供了一個(gè)接口來服務(wù)于HTTP的應(yīng)用程序。JSP是由SunMicrosystems公司倡導(dǎo)、許多公司參與建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。在傳統(tǒng)的網(wǎng)頁HTML中加入Java程序片段和JSP標(biāo)記,就構(gòu)成了JSP網(wǎng)頁。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返給客戶。程序片段可以操作數(shù)據(jù)庫、重定向網(wǎng)頁以及發(fā)送e-mail等等,這就是建立動(dòng)態(tài)網(wǎng)站所需的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅僅是得到的結(jié)果,對客戶瀏覽器的要求最低,可以實(shí)現(xiàn)無ActiveX,無JavaApplet,甚至無Frame。JSP技術(shù)可以讓W(xué)eb開發(fā)人員和設(shè)計(jì)人員非常容易的創(chuàng)建和維護(hù)動(dòng)態(tài)網(wǎng)頁,特別是目前的商業(yè)系統(tǒng),作為Java技術(shù)的一部分,JSP能夠快速開發(fā)出基于Web、獨(dú)立于平臺(tái)的應(yīng)用程序。JSP把用戶界面從系統(tǒng)內(nèi)容中分離開來,使得設(shè)計(jì)人員能夠在不改變底層動(dòng)態(tài)內(nèi)容的前提下改變整個(gè)網(wǎng)頁布局。一個(gè)JSP網(wǎng)頁就是在HTML網(wǎng)頁中包含了能夠生成動(dòng)態(tài)內(nèi)容的可執(zhí)行應(yīng)用程序代碼。此應(yīng)用程序可能包含JavaBean,JDBC對象,EnterpriseJavaBean(EJB)對象,所有的部分都可以非常容易的從JSP網(wǎng)頁上訪問到。2.MacromediaDreamweaver簡介Dreamweaver是美國Macromedia公司開發(fā)的集網(wǎng)頁制作和管理網(wǎng)站于一身的所見即所得網(wǎng)頁編輯器,它是第一套針對專業(yè)網(wǎng)頁設(shè)計(jì)師特別發(fā)展的視覺化網(wǎng)頁開發(fā)工具,利用它可以輕而易舉地制作出跨越平臺(tái)限制和跨越瀏覽器限制的充滿動(dòng)感的網(wǎng)頁。Dreamweaver是唯一提供RoundtripHTML、視覺化編輯與原始碼編輯同步的設(shè)計(jì)工具。它包含HomeSite和BBEdit等主流文字編輯器。幀(frames)和表格的制作速度快的令您無法想像。進(jìn)階表格編輯功能使您簡單的選擇單格、行、欄或作未連續(xù)之選取。甚至可以排序或格式化表格群組,Dreamweaver支援精準(zhǔn)定位,利用可輕易轉(zhuǎn)換成表格的圖層以拖拉置放的方式進(jìn)行版面配置。所見即所得Dreamweaver成功整合動(dòng)態(tài)式出版視覺編輯及電子商務(wù)功能,提供超強(qiáng)的支援能力給Third-party廠商,包含ASP,Apache,BroadVision,ColdFusion,iCAT,Tango與自行發(fā)展的應(yīng)用軟體。3.Mysql數(shù)據(jù)庫簡介Mysql是一個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng),它最初是由MicrosoftSybase和Ashton-Tate三家公司共同開發(fā)的。于1988年推出了第一個(gè)OS/2版本在WindowsNT推出后Microsoft與Sybase在Mysql的開發(fā)上就分道揚(yáng)鑣了。Microsoft將Mysql移植到WindowsNT系統(tǒng)上專注于開發(fā)推廣Mysql的WindowsNT版本。Sybase則較專注于Mysql在UNIX操作系統(tǒng)上的應(yīng)用在本文中介紹的是MicrosoftMysql以后簡稱為Mysql或MSMysql。MicrosoftMysql的特性包括:1Internet集成。Mysql數(shù)據(jù)庫引擎提供完整的XML支持。它還具有構(gòu)成最大的Web站點(diǎn)的數(shù)據(jù)存儲(chǔ)組件所需的可伸縮性、可用性和安全功能。Mysql程序設(shè)計(jì)模型與WindowsDNA構(gòu)架集成,用以開發(fā)Web應(yīng)用程序,并且Mysql支持EnglishQuery和Microsoft搜索服務(wù)等功能,在Web應(yīng)用程序中包含了用戶友好的查詢和強(qiáng)大的搜索功能。2可伸縮性和可用性。同一個(gè)數(shù)據(jù)庫引擎可以在不同的平臺(tái)上使用,從運(yùn)行MicrosoftWindowsXP的便攜式電腦,到運(yùn)行MicrosoftWindows2000數(shù)據(jù)中心版的大型多處理器服務(wù)器。Mysql企業(yè)版支持聯(lián)合服務(wù)器、索引視圖和大型內(nèi)存支持等功能,使其得以升級(jí)到最大Web站點(diǎn)所需的性能級(jí)別。3企業(yè)級(jí)數(shù)據(jù)庫功能。Mysql關(guān)系數(shù)據(jù)庫引擎支持當(dāng)今苛刻的數(shù)據(jù)處理環(huán)境所需的功能。數(shù)據(jù)庫引擎充分保護(hù)數(shù)據(jù)完整性,同時(shí)將管理上千個(gè)并發(fā)修改數(shù)據(jù)庫的用戶的開銷減到最小。Mysql分布式查詢使您得以引用來自不同數(shù)據(jù)源的數(shù)據(jù),就好象這些數(shù)據(jù)是Mysql數(shù)據(jù)庫的一部分,同時(shí)分布式事務(wù)支持充分保護(hù)任何分布式數(shù)據(jù)更新的完整性。復(fù)制同樣使您得以維護(hù)多個(gè)數(shù)據(jù)復(fù)本,同時(shí)確保單獨(dú)的數(shù)據(jù)復(fù)本保持同步。可將一組數(shù)據(jù)復(fù)制到多個(gè)移動(dòng)的脫機(jī)用戶,使這些用戶自主地工作,然后將他們所做的修改合并回發(fā)布服務(wù)器。4..Struts的簡介Struts是Apache基金會(huì)Jakarta項(xiàng)目組的一個(gè)OpenSource項(xiàng)目,自采用MVC模式,能夠很好地幫助Java開發(fā)者利用J2EE開發(fā)Web應(yīng)用。和其他的Java架構(gòu)一樣.Struts也是面向?qū)ο笤O(shè)計(jì),將MVC模式"分離顯示邏輯和業(yè)務(wù)邏輯"的能力發(fā)揮得淋漓盡致。Structs框架的核心是一個(gè)彈性的控制層,基于JavaServlets,JavaBeans,ResourceBundles與XML等標(biāo)準(zhǔn)技術(shù),以及JakartaCommons的一些類庫。Struts有一組相互協(xié)作的類(組件)、Servlet以及jsptaglib組成?;趕truts構(gòu)架的web應(yīng)用程序基本上符合JSPMode12的設(shè)計(jì)標(biāo)準(zhǔn),可以說是一個(gè)傳統(tǒng)MVC設(shè)計(jì)模式的一種變化類型。Struts最早是作為ApacheJakarta項(xiàng)目的組成部分問世運(yùn)作。項(xiàng)目的創(chuàng)立者希望通過對該項(xiàng)目的研究,改進(jìn)和提高JavaServerPages、Servlet、標(biāo)簽庫以及面向?qū)ο蟮募夹g(shù)水準(zhǔn)。Struts的目的是為了減少在運(yùn)用MVC設(shè)計(jì)模型來開發(fā)Web應(yīng)用的時(shí)間。你仍然需要學(xué)習(xí)和應(yīng)用該架構(gòu),不過它將可以完成其中一些繁重的工作。Struts跟Tomcat、Turbine等諸多Apache項(xiàng)目一樣,是開源軟件,這是它的一大優(yōu)點(diǎn),使開發(fā)者能更深入的了解其內(nèi)部實(shí)現(xiàn)機(jī)制。除此之外,Struts的優(yōu)點(diǎn)主要集中體現(xiàn)在兩個(gè)方面:Taglib和頁面導(dǎo)航。Taglib是Struts的標(biāo)記庫,靈活運(yùn)用,能大大提高開發(fā)效率。另外,就目前國內(nèi)的JSP開發(fā)者而言,除了使用JSP自帶的常用標(biāo)記外,很少開發(fā)自己的標(biāo)記,或許Struts是一個(gè)很好的起點(diǎn)。Struts2是Struts的下一代產(chǎn)品,是在struts1和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并的全新的Struts2框架。其全新的Struts2的體系結(jié)構(gòu)與Struts1的體系結(jié)構(gòu)差別巨大。Struts2以WebWork為核心,采用攔截器的機(jī)制來處理用戶的請求,這樣的設(shè)計(jì)也使得業(yè)務(wù)邏輯控制器能夠與ServletAPI完全脫離開,所以Struts2可以理解為WebWork的更新產(chǎn)品。雖然從Struts1到Struts2有著太大的變化,但是相對于WebWork,Struts2的變化很小。當(dāng)Web容器收到請求(HttpServletRequest)它將請求傳遞給一個(gè)標(biāo)準(zhǔn)的的過濾鏈包括(ActionContextCleanUp)過濾器,然后經(jīng)過Otherfilters(SiteMesh,etc),接下來需要調(diào)用FilterDispatcher核心控制器,然后它調(diào)用ActionMapper確定請求那個(gè)Action,ActionMapper返回一個(gè)收集Action詳細(xì)信息的ActionMaping對象。接下來FilterDispatcher將控制權(quán)委派給ActionProxy,ActionProxy調(diào)用配置管理器(ConfigurationManager)從配置文件中讀取配置信息(struts.xml),然后創(chuàng)建ActionInvocation對象,ActionInvocation在調(diào)用Action之前會(huì)依次的調(diào)用所用配置攔截器(InterceptorN)一旦執(zhí)行結(jié)果返回結(jié)果字符串ActionInvocation負(fù)責(zé)查找結(jié)果字符串對應(yīng)的(Result)然后執(zhí)行這個(gè)ResultResult會(huì)調(diào)用一些模版(JSP)來呈現(xiàn)頁面,之后攔截器(InterceptorN)會(huì)在被執(zhí)行(順序和Action執(zhí)行之前相反)最后響應(yīng)(HttpServletResponse)被返回在web.xml中配置的那些過濾器和(核心控制器)(FilterDispatcher)。其工作流程如圖2.2所示。圖2.3Sturts的工作流程系統(tǒng)設(shè)計(jì)3.1功能模塊設(shè)計(jì)本章是功能模塊,網(wǎng)站的功能結(jié)構(gòu)圖設(shè)計(jì),是本系統(tǒng)中非常重要的一部分,由這部分給出了本系統(tǒng)總體的功能劃分,對于以后的詳細(xì)設(shè)計(jì)起到了至關(guān)重要的作用,詳細(xì)設(shè)計(jì)部分就是按照總體設(shè)計(jì)中的網(wǎng)站功能結(jié)構(gòu)設(shè)計(jì)圖,一步步地進(jìn)行的。系統(tǒng)功能如圖3.1所示:圖3.1功能結(jié)構(gòu)圖前臺(tái):首頁:文章分類:(國際娛樂體育等等)文章分類需要從數(shù)據(jù)庫中動(dòng)態(tài)取出(因?yàn)楹笈_(tái)中有添加刪除修改分類的功能)可以只顯示4—5個(gè)分類;文章搜索:(可以選擇分類)以文章標(biāo)題模糊搜索,有分頁功能;圖片文章:按文章點(diǎn)擊率高低顯示前10條左右的文章(顯示點(diǎn)擊率);網(wǎng)友投票:對得知本站信息的調(diào)研;網(wǎng)站公告:顯示公告信息;用戶登錄:網(wǎng)站用戶登錄,登陸后用戶獲得評(píng)論和投票的權(quán)限;文章評(píng)論:網(wǎng)站用戶登錄后可以對文章進(jìn)行評(píng)論。后臺(tái):管理員:擁有所有權(quán)限管理員維護(hù):管理員維護(hù)(包含刪除)管理員添加用戶管理:用戶列表(包含刪除)文章分類管理:分類列表(包含刪除、添加)文章管理:文章列表(包含刪除、添加)圖片文章管理:圖片列表(包含刪除、添加)投票查看:查看投票結(jié)果公告管理:公告列表(包含刪除)公告添加留言管理:留言列表(包含刪除)會(huì)員:發(fā)布留言進(jìn)行投票系統(tǒng)采用了敏捷開發(fā)的思想,結(jié)合跨平臺(tái)的J2EE技術(shù)架構(gòu),數(shù)據(jù)庫采用了Mysql;使得系統(tǒng)具有易用性、個(gè)性化、跨平臺(tái)等特點(diǎn);同時(shí)又保證數(shù)據(jù)的安全、穩(wěn)定、快速和完整;使其運(yùn)行得高速、安全、穩(wěn)定。3.2系統(tǒng)功能流程圖下面是系統(tǒng)功能流程圖如圖3.3所示:進(jìn)入系統(tǒng)首頁進(jìn)入系統(tǒng)首頁是管理員嗎登錄前臺(tái)進(jìn)行瀏覽、搜索文章信息、留言、投票輸入用戶名密碼登錄系統(tǒng)后臺(tái)密碼是否正確進(jìn)入后臺(tái)進(jìn)行操作是否是否圖3.2系統(tǒng)流程圖3.3數(shù)據(jù)庫設(shè)計(jì)早期數(shù)據(jù)庫設(shè)計(jì)主要采用手工與經(jīng)驗(yàn)相結(jié)合的方法,設(shè)計(jì)質(zhì)量往往與設(shè)計(jì)人員的經(jīng)驗(yàn)與水平有直接關(guān)系。數(shù)據(jù)庫設(shè)計(jì)是一種技藝,缺乏科學(xué)理論和工程方法的支持,設(shè)計(jì)質(zhì)量難以保證。常常是數(shù)據(jù)庫運(yùn)行一段時(shí)間后又不同程度地發(fā)現(xiàn)各種問題,增加了系統(tǒng)維護(hù)的代價(jià)。人們在不斷的實(shí)踐中,提出了如下的數(shù)據(jù)庫設(shè)計(jì)方法:1新奧爾良(NewOrleans)方法該方法把數(shù)據(jù)庫設(shè)計(jì)分為若干階段和步驟,并采用一些輔助手段實(shí)現(xiàn)每一過程。它運(yùn)用軟件工程的思想,即用工程化方法設(shè)計(jì)數(shù)據(jù)庫。新奧爾良方法屬于規(guī)范設(shè)計(jì)法。規(guī)范設(shè)計(jì)法,其基本思想是過程迭代和逐步求精。2基于E-R模型的數(shù)據(jù)庫設(shè)計(jì)方法該方法用E-R模型來設(shè)計(jì)數(shù)據(jù)庫的概念型,是數(shù)據(jù)庫概念設(shè)計(jì)階段廣泛采用的方法。3第三范式的設(shè)計(jì)方法該方法用關(guān)系數(shù)據(jù)理論為指導(dǎo)來設(shè)計(jì)數(shù)據(jù)庫的邏輯模型,是數(shù)據(jù)庫邏輯設(shè)計(jì)階段可以采用的一種有效方法。4ODL(ObjectDefinitionLanguage)方法這是面向?qū)ο蟮臄?shù)據(jù)庫設(shè)計(jì)方法,該方法用面向?qū)ο蟮母拍詈托g(shù)語來說明數(shù)據(jù)庫結(jié)構(gòu)。ODL方法可以描述面向?qū)ο髷?shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì),可以直接轉(zhuǎn)換為面向?qū)ο蟮臄?shù)據(jù)庫。后臺(tái)數(shù)據(jù)庫設(shè)計(jì)MYSQL介紹Mysql是由Microsoft開發(fā)和推廣的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的,并于1988年推出了第一個(gè)OS/2版本。Mysql近年來不斷更新版本,1996年,Microsoft推出了Mysql6.5版本;1998年,Mysql7.0版本和用戶見面;Mysql是Microsoft公司于2007年推出的版本。Mysql特點(diǎn):(1)真正的讀者機(jī)/服務(wù)器體系結(jié)構(gòu)。(2)圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。(2)豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計(jì)提供了更大的選擇余地。(3)Mysql與WindowsNT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等。Mysql也可以很好地與MicrosoftBackOffice產(chǎn)品集成。(4)具有很好的伸縮性,可跨越從運(yùn)行Windows95/98的膝上型電腦到運(yùn)行Windows2000的大型多處理器等多種平臺(tái)使用。(5)對Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上。(6)Mysql提供數(shù)據(jù)倉庫功能,這個(gè)功能只在Oracle和其他更昂貴的DBMS中才有[7]。3.3.2后臺(tái)數(shù)據(jù)庫設(shè)計(jì)系統(tǒng)操作模塊如圖3.3所示:圖3.3系統(tǒng)操作流程圖數(shù)據(jù)庫增加模塊添加信息時(shí),編號(hào)字段由系統(tǒng)自動(dòng)生成,且不能修改,其他信息由用戶輸入,之后對數(shù)據(jù)進(jìn)行合法判斷,合法則寫入保存至數(shù)據(jù)庫,不合法則重新輸入數(shù)據(jù)。數(shù)據(jù)增加流程如圖3.4所示:是否是否圖3.4數(shù)據(jù)增加流程圖3.數(shù)據(jù)修改模塊在修改信息時(shí),先選中一條待修改的記錄,然后直接輸入數(shù)據(jù),判斷合法性,合法則保存至數(shù)據(jù)庫,不合法重新輸入。數(shù)據(jù)修改流程圖如圖3.5所示:是否是否圖3.5數(shù)據(jù)修改流程圖4.數(shù)據(jù)刪除模塊當(dāng)用戶選定一條記錄時(shí),單擊刪除按鈕,會(huì)提示用戶是否確定刪除,然后刪除數(shù)據(jù)庫相關(guān)內(nèi)容。數(shù)據(jù)刪除流程圖如圖3.6所示:否是否是圖3.6數(shù)據(jù)刪除流程圖3.3.3概念結(jié)構(gòu)設(shè)計(jì)對用戶要求描述的現(xiàn)實(shí)世界(可能是一個(gè)工廠、一個(gè)商場或者一個(gè)學(xué)校等),通過對其中住處的分類、聚集和概括,建立抽象的概念數(shù)據(jù)模型。這個(gè)概念模型應(yīng)反映現(xiàn)實(shí)世界各部門的信息結(jié)構(gòu)、信息流動(dòng)情況、信息間的互相制約關(guān)系以及各部門對信息儲(chǔ)存、查詢和加工的要求等[10]。通過對現(xiàn)實(shí)世界概念模型的抽象,確立本系統(tǒng)的實(shí)體為:管理員、用戶(游客只有文章瀏覽權(quán)限)。全局E-R圖如3.7所示:圖3.7全局E-R圖實(shí)體屬性圖,如圖3.8所示:圖3.8實(shí)體屬性圖3.3.4邏輯結(jié)構(gòu)設(shè)計(jì)主要工作是將現(xiàn)實(shí)世界的概念數(shù)據(jù)模型設(shè)計(jì)成數(shù)據(jù)庫的一種邏輯模式,即適應(yīng)于某種特定數(shù)據(jù)庫管理系統(tǒng)所支持的邏輯數(shù)據(jù)模式。與此同時(shí),可能還需為各種數(shù)據(jù)處理應(yīng)用領(lǐng)域產(chǎn)生相應(yīng)的邏輯子模式。這一步設(shè)計(jì)的結(jié)果就是所謂“關(guān)系數(shù)據(jù)庫模型”。即從實(shí)體型轉(zhuǎn)化成關(guān)系模式。實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的碼[10]。關(guān)系數(shù)據(jù)庫系統(tǒng)是支持關(guān)系模型的數(shù)據(jù)庫系統(tǒng)。關(guān)系模型所具有的特點(diǎn)是:概念單一、規(guī)范化、以二維表格表示。綜上所述,可將E-R圖轉(zhuǎn)換為關(guān)系模型。每個(gè)關(guān)系的碼用下劃線表示。管理員信息表-t_admin(管理員代碼,管理員賬號(hào),管理員密碼)文章類別表-t_catelog(文章類別編號(hào),文章類別名稱,文章類別描述,文章類別刪除操作)公告信息表-t_gonggao(公告編號(hào),公告標(biāo)題,公告詳情,公告發(fā)布日期,公告發(fā)布者,公告刪除操作,意見備注)留言信息表-t_liuyan(留言編號(hào),留言標(biāo)題,留言詳情,留言發(fā)布時(shí)間,留言發(fā)布者)文章信息表-t_news(文章標(biāo)題,文章內(nèi)容,文章發(fā)布時(shí)間,文章所屬類別編號(hào))圖片文章信息表-t_picNews(圖片文章編號(hào),圖片名稱,圖片文章內(nèi)容,圖片路徑,圖片原始名,圖片發(fā)布時(shí)間)投票選項(xiàng)表-t_toupiao(投票選項(xiàng)編號(hào),投票選項(xiàng)名稱,投票時(shí)間)用戶信息表-t_user(用戶編號(hào),用戶名,用戶密碼,用戶真實(shí)姓名,用戶地址,用戶性別,用戶電話,用戶郵箱,用戶qq,用戶年齡,用戶生日,用戶學(xué)歷)該系統(tǒng)在Mysql中的數(shù)據(jù)庫名稱為db_news,根據(jù)以上分析得出數(shù)據(jù)庫中的8張表。3.3.5物理結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫物理設(shè)計(jì)是后半段。將一個(gè)給定邏輯結(jié)構(gòu)實(shí)施到具體的環(huán)境中時(shí),邏輯數(shù)據(jù)模型要選取一個(gè)具體的工作環(huán)境,這個(gè)工作環(huán)境提供了數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)與存取方法,這個(gè)過程就是數(shù)據(jù)庫的物理設(shè)計(jì)。物理結(jié)構(gòu)依賴于給定的DBMS和和硬件系統(tǒng),因此設(shè)計(jì)人員必須充分了解所用RDBMS的內(nèi)部特征、存儲(chǔ)結(jié)構(gòu)、存取方法[10]。數(shù)據(jù)庫的物理設(shè)計(jì)通常分為兩步,第一,確定數(shù)據(jù)庫的物理結(jié)構(gòu),第二,評(píng)價(jià)實(shí)施空間效率和時(shí)間效率確定數(shù)據(jù)庫的物理結(jié)構(gòu)包含下面四方面的內(nèi)容:確定數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)的存取路徑確定數(shù)據(jù)的存放位置確定系統(tǒng)配置為了滿足系統(tǒng)存儲(chǔ)數(shù)據(jù)需要,方便進(jìn)行插入,更新,統(tǒng)計(jì)和查詢分析等操作,數(shù)據(jù)一共設(shè)計(jì)為兩個(gè)部分,第一部分為滿足插入,更新,刪除較多的數(shù)據(jù)存儲(chǔ)。第二部分為滿足查詢和統(tǒng)計(jì)分析。為了方便進(jìn)行數(shù)據(jù)庫之間的遷移,數(shù)據(jù)庫中不建議采用存儲(chǔ)過程,觸發(fā)器等數(shù)據(jù)庫特征明顯的代碼,所有表建立,操作SQL均采用標(biāo)準(zhǔn)語句。數(shù)據(jù)庫表結(jié)構(gòu)如下:設(shè)計(jì)表“admin”列名數(shù)據(jù)類型長度允許空userIdint4是userNamevarchar50否userPwvarchar50否設(shè)計(jì)表“catelog”列名數(shù)據(jù)類型長度允許空catelog_idint4是catelog_namevarchar50否catelog_miaoshuvarchar5000否catelog_delvarchar50否設(shè)計(jì)表“gonggao”列名數(shù)據(jù)類型長度允許空gonggao_idint4否gonggao_titlevarchar50否gonggao_contentvarchar8000否gonggao_datavarchar50否gonggao_fabuzhevarchar50否gonggao_delvarchar50否設(shè)計(jì)表“l(fā)iuyan”列名數(shù)據(jù)類型長度允許空liuyan_idint4是liuyan_titlevarchar50否liuyan_contentvarchar5000否liuyan_datevarchar50否liuyan_uservarchar50否設(shè)計(jì)表“news”列名數(shù)據(jù)類型長度允許空news_idint4是news_titlevarchar50否news_contentvarchar5000否news_datevarchar50否catelog_idvarchar50否設(shè)計(jì)表“picNews”列名數(shù)據(jù)類型長度允許空picNews_idint4是picNews_titlevarchar50否picNews_contentvarchar8000否picNews_picvarchar50否picNews_pic_yuanshimingvarchar50否picNews_datevarchar50否設(shè)計(jì)表“toupiao”列名數(shù)據(jù)類型長度允許空toupiao_idint4是toupiao_namevarchar50否toupiao_datevarchar50否設(shè)計(jì)表“user”列名數(shù)據(jù)類型長度允許空user_idint4是user_namevarchar50否user_pwvarchar50否user_typeint50否user_realnamevarchar50否user_addressvarchar50否user_sexvarchar50否user_telvarchar50否user_emailvarchar50否user_qqvarchar50否user_manvarchar50否user_agevarchar50否表3.9數(shù)據(jù)庫表單系統(tǒng)實(shí)現(xiàn)4.1數(shù)據(jù)庫連接的實(shí)現(xiàn)<html><head><title>文章發(fā)布_首頁</title> <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"><metahttp-equiv="description"content="thisismypage"><metahttp-equiv="content-type"content="text/html;charset=UTF-8"><!--<linkrel="stylesheet"type="text/css"href="./styles.css">--></head><body><scripttype="text/javascript">varurl="/news/index.action"window.location.href=url;</script></body></html>4.2業(yè)務(wù)流程模塊的實(shí)現(xiàn)業(yè)務(wù)流程圖解:訪問網(wǎng)頁的權(quán)限種類分為兩種:一為游客,只可以瀏覽文章,搜索文章;二,經(jīng)過注冊后,成為網(wǎng)站用戶,在享有游客的權(quán)限外,還可以對文章發(fā)表評(píng)論,并對網(wǎng)站進(jìn)行投票。后臺(tái)管理員通過登錄可以對系統(tǒng)進(jìn)行管理,包括用戶管理(包括刪除),文章類別的管理(包括添加與刪除),文章的管理(包括添加與刪除),圖片文章的管理(添加與刪除),文章評(píng)論的管理(包括添加與刪除),文章公告的管理(包括添加與刪除),以及對網(wǎng)站投票結(jié)果的查詢。4.3頁面的實(shí)現(xiàn)4.3.1前臺(tái)界面的實(shí)現(xiàn)通過前面的詳細(xì)設(shè)計(jì),根據(jù)該系統(tǒng)的要求現(xiàn)在開始設(shè)計(jì)系統(tǒng)的前臺(tái)部分。前臺(tái)主要實(shí)現(xiàn)用戶的注冊、登錄,進(jìn)入網(wǎng)站后可以搜索并瀏覽文章,留言、投票等功能,其整體頁面如下圖4.1所示,圖4.1前臺(tái)頁面代碼如下:publicStringindex(){ Maprequest=(Map)ServletActionContext.getContext().get("request"); ListpicNewsList=picNewsDAO.findAll(); if(picNewsList.size()>4){ picNewsList=picNewsList.subList(0,4); } request.put("picNewsList",picNewsList); Stringsql="fromTCatelogwherecatelogDel='no'"; ListcateLogList=catelogDAO.getHibernateTemplate().find(sql); for(inti=0;i<cateLogList.size();i++){ TCatelogcatelog=(TCatelog)cateLogList.get(i); catelog.setNewsList(newsDAO.getHibernateTemplate().find("fromTNewswherecatelogId="+catelog.getCatelogId())); } request.put("cateLogList",cateLogList); returnActionSupport.SUCCESS; }4.3.2用戶注冊界面的實(shí)現(xiàn)用戶注冊頁面,填寫用戶名、密碼、真是姓名、住址、聯(lián)系方式、email、qq等信息完成注冊,具體實(shí)現(xiàn)頁面如下4.2所示,圖4.2用戶注冊頁面 publicStringuserReg() { TUseruser=newTUser(); user.setUserName(userName); user.setUserPw(userPw); user.setUserAddress(userAddress); user.setUserTel(userTel); user.setUserRealname(userRealname); user.setUserEmail(userEmail); user.setUserSex(userSex); user.setUserQq(userQq); userDAO.save(user); //this.setMessage("注冊成功"); //this.setPath("/qiantai/index.jsp"); return"successAdd"; } 4.4后臺(tái)界面的實(shí)現(xiàn)后臺(tái)主要功能模塊主要包括了管理員登陸、系統(tǒng)屬性、管理員維護(hù)、用戶管理、文章分類、文章管理、圖片文章、投票查看、公告管理、留言管理。管理員添加相應(yīng)類別文章的界面:管理員在此界面輸入文章的相關(guān)信息,選擇所要輸入文章所屬類別、文章標(biāo)題、以及文章的具體內(nèi)容,然后按要求校驗(yàn)正確性檢測,當(dāng)數(shù)據(jù)合法時(shí)則添加至數(shù)據(jù)庫。其他如文章類別添加、圖片文章添加、公告添加等功能輸入基本上相類似。如圖4.4所示,圖4.3后臺(tái)頁面 publicStringadminManageFenye() { ListadminList=adminDAO.findAll(); intpageSize=3; intfromIndex=(index-1)*pageSize; inttoIndex=Math.min(fromIndex+pageSize,adminList.size()); ListadminListFenye=adminList.subList(fromIndex,toIndex); Paginationp=newPagination();//創(chuàng)建分頁對象p.setIndex(index);//設(shè)置頁數(shù)p.setPageSize(pageSize);p.setTotle(adminList.size());//設(shè)置總共的條數(shù)p.setData(adminListFenye);//設(shè)置數(shù)據(jù)p.setPath("adminManageFenye.action?");//跳轉(zhuǎn)的路徑 Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("page",p); returnActionSupport.SUCCESS; }4.4.1管理員登陸頁面的實(shí)現(xiàn)在用戶登錄界面,在用戶名對應(yīng)的文本框中輸入用戶名,在密碼對應(yīng)的文本框中輸入密碼,如果用戶名和密碼同時(shí)與數(shù)據(jù)庫中的用戶名和密碼相對應(yīng),點(diǎn)擊“確定”后進(jìn)入系統(tǒng)的主界面。如果輸入的信息不正確,則給出提示。輸入:用戶名和密碼。處理:校檢字符的有效性。用戶要登錄本系統(tǒng)需要提供用戶名和密碼,在這里就是要檢驗(yàn)用戶是否滿足輸入的要求,即檢驗(yàn)用戶名和密碼文本框是否為空,若為空,則提示用戶輸入用戶名和密碼。檢驗(yàn)用戶名是否存在或密碼是否正確,即是否存在用戶輸入的用戶名,并且密碼是否正確。輸出:登錄成功,進(jìn)入用戶的系統(tǒng)使用資源頁面,不成功則顯示錯(cuò)誤信息頁面。如圖4.4所示:圖4.4后臺(tái)登陸頁面 <scriptlanguage="javascript"> functioncheck1() {if(document.ThisForm.userName.value=="") {alert("請輸入用戶名"); document.ThisForm.userName.focus(); returnfalse;} if(document.ThisForm.userPw.value=="") {alert("請輸入密碼"); document.ThisForm.userPw.focus(); returnfalse; }loginService.login(document.ThisForm.userName.value,document.ThisForm.userPw.value,0,callback);} functioncallback(data) {if(data=="no") {alert("用戶名或密碼錯(cuò)誤");} if(data=="yes") {alert("通過驗(yàn)證,系統(tǒng)登錄成功"); window.location.href="<%=path%>/loginSuccess.jsp"; } } </script>數(shù)據(jù)庫鏈接:id="dataSource" class="mons.dbcp.BasicDataSource"> <propertyname="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"> </property> <propertyname="url" value="jdbc:sqlserver://localhost:1433;databaseName=db_news"> </property> <propertyname="username"value="sa"></property> <propertyname="password"value="sa"></property>4.4.2文章管理頁面的實(shí)現(xiàn)功能描述:此模塊要實(shí)現(xiàn)對文章的管理功能,管理員可以添加刪除文章的相關(guān)信息。文章信息管理模塊的IPO過程:a) 添加文章信息操作: 點(diǎn)擊添加文章信息按鈕,輸入需要添加文章的內(nèi)容。內(nèi)容包括文章的標(biāo)題、內(nèi)容、分類。 檢驗(yàn)用戶輸入的文章的標(biāo)題、內(nèi)容、分類是否符合文章數(shù)據(jù)庫表中字段定義。若不符合則提示輸入有誤。 提示用戶信息添加成功。 更新用戶數(shù)據(jù)庫表的信息。b) 刪除文章信息 點(diǎn)擊刪除文章信息按鈕。 彈出對話框“是否確定刪除”,點(diǎn)擊是,"yes"傳入jsp文件進(jìn)而執(zhí)行actionDel方法 刪除文章信息成功。 更新用戶數(shù)據(jù)庫表的信息。界面如圖4.5所示:圖4.5文章管理模塊 publicStringnewsAll() {ListnewsList=newsDAO.findAll(); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("newsList",newsList); Stringsql="fromTCatelogwherecatelogDel='no'"; ListcateLogList=catelogDAO.getHibernateTemplate().find(sql); for(inti=0;i<cateLogList.size();i++) {TCatelogcatelog=(TCatelog)cateLogList.get(i); catelog.setNewsList(newsDAO.getHibernateTemplate().find("fromTNewswherecatelogId="+catelog.getCatelogId()));} request.put("cateLogList",cateLogList); returnActionSupport.SUCCESS; }文章添加頁面如圖4.6所示:圖4.6文章添加頁面 publicStringnewsAdd() {TNewsnews=newTNews(); news.setNewsTitle(newsTitle); news.setNewsContent(newsContent); news.setNewsDate(newDate().toLocaleString()); news.setCatelogId(catelogId); newsDAO.save(news); this.setMessage("操作成功"); this.setPath("newsMana.action"); return"succeed"; }結(jié)論5.1總結(jié)本文通過本系統(tǒng)設(shè)計(jì)與開發(fā),從而得出下列結(jié)論:通過這次畢業(yè)設(shè)計(jì),我明白了只有不斷的是實(shí)踐,多動(dòng)手操作才能盡快掌

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論