999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SSH的二維碼點餐系統的設計與實現

2018-01-04 11:06:12楊廷發丁川蕓蘭全祥
電腦知識與技術 2018年30期

楊廷發 丁川蕓 蘭全祥

摘要:為了提高餐廳食客的點餐效率和餐廳的工作效率,為用戶提供更好的就餐體驗,設計并實現了基于SSH的線上點餐系統。對系統進行了需求分析和數據庫設計,并選用Spring, SpringMVC, Hibernate作為開發框架,Mysql作為數據庫,Tomcat作為服務器,實現了商家店鋪信息維護、商家菜品信息管理、訂單管理等模塊,并為用戶提供了二維碼點餐及在線結算等功能,解決了菜品信息的實時性、點餐的快捷性、結算的便捷性等問題。

關鍵詞:SSH;線上點餐;網站設計;二維碼

中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2018)30-0084-03

1 背景

隨著現代科技的進步,互聯網的應用和普及日益豐富著人們的生活。雖然網上訂餐因其便捷性受到眾多用戶青睞,但更多人在工作之余、親友聚餐時更愿意選擇到餐廳直接消費。然而,傳統點餐、結賬等環節極大地降低了用戶體驗。因此,開發一款通過二維碼進行在線點餐、在線結算的線上點餐系統將能極好的提高餐廳的管理效率以及用戶體驗。

2 技術選型

基于SSH的二維碼點餐系統采用Apache Tomcat+ Java+ Mysql的黃金組合方式進行開發[1], Apache Tomcat作為Web服務器,Java作為主要開發語言,Mysql作為數據庫存儲數據。系統使用SSH(Spring+ SpringMVC+ Hibernate)框架搭建系統結構,完成系統的請求處理、對象管理以及持久化操作。用戶通過二維碼訪問點餐系統,完成菜品查看并創建訂單,最終實現點餐和結算。

SSH框架由Spring,SpringMVC和Hibernate組成。Spring相對于JavaEE中的EJB而言,是一款輕量級的框架,也是是非侵入式的,基于Spring系統應用中代碼沒有過多的依賴,并且不局限于服務器端的開發[2]。

SpringMVC是一種基于Java,實現了Web MVC設計模式的請求驅動類型的輕量級WEB框架,即使用了MVC架構模式的思想,將WEB層職責解耦,也將控制器、模擬器對象、分派器以及處理對象的角色進行分離,實現了Spring的IoC思想[3]。

Hibernate是一個優秀的持久層框架,同時也是一個主流的ORM工具,可以讓開發人員以對象思維操作關系型數據庫,并且Hibernate對JDBC進行了輕量級的對象封裝,其讓編碼過程變得更加簡潔、高效[4]。

3 系統分析

3.1 需求分析

基于SSH的二維碼點餐系統主要是為商家提供商品信息管理、消費額統計等,并為用戶提供二維碼點餐、在線結算、消費查詢等功能,其面向的主要用戶群體為店鋪商家和普通消費者。經過調查研究發現,線上點餐系統需求分析按功能性需求和非功能性需求可歸納為以下幾點。

功能性需求主要包括以下功能:

1) 商家登錄。商家可以在系統后臺管理界面進行登錄,商家沒有登錄將無法進行后臺管理操作。

2) 信息維護。商家可以通過后臺管理程序維護商家店鋪信息以及菜品信息等,保證信息的時效性與正確性。

3) 訂單管理與統計。商家可以在后臺管理程序中對訂單進行管理、營業額統計以及餐桌和訂單二維碼信息管理。

4) 下單與結算。用戶可以通過二維碼進入點餐界面,然后查看菜品、加入購物車并下單,最后可直接通過二維碼進行結賬付款。

非功能性需求主要包括以下幾點:

1) 便捷性。用戶可直接通過掃描二維碼進入餐廳點餐并下單;后臺管理能夠及時查看用戶訂單,對訂單進行處理并生成相應的訂單信息。

2) 友好性。系統頁面美觀且友好,用戶操作需簡單便捷,用戶使用門檻低。

3) 安全性。商家后臺登錄模塊要求保障用戶數據安全,防止用戶信息被竊取,同時對用戶訪問權限進行控制,確保系統安全。

4) 完整性。用戶訂單數據要確保其完整性,以便商家進行銷售分類統計。

