Struts+Hibernate+Spring-廣告管理系統(tǒng)論文_第1頁
Struts+Hibernate+Spring-廣告管理系統(tǒng)論文_第2頁
Struts+Hibernate+Spring-廣告管理系統(tǒng)論文_第3頁
Struts+Hibernate+Spring-廣告管理系統(tǒng)論文_第4頁
Struts+Hibernate+Spring-廣告管理系統(tǒng)論文_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGEPAGE4PAGE4目錄【摘要】隨著互聯(lián)網(wǎng)的迅猛進展,越來越多的人開頭關(guān)注廣告,獵取需要的信息.廣告管理系統(tǒng)作為獵取的手段和溝通的平臺.廣告管理系統(tǒng)系統(tǒng)具有訪問快捷,對性能要求低的特點,在Web應用開發(fā)中這樣的系統(tǒng)具有肯定的代表性。J2EE是實現(xiàn)企業(yè)級分布式應用的平臺,J2EE以其高效率,高性能,高擴展而成為企業(yè)級應用的優(yōu)秀解決方案。采納Struts、Hibernate、Spring等技術(shù),通過MVC架構(gòu),將視圖層和業(yè)務層分離,便利開發(fā)與維護。本系統(tǒng)功能主要有:用戶廣告管理功能,用戶可以發(fā)廣告、回廣告、廣告置頂、廣告修改、廣告條件檢索;管理員對廣告的管理,如將廣告設為最有效;用戶管理功能,管理員可以對用戶進行鎖定、解鎖、修改、刪除等管理;板塊管理功能,管理員可以對板塊進行增刪改查等操作.通過本系統(tǒng),用戶可以輕松溝通,管理員信息維護更加便利.【關(guān)鍵詞】Struts;Spring;Hibernate;J2EE;JSP;MVC【Abstract】AlongwiththerapiddevelopmentofInternet,moreandmorepeoplebegintopaycloseattentiontoadvertising,obtaintherequiredinformationadvertisementmanagementsystemasobtainthemeansandcommunicationplatformforadvertisingmanagementsystem,systemhasvisitingswifttoperformancerequirementslowcharacteristics,intheWebapplicat(yī)iondevelopingsuchsystemhascertainrepresentativenessJ2EEistorealizetheenterprise-leveldistributedsequence【Keywords】Struts;Spring;Hibernate;J2EE;JSP;EJB;Multi-layerstructureStruts+Spring+Hibernate廣告管理系統(tǒng)第一章緒論(一)Struts介紹:Struts最早是作為ApacheJakarta項目的組成部分,項目的創(chuàng)立者盼望通過對該項目的討論,改進和提高JavaServerPages、Servlet、標簽庫以及面對對象的技術(shù)水準.為了節(jié)省開發(fā)時間,我們采納MVC設計模型;模型分別為Model1與Model2。在Model1架構(gòu)中,JSP直接處理Web掃瞄器送來之懇求(Request),并輔以JavaBean處理應用相關(guān)規(guī)律。Model1架構(gòu)單純編寫比較容易,但在Model1中JSP可能同時肩負View與Controller角色,兩類程序代碼有可能混雜而不易維護。而Model2中將Servlet納入架構(gòu)中扮演前端Controller角色,將Web掃瞄器送出之懇求集中送至Servlet,Servlet可集中管理使用者登入、權(quán)限掌握、多國語言轉(zhuǎn)換等前置處理,再視需求轉(zhuǎn)向給對應之JSP處理。Model2中采納了較佳之MVC模式,但增加了編寫簡潔度。MVC即Model—View-Controller的縮寫,是一種常用的設計模式。MVC減弱了業(yè)務規(guī)律接口和數(shù)據(jù)接口之間的耦合,以及讓視圖層更富于變化。Struts是MVC的一種實現(xiàn),它將Servlet和JSP標記(屬于J2EE規(guī)范)用作實現(xiàn)的一部分.Struts繼承了MVC的各項特性,并依據(jù)J2EE的特點,做了相應的變化與擴展.J2EE平臺已經(jīng)日趨成熟,并得到廣泛應用.(二)Spring介紹:IoC和SpringAOP是應用的粘合劑,它們使得應用組件都是可配置的。尤其是,開發(fā)者可以動態(tài)調(diào)整、更換所需的企業(yè)級服務和應用組件。借助于SpringIoC,開發(fā)者能夠?qū)λ枰膽媒M件進行依靠注入。借助于SpringAOP,開發(fā)者能夠透明地使用企業(yè)級服務。它們一起組成了輕量級的J2EE架構(gòu)。因此,Spring是架構(gòu)級的Java/J2EE框架。借助于Spring,開發(fā)者能夠?qū)⒅髁鞯模希餰nSource框架以“熱拔插”方式集成到應用中。比如,為了使得Web容器具有全局事務的功能,開發(fā)者可以將JOTM集成到Spring應用中;為了使得持久化服務能夠基于Hibernate實現(xiàn),開發(fā)者可以借助于SpringDAO抽象將Hibernate集成到應用組件中;為了將JSF、TapestryWeb框架集成到Spring應用中,開發(fā)者可以直接使用Spring供應的集成支持。因此,Spring是將來J2EE進展趨勢的縮影。通過抽象的顯著特性讓基礎的程序塊組成在一起成為一個連貫的整體。Spring框架作為開源的中間件,獨立于各種應用服務器,甚至無須應用服務器的支持,也能供應應用服務器的功能,如聲明式事務等。Spring致力于J2EE應用的各層的解決方案,而不是僅僅專注于某一層的方案??梢哉fSpring是企業(yè)應用開發(fā)的“一站式”選擇,并貫穿表現(xiàn)層、業(yè)務層及持久層。然而,Spring并不想取代那些已有的框架,而與它們無縫地整合.Spring是一個開源框架,它由RodJohnson創(chuàng)建。它是為了解決企業(yè)應用開發(fā)的簡潔性而創(chuàng)建的.Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務器端的開發(fā).從簡潔性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益?!裟康?解決企業(yè)應用開發(fā)的簡潔性◆功能:使用基本的JavaBean代替EJB,并供應了更多的企業(yè)應用功能◆范圍:任何Java應用簡潔來說,Spring是一個輕量級的掌握反轉(zhuǎn)(IoC)和面對切面(AOP)的容器框架?!糨p量——從大小與開銷兩方面而言Spring都是輕量的.完整的Spring框架可以在一個大小只有1MB多的JAR文件里發(fā)布.并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應用中的對象不依靠于Spring的特定類.◆掌握反轉(zhuǎn)-—Spring通過一種稱作掌握反轉(zhuǎn)(IoC)的技術(shù)促進了松耦合。當應用了IoC,一個對象依靠的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創(chuàng)建或者查找依靠對象。你可以認為IoC與JNDI相反——不是對象從容器中查找依靠,而是容器在對象初始化時不等對象懇求就主動將依靠傳遞給它?!裘鎸η忻?—Spring供應了面對切面編程的豐富支持,允許通過分離應用的業(yè)務規(guī)律與系統(tǒng)級服務(例如審計(auditing)和事務()管理)進行內(nèi)聚性的開發(fā).應用對象只實現(xiàn)它們應該做的—-完成業(yè)務規(guī)律-—僅此而已。它們并不負責(甚至是意識)其它的系統(tǒng)級關(guān)注點,例如日志或事務支持?!羧萜鳌猄pring包含并管理應用對象的配置和生命周期,在這個意義上它是一種容器,你可以配置你的每個bean如何被創(chuàng)建-—基于一個可配置原型(prototype),你的bean可以創(chuàng)建一個單獨的實例或者每次需要時都生成一個新的實例——以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應該被混同于傳統(tǒng)的重量級的EJB容器,它們常常是浩大與笨重的,難以使用?!艨蚣?—Spring可以將簡潔的組件配置、組合成為簡潔的應用。在Spring中,應用對象被聲明式地組合,典型地是在一個XML文件里。全部Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。(三)Hibernate介紹:Hibernate是一個面對Java環(huán)境的對象/關(guān)系數(shù)據(jù)庫映射工具.對象/關(guān)系數(shù)據(jù)庫映射(object/relationalmapping(ORM))這個術(shù)語表示一種技術(shù),用來把對象模型表示的對象映射到基于SQL的關(guān)系模型數(shù)據(jù)結(jié)構(gòu)中去。Hibernate是ORM工具,不能稱之為框架,它至少至少有一個好處,在項目做移植數(shù)據(jù)庫的時候,不用切換數(shù)據(jù)庫層的代碼.當然它的好處很多。筆者在全部的開源技術(shù)中,也最鐘情對Hibernat(yī)e的討論。Hibernat(yī)e不僅僅管理Java類到數(shù)據(jù)庫表的映射(包括Java數(shù)據(jù)類型到SQL數(shù)據(jù)類型的映射),還供應數(shù)據(jù)查詢和獵取數(shù)據(jù)的方法,可以大幅度削減開發(fā)時人工使用SQL和JDBC處理數(shù)據(jù)的時間.Hibernate的目標是對于開發(fā)者通常的數(shù)據(jù)持久化相關(guān)的編程任務,解放其中的95%。對于以數(shù)據(jù)為中心的程序來說,它們往往只在數(shù)據(jù)庫中使用存儲過程來實現(xiàn)商業(yè)規(guī)律,Hibernate可能不是最好的解決方案;對于那些在基于Java的中間層應用中,它們實現(xiàn)面對對象的業(yè)務模型和商業(yè)規(guī)律的應用,Hibernate是最有用的。不管怎樣,Hibernate肯定可以幫助你消除或者包裝那些針對特定廠商的SQL代碼,并且?guī)湍惆呀Y(jié)果集從表格式的表示形式轉(zhuǎn)換到一系列的對象去??傮w上而言,Struts,Spring,Hibernate都是為了讓項目更健壯而產(chǎn)生的.整個J2EE開發(fā)模型需要簡化,比如簡化EJB組件開發(fā)(基于POJO開發(fā)EJB應用,尤其是改善實體Bean的效率)、在Web層引入面對組件的JSF技術(shù)(供應可復用的Web組件;以OOP、基于大事方式開發(fā)Web前端)、對JNDI供應依靠注入等等.使用元數(shù)據(jù),注釋代替?zhèn)鹘y(tǒng)的配置文件成為了新的熱點。JPA更是代替了傳統(tǒng)的CMP作為了更加便捷的持久化的方案。然而,我們所揭示的僅僅是冰山之一角而已,要以一篇數(shù)千字的文章來展現(xiàn)J2EE潛在的對您的企業(yè)級應用的影響可是很不公正的。其次章系統(tǒng)需求分析一系統(tǒng)功能分析本設計簡略介紹如下圖所示的開發(fā)過程,其他功能完全可以參照這些功能的開發(fā)方法實現(xiàn).廣告管理系統(tǒng)廣告管理系統(tǒng)本廣告管理系統(tǒng)介紹的功能模塊二項目部署結(jié)構(gòu)圖2.2廣告系統(tǒng)框架結(jié)構(gòu)截圖第三章概要設計一系統(tǒng)功能模塊劃分開發(fā)編程體驗BBS—論壇目的是供應一個供編程者溝通的平臺,為寬闊編程者供應溝通閱歷、探討問題的社區(qū)。因此,編程體驗BBS-論壇最基本的功能首先是發(fā)表主題,其次是其他人員依據(jù)主題發(fā)表自己的看法.為了記錄主題的發(fā)表者和主題的回復者信息,系統(tǒng)還需要供應用戶注冊和登錄功能。只有注冊的用戶登錄后才能夠發(fā)表和回復主題,掃瞄者(游客)只能掃瞄主題信息。全部操作都可以由用戶在客戶端掃瞄器中完成,而服務器端程序會按用戶的要求來完成對系統(tǒng)數(shù)據(jù)的操作,并將結(jié)果傳給Web服務器,再由Web服務器處理成HTML文件后發(fā)送到客戶端掃瞄器.綜上所述,結(jié)合BBS論壇系統(tǒng)實際需要,本BBS系統(tǒng)采納B/S結(jié)構(gòu)。論文設計開發(fā)的系統(tǒng)為通用BBS系統(tǒng),系統(tǒng)應該具備較大的可伸縮性,能適應最基本應用最廣泛的WEB平臺.前臺界面大致可分為如下幾個主要功能模塊(登錄后的用戶):登錄:登錄是進入本論壇的一個門戶,必須登錄后才可以發(fā)表帖子,此功能起到了對用戶信息起到了肯定的保護作用。我的廣告:如果是本系統(tǒng)的會員,登錄后的才消滅的功能,才有權(quán)限查看自己以前發(fā)表的帖子,如果是游客的身份則沒有此功能。精華廣告:游客、會員或管理員都可以查看的內(nèi)容,但是只有管理員才有權(quán)限設置帖子為精華帖子,一般會員則沒有設置的權(quán)限。進入后臺:必須是管理員才可以進去,而且還需求在前臺登錄之后才會消滅進入后臺的功能,游客、一般用戶和版本根本沒權(quán)限進入后臺。注銷用戶:必須是登錄之后的用戶才可以看到此功能,如果用戶沒有登錄就沒方法注銷,同樣也就不會顯示此功能。搜尋廣告:用戶可以輸入帖子標題、帖子內(nèi)容、發(fā)表者進行搜尋相關(guān)內(nèi)容的帖子。查看用戶信息:可以查看發(fā)表帖子的作者信息.回復消息:必須是登錄之后的用戶才有權(quán)限對別人發(fā)表的帖子進行回復。后臺界面大致可分為如下幾個主要功能模塊:返回首頁:管理員進入后臺之后想返回前臺的快捷通道.退出登錄:管理員退出本論壇的通道.類別管理:管理員可以分類查看全部存在的類別的類別ID,類別名稱,添加新類別、刪除存在的類別,修改存在的類別。版面管理:管理員可以分類查看存在的版面的版面ID,版面名稱,和每個版面的斑竹,并且可以查看斑竹的相關(guān)的信息,添加新版面、刪除存在的版面,修改存在的版面。用戶管理:管理員可以分類查看全部的一般用戶,全部的管理員,全部的版主,顯示全部用戶ID、用戶名、用戶密碼、用戶權(quán)限,并且可以修改全部用戶的信息。還可以刪除存在的用戶。二系統(tǒng)流程分析本論壇的整體流程如下所示。第一步:打開的是首頁,如果想發(fā)表帖子必必要注冊之后,點擊注冊,進入其次步。其次步:打開論壇的注冊頁面,輸入對應的信息內(nèi)容,輸入完全部的問題信息之后,最后點擊用戶注冊,如果輸入的信息沒有問題則會提示你注冊成功。第三步:當用戶注冊成功之后,則可以點擊登錄,打開前臺登錄界面,提示你輸入注冊的用戶名和密碼,以及驗證碼。然后才可以登錄。第四步:當用戶登錄之后可以查看我的帖子,可以查看全部的精華帖子,還可以回復別人發(fā)表的帖子。第五步:登錄之后的用戶想退出的時候,還可以點擊注銷。第六步:如果登錄的是管理員,還可以把好的帖子設置為精華帖子、置頂帖子,可以刪除不符合要求的帖子和灌水帖子,同樣也可以回復帖子,發(fā)表帖子。第七步:管理員進入后臺,返回首頁,退出登錄.類別管理:在該模塊中可以查看論壇的類別(類別ID、類別名稱、修改類別名稱、修改論壇類別介紹、刪除類別),添加新類別(論壇名稱、論壇介紹).版面管理:在該模塊中可以查看版面(版面ID、版面名稱、斑竹、斑竹信息)、修改版面(所屬類別、版面名稱、版主、版面公告)、刪除版面。用戶管理:在該模塊中可以查看用戶信息(用戶ID、用戶名、用戶密碼、用戶權(quán)限)、修改用戶的全部信息,刪除用戶.圖3.1用戶訪問業(yè)務流程圖第四章簡略設計一注冊登錄模塊功能說明此功能為游客供應發(fā)表廣告和回復信息的權(quán)限,游客必須注冊本論壇的會員之后才有權(quán)限對別人發(fā)表的帖子進行回復,或發(fā)表自己的廣告。其結(jié)構(gòu)圖為:第一:user.hbm.xml文件的配置,定義與數(shù)據(jù)庫的映射<?xmlversion="1.0"?〉?<!DOCTYPEhibernat(yī)e—mappingPUBLIC?"-//Hibernate/HibernateMappingDTD3.0//EN”?”HYPERLINK"http://hibernate。sourceforge.net/hibernate—mapping—3.0.dtd"http://hibernate。sourceforge.net/hibernate-mapping-3。0。dtd">

