黎佳
摘 要 針對(duì)JQuery Mobile框架的特點(diǎn),采用JAVA語言,結(jié)合Struts、Hibernate、Spring三大框架開發(fā)了基于JQuery Mobile的多功能家庭管理系統(tǒng),系統(tǒng)不僅可運(yùn)行在PC端,還可運(yùn)行于各種移動(dòng)設(shè)備。旨在一定程度上解決家庭生活繁鎖、復(fù)雜等缺陷,創(chuàng)造良好的家庭氛圍。測試結(jié)果表明所采用的技術(shù)路線和設(shè)計(jì)方法可行有效。
關(guān)鍵詞 JQuery Mobile 家庭管理 SSH 智能推薦
中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A
0引言
隨著社會(huì)競爭的加劇,人們的工作生活節(jié)奏也隨之加快,很多人對(duì)家庭的瑣碎事務(wù)力不從心。有了“小管家系統(tǒng)”這一切都將被改變。本課題主要研究內(nèi)容是通過Web系統(tǒng)來實(shí)現(xiàn)對(duì)家庭事務(wù)的管理,選擇并運(yùn)用有效的方法和資源,以建立良好的家庭生活環(huán)境。有了系統(tǒng)化的管理,家庭用戶便可很方便地從系統(tǒng)里獲取想要的信息,不論是家庭物品的放置,還是家庭財(cái)產(chǎn)的流動(dòng),在系統(tǒng)有序的管理下便可一目了然。系統(tǒng)還提供個(gè)性化推薦、天氣溫馨提示等各種人性化服務(wù),以及加入各種類型的APP游戲應(yīng)用供用戶選擇,使得系統(tǒng)不再是單純地增刪改查,而更注重的是用戶體驗(yàn)和實(shí)用服務(wù)。
與此同時(shí),隨著移動(dòng)設(shè)備的不斷普及,帶來了一個(gè)新的問題就是平臺(tái)的兼容性。使用原有的頁面框架遠(yuǎn)不能解決各類型移動(dòng)設(shè)備中瀏覽器的兼容性問題,JQuery Mobile框架應(yīng)運(yùn)而生了。它給程序開發(fā)帶來了一個(gè)新的體驗(yàn):向所有主流移動(dòng)瀏覽器提供一種統(tǒng)一的體驗(yàn)。
本文剩余部分組織如下:第一部分講述系統(tǒng)開發(fā)相關(guān)技術(shù)。第二部分主要是系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn),闡述系統(tǒng)的功能結(jié)構(gòu)、特色以及數(shù)據(jù)庫設(shè)計(jì)等。第三部分是結(jié)論和進(jìn)一步工作。
1相關(guān)技術(shù)
1.1 JQuery Mobile
隨著移動(dòng)應(yīng)用的普及和HTML5技術(shù)的成熟,Web APP也越來越流行,因?yàn)閃eb APP有著真正的跨平臺(tái)特性。JQuery Mobile的使命是為所有主流移動(dòng)瀏覽器提供一種統(tǒng)一的體驗(yàn),跨所有流行的智能手機(jī)和平板電腦等移動(dòng)設(shè)備工作。在眾多的移動(dòng)開發(fā)框架中,系統(tǒng)之所以選用JQuery Mobile的理由有很多,但是有三個(gè)理由最重要:(1)之前非常熟悉JQuery,所以使用JQuery Mobile時(shí)可以駕輕就熟,因?yàn)閮烧呤褂霉蚕淼拇a庫;(2)它是真正的跨平臺(tái)和跨設(shè)備,有強(qiáng)大的兼容性;(3)社區(qū)和企業(yè)對(duì)它的廣泛支持,整個(gè)技術(shù)鏈越來越成熟。
本系統(tǒng)利用移動(dòng)版JavaScript框架JQuery Mobile,對(duì)頁面進(jìn)行整體優(yōu)化,充分利用移動(dòng)終端設(shè)備的性能優(yōu)勢(shì)來實(shí)現(xiàn)最佳的用戶體驗(yàn)。在網(wǎng)頁中引入JQuery Mobile,只需要在標(biāo)記中進(jìn)行加載即可。代碼如下:
1.2 MVC設(shè)計(jì)模式
MVC是Model-View-Controller的簡稱,它將應(yīng)用程序的結(jié)構(gòu)分成三個(gè)核心模塊:模型、視圖、控制器。視圖是用戶所看到的并可以與之產(chǎn)生交互的可視化界面。模型表示業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯,是應(yīng)用程序的主體部分??刂破骺梢垣@取頁面上的輸入并調(diào)用模型和視圖去完成用戶的操作,它只會(huì)接收頁面請(qǐng)求并控制調(diào)用相應(yīng)模型組件去處理請(qǐng)求,然后決定調(diào)用相應(yīng)視圖去顯示模型處理后所返回的數(shù)據(jù)。
1.3 Struts+Hibernate+Spring技術(shù)
Struts,Hibernate,Spring簡稱SSH,SSH是當(dāng)前JavaWeb應(yīng)用程序中較流行的三大開源集成框架。它采用典型的三層構(gòu)架,有利于減輕開發(fā)人員對(duì)復(fù)雜業(yè)務(wù)的設(shè)計(jì)和解決方案的精力負(fù)擔(dān),方便在短時(shí)間內(nèi)開發(fā)出滿足客戶的需求,大大降低了開發(fā)成本。SSH還具有較強(qiáng)的可擴(kuò)展性,提供開發(fā)者的第三方應(yīng)用支持,有效避免了因業(yè)務(wù)需求過于復(fù)雜而無法實(shí)現(xiàn),同時(shí)還具有良好的可維護(hù)性。SSH因?yàn)檎宫F(xiàn)層和邏輯層的合理分離,使新需求的修改風(fēng)險(xiǎn)降到最低。
2系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2.1系統(tǒng)功能模塊
“小管家”系統(tǒng)可以方便用戶對(duì)家庭物品和家庭財(cái)產(chǎn)的管理,以及滿足不同家庭之間和家庭各成員之間的通訊交流。系統(tǒng)提供各種實(shí)用的工具給用戶帶來便捷的服務(wù),主要包括五大功能模塊,詳述如下:
(1)個(gè)人信息指的身份驗(yàn)證功能。驗(yàn)證時(shí)加入驗(yàn)證碼,有效避免了黑客運(yùn)用軟件快速提交表單所導(dǎo)致的系統(tǒng)崩潰。用戶密碼采用了MD5加密技術(shù),在安全性上提高了一個(gè)層次。用戶若忘記密碼,可以用自己的郵箱進(jìn)行找回。注冊(cè)成功后,系統(tǒng)會(huì)以短信/郵箱形式進(jìn)行提示。
(2)物品管理:用戶可將家庭分成若干房間,房間里也可再分成若干位置,并在位置上添加物品,便可通過物品的分類或名稱關(guān)鍵字來搜索物品的具體信息,也可通過房間和位置來查看物品,如果物品的位置有變更或物品丟棄,可對(duì)物品進(jìn)行修改或刪除操作。值得一提的是,系統(tǒng)具有智能推薦功能,即根據(jù)IP地址獲取本地的天氣數(shù)據(jù),然后智能地從已有物品中查找適合當(dāng)前溫度穿的衣物并推薦給用戶。
(3)家庭理財(cái)可以用來記錄家庭的收入、支出信息,從而自動(dòng)分析各收入來源的比例,以及家庭在每個(gè)月份的消費(fèi)數(shù)據(jù)。系統(tǒng)將智能統(tǒng)計(jì)家庭的總財(cái)產(chǎn),并以圖形報(bào)表形式來展示家庭成員的財(cái)產(chǎn)比例和分布情況。
(4)論壇模塊:實(shí)現(xiàn)了瀏覽帖子,搜索帖子,發(fā)表帖子,刪除帖子,發(fā)表評(píng)論,版塊分區(qū)等基本功能。系統(tǒng)內(nèi)嵌百度最新的富文本編輯器,具有極其強(qiáng)大的文本編輯能力。點(diǎn)擊用戶昵稱,即可查看用戶動(dòng)態(tài)信息。
(5)游戲應(yīng)用:采用百度在線應(yīng)用滿足用戶娛樂需求,并添加到自己的收藏欄中以便下次使用。
2.2 系統(tǒng)開發(fā)工具與運(yùn)行環(huán)境
該系統(tǒng)采用MyEclipse10作為開發(fā)平臺(tái),持久層用Hibernate框架簡化了大量的代碼,前臺(tái)與后臺(tái)的MVC模式采用Struts2實(shí)現(xiàn),各種事務(wù)托管由Spring完成。數(shù)據(jù)庫服務(wù)器采用MySQL 5.12,Web服務(wù)器采用Tomcat 7.0.42,采用JQuery Mobile、PhotoShop CS5、Navicat等相關(guān)技術(shù)和工具,在Windows 7環(huán)境下進(jìn)行開發(fā)實(shí)現(xiàn)。
2.3 數(shù)據(jù)庫設(shè)計(jì)與連接
根據(jù)系統(tǒng)的功能分析,數(shù)據(jù)庫由用戶表、家庭成員表、物品表、房間表、銀行卡表、銀行操作記錄表、收支表、論壇主題表、評(píng)論表、通訊錄等數(shù)據(jù)表構(gòu)成(E-R圖略)。
數(shù)據(jù)庫連接可通過直接編寫Hibernate的配置文件來實(shí)現(xiàn),由于系統(tǒng)采用Struts,Hibernate和Spring三個(gè)框架的結(jié)合,所以系統(tǒng)在處理與數(shù)據(jù)庫連接時(shí),直接將Hibernate配置文件中連接數(shù)據(jù)庫的代碼注入到Spring的配置文件中,包括需要加載相應(yīng)的數(shù)據(jù)庫驅(qū)動(dòng),與所用數(shù)據(jù)庫建立連接的URL,數(shù)據(jù)庫的用戶名以及密碼。且通過Spring的配置文件將Hibernate中持久化類所對(duì)應(yīng)的映射文件進(jìn)行注入。sessionFactory 在應(yīng)用程序中通常只需存在一個(gè)實(shí)例,因而sessionFactory 底層的 dataSource 可以使用Spring的IoC注入,之后再將sessionFactory注入相依賴的對(duì)象之中。
最后,把項(xiàng)目部署到服務(wù)器上,用戶可通過網(wǎng)址“www.家庭管理.cn”訪問系統(tǒng),不限任何設(shè)備。
3 總結(jié)
本文介紹了基于JQuery Mobile的“小管家”系統(tǒng)的實(shí)現(xiàn),分別從所用技術(shù)、功能模塊設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)等方面闡述了系統(tǒng)的主要內(nèi)容?!靶」芗蚁到y(tǒng)”從家庭的實(shí)際需求出發(fā),提供人性化的服務(wù),力求創(chuàng)造一個(gè)溫馨、便捷的家庭氛圍。系統(tǒng)可以有效地提高家庭的生活質(zhì)量,根據(jù)家庭收入計(jì)劃安排家庭消費(fèi),選擇合適的家庭經(jīng)濟(jì)結(jié)合方式,建立理想的家庭經(jīng)濟(jì)模式。系統(tǒng)還提供了家庭物品的存放管理,以便于找到物品的具體位置和清點(diǎn)家庭資產(chǎn),各種個(gè)性化功能和實(shí)用工具將為每個(gè)用戶創(chuàng)造一個(gè)便捷和有趣的操作環(huán)境。
雖然已經(jīng)是一個(gè)需求相對(duì)完整的系統(tǒng),但是在功能上還是存在著一些不足,如今是個(gè)科技發(fā)達(dá)的年代,智能家居成了一個(gè)熱門話題,人們更加希望有一套功能完善的系統(tǒng)包攬家中的所有家務(wù)和管理,而這則需要與家里的電器相結(jié)合,我們只需要在手機(jī)上安裝一個(gè)客戶端就能在任何時(shí)間和地點(diǎn)了解并操縱家里的一切事務(wù)。因此,本系統(tǒng)也將在往后的應(yīng)用開發(fā)中逐步完善,做到盡善盡美。
參考文獻(xiàn)
[1] 張欣毅.JQuery Mobile移動(dòng)網(wǎng)站開發(fā)[M].北京:清華大學(xué)出版社,2015:186-330.
[2] 陶國榮.JQuery Mobile權(quán)威指南[M].北京:機(jī)械工業(yè)出版社,2012:202-249.
[3] 王建云.基于J2EE的MVC設(shè)計(jì)模式研究[J].中國民航飛行學(xué)院學(xué)報(bào),2009,20(6):65-68.
[4] 劉中兵.開發(fā)者突擊:Java Web主流框架整合開發(fā)(J2EE+Struts+Hibernate+Spring)第2版[M].北京:電子工業(yè)出版社,2011.
[5] 郭濤.基于JQuery Mobile的公安系統(tǒng)微信公眾平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D].吉林:吉林大學(xué),2015.
[6] Bruce Eckel.Java編程思想(第4版)[M].北京:機(jī)械工業(yè)出版社,2007.