金正球 黃少年 謝靠
摘要:該文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于SSH框架的校園分類(lèi)信息平臺(tái),該平臺(tái)具有基本的前臺(tái)商品的瀏覽功能和后臺(tái)管理功能。該文對(duì)平臺(tái)實(shí)現(xiàn)所基于的技術(shù)、總體設(shè)計(jì)及主要功能模塊的實(shí)現(xiàn)進(jìn)行了詳細(xì)的闡述。
關(guān)鍵詞:JSP;SSH2;校園分類(lèi)信息平臺(tái)
中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)33-0121-03
1 概述
隨著現(xiàn)代化互聯(lián)網(wǎng)經(jīng)濟(jì)的發(fā)展,越來(lái)越多的資金流向分類(lèi)信息廣告,分類(lèi)信息網(wǎng)站也開(kāi)始逐漸地走向飛速發(fā)展的時(shí)代。目前,分類(lèi)信息網(wǎng)站已經(jīng)開(kāi)始在老百姓的生活中流行,分類(lèi)信息網(wǎng)站憑借著便捷免費(fèi)的特點(diǎn)以及本地化的服務(wù)越來(lái)越受到人們的認(rèn)同,已經(jīng)成為了互聯(lián)網(wǎng)主流的應(yīng)用。在國(guó)內(nèi),以58同城和趕集網(wǎng)為首的分類(lèi)信息網(wǎng)站為例,其已經(jīng)成為中小企業(yè)和普通消費(fèi)者在日常生活中不可缺少的一個(gè)生活信息發(fā)布、獲取信息的平臺(tái)。由此分析,不論是在國(guó)內(nèi)還是國(guó)外,分類(lèi)信息網(wǎng)站正處在一個(gè)爆發(fā)性增長(zhǎng)的一個(gè)階段。與此同時(shí),作為互聯(lián)網(wǎng)時(shí)代的主流活躍人群,越來(lái)越多的在校大學(xué)生也積極參與到各類(lèi)互聯(lián)網(wǎng)活動(dòng)中,如:網(wǎng)絡(luò)購(gòu)物、二手交易、求職招聘、網(wǎng)絡(luò)社交等。大學(xué)生群體的網(wǎng)絡(luò)購(gòu)物活動(dòng)的一般通過(guò)已有的通用電商平臺(tái)來(lái)完成,而網(wǎng)絡(luò)社交則一般都是使用微信或者人人網(wǎng)等完成學(xué)生群體之間的互動(dòng)交流。然而,現(xiàn)有的通用網(wǎng)絡(luò)購(gòu)物模式以及網(wǎng)絡(luò)社交平臺(tái)并不能真正滿(mǎn)足大學(xué)生群體的學(xué)習(xí)、生活需求。更多的大學(xué)生希望通過(guò)本地化的網(wǎng)絡(luò)平臺(tái)享用更便捷的本地化生活服務(wù)以及校園社交。
2 開(kāi)發(fā)技術(shù)簡(jiǎn)介
由Struts2+Spring+Hibernate三種技術(shù)組成的框架是目前企業(yè)開(kāi)發(fā)最常用的技術(shù),在這樣的框架下,Struts2負(fù)責(zé)顯示層,Hibernate負(fù)責(zé)層,而Spring負(fù)責(zé)中間層,這樣能夠使各層的耦合減少,提高了開(kāi)發(fā)質(zhì)量與效率。
2.1 Struts2
Struts2是整個(gè)集成框架的基礎(chǔ),本質(zhì)上是一個(gè)servlet。它的出現(xiàn)就是要更好的實(shí)現(xiàn)MVC模式實(shí)現(xiàn),客戶(hù)端發(fā)出一個(gè)請(qǐng)求, 根據(jù)他的Struts.xml的配置,會(huì)找到相應(yīng)的Action調(diào)用相應(yīng)的方法,調(diào)用完根據(jù)方法的返回值,找到對(duì)應(yīng)的視圖,這樣就改變了傳統(tǒng)的JSP頁(yè)面身兼View和Controller的狀態(tài),使控制邏輯與實(shí)現(xiàn)邏輯更好的分離。
2.2 Spring
Spring框架目標(biāo)的是實(shí)現(xiàn)一個(gè)全方位的整合框架。由其核心容器提供Spring框架的基本功能,定義了創(chuàng)建、配置、和管理Bean的方式??蓪?yīng)用程序中的Bean組件實(shí)現(xiàn)低耦合關(guān)聯(lián)。最終可以提高系統(tǒng)擴(kuò)展和維護(hù)性。從而能與Hibernate和Struts2等其他技術(shù)進(jìn)行整合。
2.3 Hibernate
Hibernate是目前最流行的開(kāi)源ORM框架,它對(duì)JDBC實(shí)現(xiàn)了非常輕量級(jí)的封裝。創(chuàng)建了一系列的持久化類(lèi),每個(gè)類(lèi)的屬性與數(shù)據(jù)庫(kù)表相對(duì)應(yīng),在持久類(lèi)中就能夠完成數(shù)據(jù)的增,刪,改等功能。從而打破了我們常用的JDBC連接讀寫(xiě)數(shù)據(jù)庫(kù),,以及使用SQL數(shù)據(jù)進(jìn)行讀寫(xiě),關(guān)閉連接等繁瑣的步驟。簡(jiǎn)化了DAO層,可以自動(dòng)執(zhí)行SQL語(yǔ)句,支持各種不同類(lèi)型的數(shù)據(jù)庫(kù),方便開(kāi)發(fā)人員在不同數(shù)據(jù)庫(kù)之間移植。
3 校園信息與二手商品平臺(tái)的設(shè)計(jì)
為了更好地進(jìn)行二手商品的交易,在此平臺(tái)能夠進(jìn)行消息的推送(視頻,音頻,圖片),為了適應(yīng)校園的發(fā)展,會(huì)實(shí)現(xiàn)社團(tuán),活動(dòng)等信息及時(shí)發(fā)布。本設(shè)計(jì)將在湖南商學(xué)院上線使用,在湖南商學(xué)院進(jìn)行試驗(yàn)后,可以進(jìn)行改造,對(duì)其他中小企業(yè)進(jìn)行此類(lèi)的開(kāi)發(fā)。本文按照軟件開(kāi)發(fā)流程步驟來(lái)闡述各個(gè)模板的功能,及其設(shè)計(jì)與實(shí)現(xiàn)。闡述實(shí)現(xiàn)過(guò)程中的重點(diǎn)與難點(diǎn)。
3.1 分類(lèi)信息平臺(tái)功能模塊
本平臺(tái)將與大學(xué)生息息相關(guān)的社團(tuán)、商家、兼職、二手、實(shí)習(xí)招聘、校園交流等信息,分類(lèi)展示在同一個(gè)平臺(tái)上。為本地大學(xué)生提供最豐富的生活服務(wù)、校園周邊、社團(tuán)活動(dòng)、二手交易、兼職活動(dòng)等信息服務(wù)。同時(shí)也為商家提供校園營(yíng)銷(xiāo)解決方案,是商家在校園宣傳推廣上樹(shù)立品牌意識(shí)最好的宣傳平臺(tái)。具體地,將首先建立湖南商學(xué)院校園分類(lèi)站點(diǎn),為我校大學(xué)生提供便利的校園生活服務(wù);以此為基礎(chǔ),建立長(zhǎng)沙本地其他大學(xué)的校園分類(lèi)站點(diǎn),從而加強(qiáng)長(zhǎng)沙本地各所高校學(xué)生之間的互動(dòng)交流,同時(shí)利用本地化的特點(diǎn),促進(jìn)各高校學(xué)生之間的電子商務(wù)活動(dòng),更好地為本地大學(xué)生服務(wù)。詳細(xì)的平臺(tái)系統(tǒng)模塊如圖1所示。
3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)
本平臺(tái)是注重于校園信息分類(lèi)的,其中最重要的部分的是校園二手商城的建立。整個(gè)商城的購(gòu)物流程主要體現(xiàn)在商品信息的完整提供、及時(shí)更新、正確分類(lèi)以及精確查詢(xún)方面。商城對(duì)訂單的處理,前端信息的輸入與輸出,和校園信息的實(shí)時(shí)推送,以及校園服務(wù)功能都對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)有較大的考驗(yàn)。主要有用戶(hù)信息表,商品信息表,訂單表、商品分類(lèi)表等,其中,商品信息表、用戶(hù)信息表、訂單表的具體信息如下表1,表2,表3所示。
4 系統(tǒng)的實(shí)現(xiàn)
前臺(tái)主要是通過(guò)CSS樣式表、HTML靜態(tài)頁(yè)面、JSP動(dòng)態(tài)頁(yè)面使用戶(hù)與本系統(tǒng)有好的交互性。以及使用JavaScript腳本語(yǔ)言能夠使頁(yè)面變得豐富多彩更加吸引用戶(hù)的眼球,用戶(hù)在前端進(jìn)行操作系統(tǒng)會(huì)通過(guò)AJAX異步通訊,將數(shù)據(jù)從前端傳入后臺(tái),后臺(tái)進(jìn)行處理,并將數(shù)據(jù)通過(guò)JSP等顯現(xiàn)出來(lái),并能進(jìn)行相關(guān)的操作。后臺(tái)的數(shù)據(jù)處理,采用MySQL來(lái)儲(chǔ)存。通過(guò)tomcat這樣的serverlt來(lái)對(duì)前臺(tái)的請(qǐng)求給予回應(yīng),通過(guò)status2處理后,會(huì)將數(shù)據(jù)庫(kù)進(jìn)行封裝打包,通過(guò)前臺(tái)的頁(yè)面進(jìn)行數(shù)據(jù)的顯示。
4.1 前臺(tái)實(shí)現(xiàn)功能
前臺(tái)功能主要包括如下部分
1) 登錄注冊(cè):注冊(cè)頁(yè)面需要用戶(hù)填寫(xiě)用戶(hù)名、登錄密碼、身份證號(hào)等信息。已注冊(cè)的用戶(hù)在登錄時(shí)只要填寫(xiě)用戶(hù)名與登錄密碼以及驗(yàn)證碼就可進(jìn)行登錄。
2) 商品評(píng)價(jià):用戶(hù)在收到商品后可以進(jìn)行評(píng)價(jià),能夠點(diǎn)贊,差評(píng)。并且可以附上圖片。
3) 購(gòu)物車(chē):用戶(hù)可以查看自己的購(gòu)物車(chē)所購(gòu)買(mǎi)的商品,并且能夠知道商品的總價(jià),也可以進(jìn)行添加商品與清空購(gòu)物車(chē)的操作。
4) 個(gè)人信息修改:用戶(hù)可以通過(guò)信息管理頁(yè)面,進(jìn)行修改??梢孕薷淖约旱挠脩?hù)名、電話號(hào)碼、地址以及登錄密碼。
5) 商品分類(lèi)與搜索:本系統(tǒng)把商品分為兩類(lèi),分別商品大類(lèi)與商品小類(lèi),用戶(hù)可以進(jìn)行關(guān)鍵詞搜索。
6) 訂單管理:用戶(hù)可以查看訂單的狀態(tài),以及訂單號(hào),和已下訂單商品的價(jià)格。
其中,前臺(tái)主頁(yè)面如下圖2所示。
圖2 前臺(tái)主頁(yè)面
4.2 后臺(tái)管理實(shí)現(xiàn)
后臺(tái)管理功能主要包括如下部分:
1) 用戶(hù)/管理員信息管理:可以對(duì)用戶(hù)或者管理員的信息進(jìn)行增、刪、改以及查詢(xún)的操作。
2) 商品信息管理:能夠?qū)ι唐愤M(jìn)行上架與下架的處理,能夠?qū)崿F(xiàn)基本的增、刪、改以及查詢(xún)的操作,能夠?qū)崿F(xiàn)發(fā)布商品的照片這樣的功能。
3) 訂單信息管理:這部分有管理員進(jìn)行操作,管理員能通過(guò)登錄管理頁(yè)面對(duì)訂單進(jìn)行增、刪、改以及查詢(xún)的操作。能夠?qū)崟r(shí)的看見(jiàn)用戶(hù)訂單信息。
4) 用戶(hù)以及管理員的登錄與登出:用戶(hù)在此平臺(tái)登錄能夠進(jìn)行點(diǎn)贊,評(píng)價(jià),發(fā)圖以及視屏等操作,可以購(gòu)買(mǎi)商品。而管理員則是在后臺(tái)管理,訂單信息,商品信息。
5) 時(shí)間獲?。河脩?hù)能夠在頁(yè)面實(shí)時(shí)的獲取時(shí)間,并且用戶(hù)在購(gòu)買(mǎi)商品生成訂單時(shí),后臺(tái)的訂單管理上也會(huì)實(shí)時(shí)出現(xiàn)時(shí)間的數(shù)據(jù)存儲(chǔ),從而生成訂單日期。
其中,訂單管理頁(yè)面、商品管理頁(yè)面分別如下圖3、圖4所示。
4.3 數(shù)據(jù)庫(kù)的實(shí)現(xiàn)
訂單管理代碼如下所示:
CREATE TABLE `t_order` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cost` float NOT NULL,
`createTime` datetime DEFAULT NULL,
`orderNo` varchar(255) DEFAULT NULL,
`status` int(11) NOT NULL,
`userId` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `FK_kh19wisaki6acmrs36vcmboj3` (`userId`),
CONSTRAINT `FK_kh19wisaki6acmrs36vcmboj3` FOREIGN KEY (`userId`) REFERENCES `t_user` (`id`)
)ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8;
商品信息管理代碼如下所示:
CREATE TABLE `t_product` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`description` varchar(2000) DEFAULT NULL,
`hot` int(11) NOT NULL,
`hotTime` datetime DEFAULT NULL,
`name` varchar(50) DEFAULT NULL,
`price` int(11) NOT NULL,
`proPic` varchar(255) DEFAULT NULL,
`specialPrice` int(11) NOT NULL,
`specialPriceTime` datetime DEFAULT NULL,
`stock` int(11) NOT NULL,
`bigTypeId` int(11) DEFAULT NULL,
`smallTypeId` int(11) DEFAULT NULL,
`saleNum` int(11) DEFAULT NULL COMMENT
`isConf` int(2) DEFAULT NULL COMMENT
`hostTime` datetime DEFAULT NULL COMMENT PRIMARY KEY(`id`),
KEY `FK_2vciohqujaeij91ujm5va2xs4` (`bigTypeId`),
KEY `FK_qexns4el8esjqbdrqfys82ih8` (`smallTypeId`),
CONSTRAINT `FK_2vciohqujaeij91ujm5va2xs4` FOREIGN KEY (`bigTypeId`) REFERENCES `t_bigtype` (`id`),
CONSTRAINT `FK_qexns4el8esjqbdrqfys82ih8` FOREIGN KEY (`smallTypeId`) REFERENCES `t_smalltype` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=297 DEFAULT CHARSET=utf8;
5 總結(jié)
本系統(tǒng)運(yùn)用SSH輕量級(jí)框架開(kāi)發(fā),并且結(jié)合JSP技術(shù)利用JAVAScript更加多元化的呈現(xiàn)出豐富多彩的頁(yè)面,以及較好的交互式體驗(yàn),實(shí)現(xiàn)了一款在線購(gòu)物系統(tǒng),以及校園信息分類(lèi)系統(tǒng)。通過(guò)該系統(tǒng)用戶(hù)可以瀏覽商品,并且能夠?qū)⒏信d趣的商品加入購(gòu)物車(chē),有在線交易的功能。
參考文獻(xiàn) :
[1] 李剛.輕量級(jí)J2EE企業(yè)應(yīng)用實(shí)戰(zhàn)-Struts+Spring+Hibernate整合開(kāi)發(fā)[M].北京:電子工業(yè)出版社,2007.
[2] 曹曉鋼,唐勇,夏昕. 深入淺出Hibernate[M]. 北京:電子工業(yè)出版社,2005.
[3] 林信良. Spring2.0技術(shù)手冊(cè)[M]. 北京:電子工業(yè)出版社,2002.
[4] 沃爾斯. Spring in Action[M]. 北京:人民郵電出版社, 2006.
[5] 高洪巖. 至簡(jiǎn)SSH:精通JavaWeb實(shí)用開(kāi)發(fā)技術(shù)[M]:電子工業(yè)出版社,2009.