許一靖,李英杰,韓潤心,曹俊杰,李鵬宇,郭趁趁
(河南科技大學(xué)信息工程學(xué)院,河南 洛陽 471003)
隨著消費(fèi)水平的不斷提高,在校大學(xué)生的閑置物品也在不斷增多,并且迫切希望進(jìn)行二手交易。本校園二手交易平臺(tái),為大學(xué)生構(gòu)建了一個(gè)安全可靠的交易平臺(tái)[1]。不僅可以優(yōu)化資源,還可以使大學(xué)生減少鋪張浪費(fèi),使每一個(gè)物品都能發(fā)揮出它的價(jià)值,構(gòu)建了一個(gè)和諧、陽光、節(jié)約環(huán)保型校園。
Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IOC)和面向切面(AOP)的容器[2]。IOC將對(duì)象的創(chuàng)建轉(zhuǎn)移到配置文件中,程序員不再管理對(duì)象的創(chuàng)建,讓他們更多的去關(guān)注業(yè)務(wù)的實(shí)現(xiàn),使得耦合性大大降低。
Spring MVC框架以請(qǐng)求為驅(qū)動(dòng),圍繞一個(gè)中心Servlet分派請(qǐng)求及提供其他功能。DispatcherServle是整個(gè)Spring MVC的核心,負(fù)責(zé)對(duì)用戶請(qǐng)求進(jìn)行接收和攔截。
Mybatis是一款優(yōu)秀的基于java的持久層框架,讓程序員只關(guān)注SQL本身,而不需要去關(guān)注如連接的創(chuàng)建、statement的創(chuàng)建等操作。
SSM框架是目前比較主流的Java EE企業(yè)級(jí)框架,其中,Spring MVC負(fù)責(zé)對(duì)用戶請(qǐng)求進(jìn)行操作,Spring負(fù)責(zé)業(yè)務(wù)對(duì)象的管理。
合理的數(shù)據(jù)庫設(shè)計(jì)是進(jìn)行軟件開發(fā)的基礎(chǔ),合理的數(shù)據(jù)庫設(shè)計(jì)可以減少數(shù)據(jù)的冗余度,實(shí)現(xiàn)數(shù)據(jù)共享,使數(shù)據(jù)具有邏輯獨(dú)立性和物理獨(dú)立性。
本系統(tǒng)采用MySQL作為后臺(tái)數(shù)據(jù)庫。
主要的表如下:
商品實(shí)體(編號(hào),用戶id,名稱、詳細(xì)信息、價(jià)格、類別、是否下架、交易方式、圖片)
發(fā)布的商品(編號(hào),用戶id,商品id,審核狀態(tài))
訂單實(shí)體(編號(hào)、用戶id、商品id、購買時(shí)間、狀態(tài))
付款截圖(編號(hào),商品id,買家id,賣家id,付款金額,截圖)
圖1 E-R圖
根據(jù)系統(tǒng)功能要求,為本系統(tǒng)設(shè)計(jì)了13個(gè)表。在這里列出主要的1個(gè)表:
表1 我的訂單表
2.3.1 Controller層
Controller層即控制層,負(fù)責(zé)對(duì)業(yè)務(wù)流程的具體控制,通過不同的控制器調(diào)用Service層的接口來控制業(yè)務(wù)流程,控制的配置在Spring的配置文件中完成[3-4]。
2.3.2 Service層
Service層是建立在Dao層的基礎(chǔ)之上的,而Controller層的建立必須要在Service層之后,故Service層向上層的Controller層提供接口,并且使用Dao層提供的接口。Controller只負(fù)責(zé)管理,而Service負(fù)責(zé)實(shí)施。
2.3.3 Dao層
Dao層的設(shè)計(jì)首先是接口的設(shè)計(jì),然后在Spring的配置文件中定義該接口的實(shí)現(xiàn)類,在實(shí)現(xiàn)類定義完成后就可以對(duì)接口進(jìn)行調(diào)用操作。
根據(jù)系統(tǒng)的整體設(shè)計(jì)方案和用戶的功能需求,本系統(tǒng)采用B/S模式,利用Web相關(guān)技術(shù)、Java語言和MySQL數(shù)據(jù)庫實(shí)現(xiàn)了基于SSM框架的校園二手交易市場的用戶注冊(cè)登錄、買賣商品、評(píng)論商品和管理員后臺(tái)管理等功能。
1) 登錄注冊(cè)模塊的實(shí)現(xiàn)
用戶所提交的信息先在Redis二級(jí)緩存中進(jìn)行沖突檢測(cè)。若Redis緩存中該數(shù)據(jù)不存在,則與數(shù)據(jù)庫中的記錄進(jìn)行比較,若數(shù)據(jù)庫中也不存在該用戶信息,則分別向Redis緩存中和數(shù)據(jù)庫中插入對(duì)應(yīng)數(shù)據(jù),返回注冊(cè)成功的信息。否則提示用戶注冊(cè)失敗。
2) 商城主頁模塊的實(shí)現(xiàn)
主頁面提供商品檢索功能,用戶點(diǎn)擊查詢后,后臺(tái)接收到相應(yīng)字段,調(diào)用Dao層,在數(shù)據(jù)庫中進(jìn)行模糊查詢,并將檢索到的信息返回前端并以列表的形式展示出來。
3) 個(gè)人中心模塊的實(shí)現(xiàn)
用戶登錄成功后可選擇進(jìn)入個(gè)人中心,服務(wù)器端通過用戶登錄成功后生成的唯一的session對(duì)象。用戶也可在個(gè)人中心中進(jìn)行商品的發(fā)布,輸入商品的名字,選擇相應(yīng)的商品類型,提交必要的信息。待管理員審核通過后再進(jìn)行相應(yīng)的入庫操作,所有用戶也可在商城主頁面檢索出此商品。
管理員的功能主要包括管理所有用戶的信息、修改所有人密碼、審核用戶發(fā)布的二手商品、增加刪除分類信息等功能。管理員通過瀏覽器登錄本系統(tǒng)后,可以查看所有信息。管理員對(duì)用戶待發(fā)布的商品進(jìn)行審核,對(duì)于合格的商品予以發(fā)布,對(duì)于不合格的商品應(yīng)給出處理意見供用戶參考。
管理員對(duì)商品的留言內(nèi)容審核可以通過模糊查詢或關(guān)鍵字查詢進(jìn)入該商品的詳情頁面,對(duì)不合規(guī)范的留言內(nèi)容進(jìn)行強(qiáng)制刪除。
圖2 系統(tǒng)模塊圖
本系統(tǒng)是針對(duì)需要進(jìn)行買賣的用戶和管理員使用的,故系統(tǒng)工作流程大致分為普通用戶工作流程和管理員用戶工作流程[5]。
買家在登錄跳蚤市場系統(tǒng)時(shí),系統(tǒng)會(huì)在數(shù)據(jù)庫中對(duì)賬戶密碼進(jìn)行判斷正誤,確認(rèn)無誤后就進(jìn)入首頁,進(jìn)而進(jìn)行商品的瀏覽挑選,查看商品具體信息,也可進(jìn)入商品留言頁進(jìn)行留言。
用戶可以先將商品加入購物車,以便結(jié)算,或者直接購買。購買時(shí),用戶采用支付寶進(jìn)行付款,再上傳付款截圖。并根據(jù)賣家留下的聯(lián)系方式聯(lián)系賣家,交易完成后可對(duì)賣家進(jìn)行一次評(píng)價(jià)。
用戶使用發(fā)布商品的功能時(shí),將商品基本信息填寫后,便可提交給系統(tǒng),經(jīng)管理員審核通過后成功發(fā)布。用戶還可以對(duì)自己的信息進(jìn)行修改。
管理員打開跳蚤市場系統(tǒng),進(jìn)行登錄,系統(tǒng)在數(shù)據(jù)庫中對(duì)賬號(hào)密碼進(jìn)行驗(yàn)證,并給予管理員特定的權(quán)限,主要權(quán)限是對(duì)用戶信息進(jìn)行管理,商品管理和分類管理。另外,管理員也可以正常買賣商品。
根據(jù)校園跳蚤市場的設(shè)計(jì)方案,進(jìn)行系統(tǒng)測(cè)試環(huán)境的搭建:硬件環(huán)境是CPU在2.0 GHz以上、內(nèi)存1 KB以上;軟件環(huán)境要求操作系統(tǒng)平臺(tái)為Windows 10系統(tǒng)或mac系統(tǒng),數(shù)據(jù)庫的搭建實(shí)驗(yàn)MySQL 8.0.19,編譯環(huán)境為IDEA2019,Tomcat8.0,阿里云Linux服務(wù)器,谷歌瀏覽器[6]。
根據(jù)校園跳蚤市場設(shè)計(jì)的原型,測(cè)試各個(gè)模塊能否正常運(yùn)行,每個(gè)模塊的銜接是否安全。系統(tǒng)測(cè)試表明,校園跳蚤市場可以對(duì)網(wǎng)頁進(jìn)行一系列連貫的操作,系統(tǒng)整體功能齊全,基本達(dá)到預(yù)期效果。
本系統(tǒng)在不同的操作環(huán)境和瀏覽器中分別進(jìn)行了測(cè)試。在mac和Win10操作系統(tǒng)進(jìn)行測(cè)試,在火狐瀏覽器、IE瀏覽器、谷歌瀏覽器進(jìn)行兼容性測(cè)試。測(cè)試結(jié)果表明,該系統(tǒng)在不同的操作系統(tǒng)以及不同的瀏覽器下均可正常運(yùn)行。
綜上所述,本平臺(tái)利用SSM框架,借助MySQL后臺(tái)存儲(chǔ),用JAVA語言開發(fā)了一個(gè)校園二手交易平臺(tái)。在一定程度上解決了傳統(tǒng)二手交易平臺(tái)信任、效率等問題。本校園二手交易平臺(tái)響應(yīng)了當(dāng)前社會(huì)厲行勤儉節(jié)約、反對(duì)鋪張浪費(fèi)的呼聲,在大學(xué)校園內(nèi)打造綠色環(huán)保經(jīng)濟(jì),為可持續(xù)發(fā)展貢獻(xiàn)一份力量[7,8]。