3.2 系統功能模塊設計

點餐系統從層次上可劃分為用戶前臺應用和商家后臺管理程序。前臺應用主要包括菜品查詢、購物車和訂單查看三個功能模塊組成;后臺功能主要包括餐廳訂單管理、菜品信息管理以及商家信息管理三個功能模塊,系統功能結構如圖1所示。

3.2.1用戶前臺應用

前臺主要用于向用戶展示餐廳菜品,用戶可通過掃描二維碼直接進入點餐界面,實現查看菜品、加入購物車、下單以及在線結賬等功能。用戶所請求的資源如果已經存儲在服務器中,則由服務器直接將資源推送至客戶端;如果所請求的資源為動態資源(需與持久化層交互數據),則交由后臺處理程序進行處理。

3.2.2 后臺管理模塊

商家可通過后臺管理程序對餐廳基本信息進行維護,保障菜品信息的正確性和時效性。商家可以添加、更新和刪除菜品,創建和刪除菜品類別,且可以對餐廳桌位進行管理。除此,商家還可以進行餐廳訂單管理以及銷售統計。

3.3 數據庫設計

數據庫設計是信息系統需求分析到系統實現中的一個關鍵環節。經過需求調研,設計系統的概念結構并得出數據庫邏輯結構,然后對設計后的E-R圖進行轉換,使其邏輯結構符合DBMS商品支持的數據模型。系統采用Mysql作為系統數據持久化的工具,通過對系統的功能分析主要包括商家、菜系、餐桌、菜品、系統管理員、訂單、分類等系統E-R圖如圖2所示。

4 系統實現

基于SSH線上點餐系統主要是為商家和用戶提供便利的在消費服務點餐服務。該文主要介紹商家登錄、菜品信息維護、用戶二維碼點餐以及結算等功能。

4.1 商家登錄

線上訂餐系統需要商家登錄才能進行后臺數據管理,普通用戶只需掃描二維碼便可訪問系統。登錄模塊在前端采用JavaScript對用戶輸入數據進行初步驗證,后端采用Struts2驗證框架二次驗證,當輸入錯誤時將給出友好提示。另外,登錄界面還采用隨機函數生成驗證碼并采用MD5對用戶密碼進行加密,提高系統安全性。另外,還使用了過濾器或者攔截器對用戶訪問進行控制和攔截[5]。以下為登錄驗證模塊代碼和商家登錄代碼。

數據驗證XML編碼如下:

true

用戶名不能為空

商家登錄部分代碼如下:

business.setPassword(Conver2MD5.getMD5(business.getPassword()));

if (new BusinessDaoImp().selectUsername(business)) {return SUCCESS;}else{

return ERROR;}

4.2 菜品信息維護

商家可以通過后臺管理程序對當前的餐廳菜品信息進行維護。商家可以刪除過時的菜品或者添加新的菜品,也可以為菜品上傳最新圖片。

添加菜品代碼如下:

public ModelAndView insert(@RequestParam("src") MultipartFile pictureFile, Dishes dishes) {

ModelAndView mod;

mod = serviceImp.insert(pictureFile,dishes);

mod.setViewName("saveFood");

return mod;

}

商家在進行其他數據操作時,若填寫信息不正確,會提示輸入不合法,無法完成對數據庫的持久化操作。

4.3 二維碼點餐和結算

用戶可以通過二維碼直接進入餐廳進行點餐,在就餐結束之后可掃描系統生成的二維碼進行結賬。該系統采用QRCode生成二維碼,生產二維碼代碼如下:

Qrcode qrcode = new Qrcode();

qrcode.setQrcodeErrorCorrect('M');

qrcode.setQrcodeEncodeMode('B');

qrcode.setQrcodeVersion(7);

byte[] bytes = data.getBytes(StandardCharsets.UTF_8);

BufferedImage image= new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);

Graphics2D g = image.createGraphics();

g.setBackground(Color.white);

g.clearRect(0, 0, 139, 139);

g.setColor(Color.blue);

if (bytes.length > 0 && bytes.length < 128) {

boolean[][] b = qrcode.calQrcode(bytes);

for (int i = 0; i < b.length; i++) {

for (int j = 0; j < b.length; j++) {

if (b[i][j]) {

g.fillRect(j * 3 + 2, i * 3 + 2, 3, 3);

}}}}