〈hibernate—mappingpackage="com.han.forms”〉〈classname="LoginForm"table=”t_user”lazy="false">

〈comment>Usersmaybidfororsellauctionitems.</comment>

?〈idname="id"〉

<generatorclass="native”/>

</id>

<propert="username">〈/property〉?<propertyname=”password">〈/property></class>?

</hibernate-mapping>

其次:struts-config.xml文件配置<?xmlversion="1.0"encoding=”UTF—8"?〉?〈!DOCTYPEstruts—configPUBLIC”-//ApacheSoftwareFoundat(yī)ion//DTDStrutsConfiguration1.3//EN""HYPERLINK"http://struts。apache。org/dtds/struts—config_1_3.dtd"http://struts。apache.org/dtds/struts-config_1_3.dtd"〉<struts-config>?<form—beans>?<form—beanname="loginAF”type=”com.han。forms.LoginForm">〈/form-bean>?</form-beans>

〈global-exceptions/>?<global-forwards/>?<action-mappings>?<actionpath="/loginA"?name=”loginAF”?type="org。springframework.web。struts。Delegat(yī)ingActionProxy"?scope=”request"?input="/index。jsp"?>?<forwardname="success”path="/success.jsp”>〈/forward>?〈forwardname="failed"path="/failed.jsp">〈/forward>

