周粉妹, 吳仁平, 錢榮華, 陳 思
(1.揚(yáng)州職業(yè)大學(xué), 江蘇 揚(yáng)州 225009; 2.江蘇省華揚(yáng)太陽能有限公司, 江蘇 揚(yáng)州 225009)
領(lǐng)養(yǎng)流浪動(dòng)物可喚起人們關(guān)愛動(dòng)物、關(guān)注動(dòng)物生存環(huán)境的意識,目前實(shí)體寵物領(lǐng)養(yǎng)站點(diǎn)領(lǐng)養(yǎng)渠道較為單一。利用互聯(lián)網(wǎng)技術(shù)開發(fā)網(wǎng)上寵物領(lǐng)養(yǎng)平臺,可以實(shí)現(xiàn)更有效、更方便的寵物領(lǐng)養(yǎng),有利于對流浪動(dòng)物的管理。本文運(yùn)用SSM框架,設(shè)計(jì)了寵物領(lǐng)養(yǎng)網(wǎng)站。
Java Server Pages(簡稱JSP)是建立在Servlet規(guī)范之上的動(dòng)態(tài)網(wǎng)頁開發(fā)技術(shù)[1]。在JSP文件中,運(yùn)用HTML語言實(shí)現(xiàn)網(wǎng)頁中靜態(tài)內(nèi)容的顯示,Java程序段實(shí)現(xiàn)網(wǎng)頁中動(dòng)態(tài)內(nèi)容的顯示,并嵌入
SSM框架即SpringMVC、Spring與Mybatis三大框架的統(tǒng)稱[2],三大框架利用Spring容器框架的特性, 將Mybatis和SpringMVC通過XML文件的形式整合, 形成SSM框架,見圖1。
圖1 SSM架構(gòu)圖
Spring是在J2EE技術(shù)基礎(chǔ)上發(fā)展起來的一個(gè)開源框架,不僅支持J2EE的所有技術(shù),而且還提供許多額外的功能。Spring讓數(shù)據(jù)層、業(yè)務(wù)層和表示層的耦合大大降低,因?yàn)榘目刂品崔D(zhuǎn)(IOC)功能支持依賴注入(DI),所以程序員只需要針對接口編程就可以。Spring就像是整個(gè)應(yīng)用的管理者,管理著整個(gè)程序的運(yùn)行。
SpringMVC框架是以請求為驅(qū)動(dòng),圍繞Servlet設(shè)計(jì),將請求發(fā)給控制器,然后通過模型對象,分派器來展示請求結(jié)果視圖。其中核心類是DispatcherServlet,它是一個(gè)Servlet,頂層是實(shí)現(xiàn)的Servlet接口。
MyBatis的前身是apache的一個(gè)名為iBatis的開源項(xiàng)目。2010年iBatis由apache軟件基金會遷移到google code,并且更名為MyBatis,2013年又遷移到Github。它是一個(gè)基于Java的優(yōu)秀持久層框架,支持存儲過程、自定義SQL和高級映射。
系統(tǒng)開發(fā)的總體任務(wù)是實(shí)現(xiàn)寵物信息系統(tǒng)化,方便管理員管理和用戶查詢領(lǐng)養(yǎng)寵物等。本系統(tǒng)用戶根據(jù)操作權(quán)限的不同分為管理員、會員和游客,實(shí)現(xiàn)的主要功能如下:
管理員登錄后臺,主要包括會員信息的添加維護(hù)、管理員信息的管理、寵物信息的發(fā)布管理、各種寵物服務(wù)信息的發(fā)布、寵物食物信息的發(fā)布、處理會員訂單、查看回復(fù)留言建議及咨詢問題、發(fā)布公告信息、管理會員評論。
會員登錄前臺,主要包括在線注冊登錄、領(lǐng)養(yǎng)寵物、購買寵糧、預(yù)定寵物服務(wù),在生成相應(yīng)的訂單后可以進(jìn)行查看收貨、評價(jià)訂單信息等操作,以及向管理員留言咨詢,瀏覽新聞公告。
游客可以瀏覽本網(wǎng)站的首頁信息,但不具有領(lǐng)養(yǎng)寵物、預(yù)訂服務(wù)等權(quán)限。
寵物領(lǐng)養(yǎng)系統(tǒng)功能模塊分為前臺功能模塊和后臺功能模塊,見圖2。
圖2 系統(tǒng)功能模塊
用戶進(jìn)入系統(tǒng)可以瀏覽部分內(nèi)容,若需要領(lǐng)養(yǎng)寵物、預(yù)定寵物服務(wù)、購買寵糧等,則必須注冊成為網(wǎng)站的會員,并正確登錄才可以實(shí)現(xiàn)。在登錄時(shí),系統(tǒng)將用戶填寫的用戶名和密碼與數(shù)據(jù)庫中查找到的用戶信息進(jìn)行匹配,輸入正確才能完成登錄,否則登錄失敗。
個(gè)人資料模塊:用戶登錄系統(tǒng)后,可以更改電話、地址等個(gè)人資料。
信息咨詢模塊:用戶登錄系統(tǒng)后,可以向客服詢問與領(lǐng)養(yǎng)相關(guān)的問題,或者給出自己的建議,也可以查看、回復(fù)、刪除消息。
訂單查看模塊:會員在個(gè)人主頁能夠查看寵糧訂單、寵物洗澡等寵物服務(wù)訂單。訂單顯示訂單類別、下單日期、訂單總賬、服務(wù)時(shí)間、訂單狀態(tài)以及評價(jià)信息。
用戶評論模塊:展示所有用戶對購買后生成的訂單進(jìn)行評價(jià)的內(nèi)容。
領(lǐng)養(yǎng)寵物模塊:用戶登錄系統(tǒng)后,可以按照寵物類別查看所有寵物,領(lǐng)養(yǎng)自己喜愛的寵物。
預(yù)定寵物服務(wù)模塊:用戶登錄系統(tǒng)后,可以瀏覽管理員發(fā)布的所有服務(wù)信息(包括寵物洗護(hù)、攝影等),選擇寵物所需要的服務(wù),并在線預(yù)訂生成訂單,模擬支付。
購買寵糧模塊:領(lǐng)養(yǎng)中心同時(shí)售賣寵物食物(按照主糧、零食劃分不同的模塊),用戶根據(jù)需要加入購物車(可以更改數(shù)量、自動(dòng)計(jì)算總價(jià)、清空購物車),可在線預(yù)訂生成訂單,模擬支付,并在個(gè)人主頁查看自己的訂單信息。
新聞公告模塊:呈現(xiàn)最新的新聞公告信息。
管理員登錄進(jìn)入系統(tǒng)后臺,實(shí)現(xiàn)對系統(tǒng)前臺所有信息的管理及數(shù)據(jù)庫的管理。
會員信息管理模塊:數(shù)據(jù)庫中保存著用戶注冊時(shí)填寫的信息,管理員可以查看、修改和刪除,如:刪除違反協(xié)議的會員,添加新的用戶。
管理員信息管理模塊:可以添加新的管理員,刪除違反規(guī)定的管理員,也可以管理管理員的個(gè)人信息,如修改密碼。
寵物信息管理模塊:及時(shí)發(fā)布新寵物信息,對已發(fā)布的信息進(jìn)行管理,包括修改、刪除寵物信息以及根據(jù)寵物類別(小型、中型、大型)查詢寵物。
寵物服務(wù)信息管理模塊:主要實(shí)現(xiàn)寵物服務(wù)的動(dòng)態(tài)管理,包括寵物洗護(hù)、寵物美容、寵物攝影等服務(wù),方便用戶在領(lǐng)養(yǎng)寵物后快速定位寵物服務(wù)。
寵糧信息管理模塊:發(fā)布寵糧信息,對寵糧數(shù)量進(jìn)行更新、庫存查詢等。
訂單信息管理模塊:能夠?qū)σ呀?jīng)生成的各項(xiàng)訂單信息進(jìn)行在線管理,包括確認(rèn)訂單、查看訂單信息和刪除訂單,可以根據(jù)會員ID、訂單類別(包括寵物類、主糧類、零食類、服務(wù)類)查詢訂單。
留言信息管理模塊:可以查看會員的留言信息,并給出回復(fù)。
新聞公告管理模塊:針對領(lǐng)養(yǎng)寵物的相關(guān)信息,進(jìn)行在線發(fā)布。
評論信息管理模塊:會員可以對已經(jīng)完成的訂單進(jìn)行評價(jià),管理員可以查看、刪除評論內(nèi)容。
本系統(tǒng)使用Navicat for MySQL數(shù)據(jù)庫管理器作為開發(fā)數(shù)據(jù)庫的工具[3],數(shù)據(jù)庫的名稱設(shè)置為db-pethotel,其中一共有6張表。數(shù)據(jù)庫表的名稱及功能如表1所示。
表1 數(shù)據(jù)庫表的名稱及功能
本寵物領(lǐng)養(yǎng)系統(tǒng)在部署過程中,采用Java程序設(shè)計(jì)語言[4]、Eclipse開發(fā)工具,可以實(shí)現(xiàn)系統(tǒng)編程和運(yùn)行任務(wù)。系統(tǒng)實(shí)現(xiàn)環(huán)境如表2所示。
表2 系統(tǒng)實(shí)現(xiàn)環(huán)境
在使用該框架前需要在本項(xiàng)目的web.xml文件中進(jìn)行一些配置。在web.xml文件中注冊UTF-8編碼過濾器來解決編碼一致問題,加載Spring配置文件,將所有的請求都過濾給Spring MVC來處理。
除了配置web.xml外,還需要進(jìn)行Spring和Spring MVC兩個(gè)框架的配置,在本項(xiàng)目中兩個(gè)配置文件名分別為springMvc-servlet.xml和applicationContext.xml。在applicationContext.xml文件中主要進(jìn)行DAO接口的掃描、Spring的事務(wù)管理和數(shù)據(jù)源的配置,以及掃描MyBatis的一些相關(guān)配置文件。
在springMvc-servlet.xml配置文件中主要進(jìn)行日期轉(zhuǎn)換器配置、靜態(tài)資源的配置、視圖解析器配置、文件上傳的最大值設(shè)置、JSON轉(zhuǎn)換器配置和引用消息轉(zhuǎn)換器配置。
在Web項(xiàng)目中,通常將數(shù)據(jù)庫連接的IP、賬號和密碼等信息單獨(dú)放在一個(gè)數(shù)據(jù)庫配置文件中,本系統(tǒng)將該配置文件命名為database.properties。
為了方便調(diào)試,在Web項(xiàng)目中一般使用log日志來輸出信息,log4j日志是一個(gè)開源項(xiàng)目,本系統(tǒng)配置文件為log4j.properties。
網(wǎng)站首頁的背景圖片通過img設(shè)置url地址來實(shí)現(xiàn),動(dòng)態(tài)伸縮效果使用JS腳本完成,最上方的導(dǎo)航欄設(shè)置網(wǎng)站首頁、寵物心語、寵物相冊、新聞公告、用戶評論等鏈接,最下方設(shè)置了登錄等按鈕,網(wǎng)站主界面如圖3所示。
圖3 網(wǎng)站主界面
由于篇幅關(guān)系,其它設(shè)計(jì)界面就不一一介紹了。
本文基于SSM設(shè)計(jì)寵物領(lǐng)養(yǎng)網(wǎng)站,使用Spring MVC 網(wǎng)站開發(fā)模式及持久化開發(fā)工具M(jìn)yBatis,輕量級的數(shù)據(jù)庫管理系統(tǒng)MySQL。該設(shè)計(jì)模式適合小型店鋪配套網(wǎng)站的設(shè)計(jì),具有一定的實(shí)用和推廣價(jià)值。
揚(yáng)州職業(yè)大學(xué)學(xué)報(bào)2021年1期