摘要:建立籃球交流平臺(tái)的目的讓熱愛(ài)籃球的人群,能夠快速找到自己想要的資源,給熱愛(ài)籃球并且想快速入門(mén)的人群提供一個(gè)學(xué)習(xí)和交流的通道。本系統(tǒng)采用FreeMarker+SpringMVC+Hibernate框架,主要實(shí)現(xiàn)籃球用戶話題發(fā)布和話題討論。后臺(tái)管理員主要職責(zé)是話題管理和用戶管理,對(duì)話題進(jìn)行增、刪、改、查操作,對(duì)用戶進(jìn)行禁言操作。該系統(tǒng)功能明確,界面友好。
關(guān)鍵詞:SpringMVC FreeMarker Hibernate 籃球交流平臺(tái)
中圖分類號(hào):TP311.1 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2016)10-0192-01
FSH框架的籃球交流平臺(tái)采用主流的MVC三層架構(gòu)和FreeMarker+SpringMVC+Hibernate框架,讓開(kāi)發(fā)變得更加便捷,平臺(tái)具備了很高的穩(wěn)定性、延展性和執(zhí)行效率,三層模式可以將服務(wù)集中在一起管理,具備了良好的容錯(cuò)能力和負(fù)載平衡能力[1]。
1 系統(tǒng)的分析和設(shè)計(jì)
1.1 需求分析
籃球交流平臺(tái)主要有前臺(tái)籃球用戶功能模塊和后臺(tái)管理員管理模塊組成。前臺(tái)籃球用戶可以根據(jù)統(tǒng)一資源定位符進(jìn)入首頁(yè),進(jìn)入首頁(yè)后用戶可以看到話題分頁(yè)展示,點(diǎn)擊話題,查看話題相關(guān)討論;已注冊(cè)用戶登錄后,可以參加話題的討論,也可以發(fā)起話題討論。后臺(tái)管理員登錄后,可以對(duì)話題進(jìn)行增、刪、改、查操作,也可以對(duì)用戶進(jìn)行禁言操作,被管理員禁言的用戶,只能查看話題的相關(guān)討論,不能進(jìn)行話題討論和發(fā)起話題討論。
系統(tǒng)具體功能:(1)用戶注冊(cè)登錄;(2)管理員后臺(tái)登錄;(3)話題分頁(yè)展示,分頁(yè)查詢功能;(4)用戶發(fā)布話題、查看感興趣的話題并進(jìn)行討論;(5)管理員對(duì)話題進(jìn)行增、刪、改、查操作;(6)管理員管理用戶,對(duì)用戶進(jìn)行禁言操作。
1.2 技術(shù)分析
本系統(tǒng)是基于B/S架構(gòu)下的多層結(jié)構(gòu)應(yīng)用系統(tǒng)。采用FreeMarker+SpringMVC+Hibernate框架開(kāi)發(fā)[2]。FreeMarker是一個(gè)模板生成工具,籃球交流平臺(tái)后臺(tái)使用Java程序準(zhǔn)備好要顯示的頁(yè)面數(shù)據(jù),由FreeMarker生成HTML Web模板頁(yè)面,通過(guò)模板頁(yè)面顯示準(zhǔn)備的數(shù)據(jù),兩者結(jié)合生成動(dòng)態(tài)網(wǎng)頁(yè)效果,使籃球交流平臺(tái)更加友好,快捷。系統(tǒng)采用SpringMVC三層結(jié)構(gòu),當(dāng)前端發(fā)送請(qǐng)求時(shí),Servlet攔截匹配的所有的web請(qǐng)求,將攔截下來(lái)的前端請(qǐng)求,依據(jù)配置中的相應(yīng)的規(guī)則分發(fā)到指定的目標(biāo)Controller來(lái)處理,用SpringMVC的好處在與它可以直接根據(jù)前端發(fā)出的用戶請(qǐng)求,定位到具體的方法中。然后把用戶請(qǐng)求的數(shù)據(jù)傳到service層做邏輯處理,最后傳輸?shù)絛ao層做數(shù)據(jù)庫(kù)的交互工作。Hibernate是一個(gè)對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了輕量級(jí)的對(duì)象封裝,它將POJO與數(shù)據(jù)庫(kù)表建立映射關(guān)系,hibernate可以自動(dòng)生成SQL語(yǔ)句,自動(dòng)執(zhí)行,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。
1.3 數(shù)據(jù)庫(kù)設(shè)計(jì)
在當(dāng)前主流關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)中選擇使用mysql數(shù)據(jù)庫(kù)作為籃球交流平臺(tái)的數(shù)據(jù)庫(kù)管理軟件,數(shù)據(jù)庫(kù)名稱basketball,由3張表構(gòu)成,分別為:
(1)用戶表(user):該表主要用于存儲(chǔ)用戶信息,包括用戶編號(hào)、用戶名、密碼、ip、注冊(cè)時(shí)間、狀態(tài)等字段。(2)話題表(topic):該表主要用于存放話題數(shù)據(jù),包括話題編號(hào)、內(nèi)容、創(chuàng)建時(shí)間和狀態(tài)等字段。(3)討論表(discuss):該表主要用于保存討論數(shù)據(jù),包括討論編號(hào)、用戶編號(hào)、話題編號(hào)、討論內(nèi)容、創(chuàng)建時(shí)間等字段。
2 系統(tǒng)實(shí)現(xiàn)
2.1 用戶登錄
用戶進(jìn)入登錄頁(yè)面時(shí),引入jquery表單驗(yàn)證文件對(duì)輸入的表單信息進(jìn)行初步驗(yàn)證,如果不滿足表單約束,將無(wú)法提交表單。當(dāng)滿足表單約束條件,根據(jù)action的路徑,映射到相應(yīng)的方法中,進(jìn)行用戶信息的驗(yàn)證判斷。
2.2 用戶注冊(cè)
當(dāng)用戶輸入用戶名,光標(biāo)移開(kāi)輸入框時(shí),進(jìn)行ajax驗(yàn)證判斷用戶名是否存在。如果用戶名不存在,前端輸入的用戶信息保存在實(shí)體對(duì)象BasketballUser中,接著調(diào)用basketballService.save(BasketballUser)方法將獲取到的實(shí)體對(duì)象通過(guò)Service層傳到Dao層,接著Dao層根據(jù)實(shí)體對(duì)象BasketballUser,找到對(duì)應(yīng)的數(shù)據(jù)庫(kù)表,將實(shí)體對(duì)象BasketballUser中的數(shù)據(jù)保存到表user中。如果保存成功控制臺(tái)顯示“注冊(cè)成功”,否則顯示“注冊(cè)失敗”。
2.3 添加話題
話題添加也做了前端jquery驗(yàn)證,話題不可以為空,字符不能超過(guò)128個(gè)。由于save方法在BaseService方法中已定義,所以我們只需要調(diào)用父類方法即可,父類方法中的Service層注入BaseDao中的save方法,根據(jù)泛型傳入的實(shí)體類找到對(duì)應(yīng)的數(shù)據(jù)庫(kù)表,進(jìn)行話題數(shù)據(jù)的存儲(chǔ)。
2.4 用戶評(píng)論
用戶只有進(jìn)行注冊(cè)登錄后方可進(jìn)行話題討論和發(fā)布話題功能,一般用戶注冊(cè)登錄默認(rèn)狀態(tài)是沒(méi)有被禁言的,如果在交流過(guò)程中出現(xiàn)不當(dāng)言論,管理員可以對(duì)其實(shí)施禁言操作。用戶表中有state字段標(biāo)識(shí)用戶狀態(tài),默認(rèn)狀態(tài)是0:表示正常狀態(tài),1:表示用戶被禁言。
3 結(jié)語(yǔ)
本系統(tǒng)是基于J2EE技術(shù),使用B/S模式開(kāi)發(fā)的籃球交流平臺(tái),本平臺(tái)在window環(huán)境下開(kāi)發(fā)調(diào)試,系統(tǒng)性能穩(wěn)定、可靠,基于用戶交流的模塊,具有很強(qiáng)的可擴(kuò)展性。
參考文獻(xiàn)
[1]蔡劍,景楠.Java Web應(yīng)用開(kāi)發(fā)--J2EE和Tomcat[M].北京:清華大學(xué)出版社,2005.
[2]劉瑾,詹玲超.基于Struts的音樂(lè)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,2016(3).
作者簡(jiǎn)介:劉瑾(1979—),女,新疆克拉瑪依人,碩士研究生,講師,研究方向:軟件工程,E-mail:6438288@qq.com。