</action>?</action-mappings〉?〈message-resourcesparameter="com.han.struts。ApplicationResources"/>?〈plug-inclassName=”org.apache。struts.validat(yī)or.Validat(yī)orPlugIn”〉

<set-property?property="pat(yī)hnames"?value="/org/apache/struts/validat(yī)or/validator-rules.xml,?/WEB—INF/validation。xml”/>

</plug-in〉?〈/struts—config>二用戶管理模塊功能說明此功能為管理員對本論壇用戶的管理供應了相應的功能,修改用戶的信息、刪除用戶。三廣告管理模塊功能說明此功能為管理員和版竹供應對會員發(fā)表的帖子的管理,設為精華,刪除帖子,置頂帖子。四版塊管理模塊功能說明此功能為管理員供應了對本論壇全部版塊的管理:依據(jù)不同類別查看(版面ID、版面名稱、斑竹)、管理(添加,刪除)、修改(所屬類別、版面名稱、斑竹以及版面公告)、添加版面(所屬類別、版面名稱、版面公告)。五類別管理模塊功能說明此功能為管理員供應了在后臺對此論壇的全部類別的查看(類別ID、類別名稱)、修改(論壇類別、論壇類別名稱、論壇類別介紹)、刪除、添加(論壇名稱、論壇介紹).六用戶管理模塊功能說明此功能為管理員供應了在后臺對全部用戶的管理,可以選擇用戶的權(quán)限分類查看用戶信息(用戶ID、用戶名、用戶密碼、用戶權(quán)限)、修改用戶信息(更換用戶頭像、用戶名、更改密碼、更改性別、更改聯(lián)系電話、更改QQ、更改E-mail、更改地址)、刪除用戶。七開發(fā)環(huán)境說明及搭建環(huán)境說明本廣告管理系統(tǒng)的開發(fā)環(huán)境采納MyEclipse插件,MyEclipse定義MyEclipse企業(yè)級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和J2EE的開發(fā)、發(fā)布,以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。SQLServer2000是Microsoft公司推出的SQLServer數(shù)據(jù)庫管理系統(tǒng)。Tomcat(yī)是一個小型的輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試HYPERLINK"http://baike。baidu。com/view/3387。htm"\t”_blank"JSP程序的首選.對于一個初學者來說,可以這樣認為,當在一臺機器上配置好HYPERLINK”http://baike。baidu.com/view/28283.htm”\t”_blank"Apache服務器,可利用它響應對HYPERLINK"http://baike。baidu。com/view/692.htm"\t”_blank"HTML頁面的訪問懇求。搭建過程截圖1.新建項目及導入SSH的截圖過程:圖4.13添加SSH開發(fā)環(huán)境操作的界面預覽2.在MyEclipseDatebaseExplorer中使用Hibernate對數(shù)據(jù)庫做映射的操作:圖4。14添加Hibernate數(shù)據(jù)庫映射操作的界面預覽謝辭在此廣告管理系統(tǒng)的開發(fā)和論文的編寫過程中,得到了許很多多老師、同學以及伴侶們的大力幫助和支持。通過這次將近兩個星期的課程設計實訓,我明白一些做軟件工程師的難處。第一,接受到任務以后進行選題。課程設計的開端,選擇恰當?shù)?、感愛好的題目,這對于整個設計是否能夠順利進行關(guān)系極大。好比走路,這開頭的第一步是具有決定意義的,第一步邁向何方,需要慎重考慮。否則,就可能走很多彎路、費很多周折,甚至南轅北轍,難以到達目的地。因此,選題時肯定要考慮好。以免浪費時間。其次,題目確定后就是找資料了。去圖書館和網(wǎng)吧以及在材料中查找與課程設計相關(guān)的資料,但是我們都明白查資料是做課程設計的前期籌備工作,好的開端就相當于成功了一半,即使來回于圖書館、網(wǎng)吧、與機房之間雖說是比較累,但只要有可用之處再怎么累也是值得的。總之,這樣做的目的就是不管通過哪種方式查的資料都是有利用價值的,要一一記錄下來以備后用.第三,通過上面的過程,已經(jīng)積累了不少資料,對所選的題目也也許有了一些了解,尤其需要重點了解地是我負責的實例劃廣告管理系統(tǒng)與數(shù)據(jù)庫需求分析這兩個比較重要的部分,由于這一步就是在這樣一個基礎上,綜合已有的資料來更透徹的分析題目,以便在接下來的實際操作中起到重要的作用。第四,有了討論方向和討論資料,就應該動手實踐了。通過編寫實例劃

溫馨提示

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

最新文檔

評論

0/150

提交評論