系統后臺二維碼收款效果圖如圖4所示。

4.4 購物車管理

購物車管理可以實現菜品的添加和移除,并實時計算商品金額,關鍵代碼如下。

Map car = (Map) request.getSession().getAttribute("car");

Dishes onedishes = (Dishes) request.getSession().getAttribute("onedishes");

Map dishesMap = userDishesService.addToCar(car, onedishes);

double price = userDishesService.countPrice(dishesMap);

double mprice = userDishesService.countMPrice(dishesMap);

5 結束語

基于SSH的線上點餐系統為商家管理餐廳菜品信息以及用戶點餐、結賬提供了極大的便利。系統采用SSH框架,實現了商家登錄、菜品信息維護、用戶二維碼點餐以及結算等功能,有效地解決了菜品信息的實時性、點餐的快捷性、結算的便捷性等問題。

參考文獻:

[1] 趙曉華. 基于PHP技術的中小企業網站開發[J]. 自動化與儀器儀表, 2017(10): 158-160.

[2] 黃俊勇. 基于Spring框架的研究與設計[J]. 電腦知識與技術, 2018, 14(3): 116-117, 120.

[3] 黃秀娟. 基于SpringMVC+Hibernate+Extjs框架的Web系統應用研究[J]. 電腦知識與技術, 2015, 11(16): 63-65.

[4] 溫立輝. Hibernate框架持久化應用及原理探析[J]. 科技創新與應用, 2017(3): 97.

[5] 姚添譯, 楊廷發, 蘭全祥. Java EE中Filter技術的研究與應用[J]. 電腦知識與技術, 2018, 14(18): 47-50.

【通聯編輯:謝媛媛】

主站蜘蛛池模板: 国产成人精品亚洲77美色| 国产无遮挡猛进猛出免费软件| 成年A级毛片| 国产精品部在线观看| 69综合网| 国产第一页第二页| 欧美全免费aaaaaa特黄在线| 久久久久久久97| 国产成人免费高清AⅤ| 青青青亚洲精品国产| 一本色道久久88亚洲综合| 国产成人亚洲综合a∨婷婷| 亚洲久悠悠色悠在线播放| 国产 在线视频无码| 亚洲天堂高清| 欧美精品亚洲精品日韩专区| 就去色综合| 久久精品只有这里有| 亚洲欧美在线看片AI| 免费三A级毛片视频| 国产白浆视频| 午夜无码一区二区三区| 无码内射在线| 国产美女无遮挡免费视频网站 | 精品视频一区在线观看| a级毛片一区二区免费视频| 浮力影院国产第一页| 免费在线不卡视频| 国产美女91呻吟求| 国产小视频在线高清播放| 国产在线观看一区精品| 国产成人亚洲精品无码电影| 在线播放真实国产乱子伦| 久久精品人妻中文系列| 久久精品人人做人人爽97| 波多野结衣一区二区三区AV| 色爽网免费视频| 免费看美女毛片| 日本亚洲成高清一区二区三区| 国产福利免费视频| 日韩国产欧美精品在线| 国产一级视频久久| 亚洲全网成人资源在线观看| 91欧美在线| 色婷婷啪啪| 亚洲第一黄片大全| 国产成人精品综合| 午夜毛片免费观看视频 | 国产成人成人一区二区| 天堂在线亚洲| 亚洲国产无码有码| 最新国产高清在线| 99视频精品全国免费品| 国产精品丝袜视频| 五月婷婷丁香综合| 久久婷婷六月| 97成人在线视频| 欧美另类第一页| 国产亚洲高清在线精品99| 999国产精品永久免费视频精品久久| 日韩在线影院| 欧美成在线视频| 精品无码日韩国产不卡av | 亚洲国产成人在线| 成年av福利永久免费观看| 性视频一区| 国产精品免费久久久久影院无码| 中文字幕永久视频| 亚洲天堂网在线视频| 亚洲无码免费黄色网址| 国产综合网站| 在线观看亚洲天堂| 亚洲国产天堂在线观看| 国产aⅴ无码专区亚洲av综合网| 人妻丰满熟妇αv无码| 91亚洲视频下载| 国产日本欧美在线观看| 播五月综合| 久久精品一品道久久精品| 中文字幕首页系列人妻| 日韩黄色精品| 国产日本一线在线观看免费|