dr-helper項目設計介紹(一個包括移動端和Web端的點餐管理系統)

來源:互聯網
上載者:User

標籤:mit   activity   接收   clip   請求轉寄   讀取   資料   nio   art   

一、原始碼路徑

https://github.com/weiganyi/dr-helper

 

二、介面

通過瀏覽器訪問Web服務,能夠看到介面例如以下:


ADT-Bundle編譯project產生dr-helper.apk。安裝後能夠看到應用介面例如以下:

 

三、背景

Java誕生後主要就是用於Web開發,隨著Android的興起,其在移動領域也應用廣泛。我在學習了Java相關的一系列技術後,想找個項目來實際運用一下。因此我考慮能夠基於Java相關的技術來構建一個包含移動端和Web端的餐廳管理系統,在這個項目裡我會綜合運用各種的技術,並盡量使它們貼合使用情境。

這個系統會服務於餐廳裡的三類角色。首先是點餐服務員,他們採用手機Android APP來進行點餐操作。其次是廚房的廚師,他們將採用Web服務來擷取點的菜品,菜品完畢後能夠通過Web服務給點餐服務員發送上菜通知。最後是收銀台的管理員,他們也是通過Web服務來進行相關的訂單管理,比方付款操作。以及整套系統的其它管理工作。

在技術方案上包含了移動前後端和Web前後端,移動前端就是一個Android應用,移動後端採用Tomcat容器Servlet來提供服務。兩者通過JSON訊息交換資料,這樣可以減少兩者互動的資料量。Web後端也是採用的Tomcat容器Servlet來提供服務。然後通過JSP來產生前端Web頁面。

在資料庫選擇上,對於傳統關係性較強且數量有限的資料,我選擇用Mysql來儲存,而對於像訂單這樣的可能數量巨大的資料,我選擇用Mongodb來儲存,這樣能充分利用各自的長處。

 

四、功能實現

1、Android端支援例如以下功能

準系統:登入/登出、首頁、查桌、開桌、查單、訂單、菜單、點菜、轉檯、並台、更新、配置

通知功能:空桌通知、上菜通知

2、Web端支援例如以下功能

基礎功能:登入/登出

廚房功能:下單菜品管理、完畢菜品管理

櫃檯功能:訂單管理(含結帳。通過單號、桌號查詢)、使用者管理、餐桌管理、菜單類別管理、菜單管理、組態管理

 

五、整體設計思路

1、資料庫設計

1)當中dr_user表格儲存體使用者帳號資訊,dr_table表格儲存體餐桌資訊,dr_menu_type表格儲存體菜品類型資訊。dr_menu表格儲存體菜品資訊,dr_option表格儲存體配置選項資訊,這5個表為關係型表。使用Mysql資料庫儲存。

它們的詳細欄位例如以下:

create tabledr_user(

    user_id int(4) not null primary keyauto_increment,

    user_name char(255) not null,

    user_passwd char(255) not null,

    user_auth enum(‘waiter‘, ‘chef‘, ‘admin‘)not null);

create tabledr_table(

    table_id int(4) not null primary keyauto_increment,

    table_num int(4) not null,

    table_seat_num int(4) not null,

    table_empty int(1) not null);

create tabledr_menu_type(

    menu_type_id int(4) not null primary keyauto_increment,

    menu_type_name char(255) not null);

create tabledr_menu(

    menu_id int(4) not null primary keyauto_increment,

    menu_name char(255) not null,

    menu_price int(16) not null,

    menu_type_id int(4) not null);

create tabledr_option(

    option_id int(4) not null primary keyauto_increment,

    option_name char(255) not null,

option_value char(255) not null);

2)還剩下一個dr_order為非關係型集合,使用Mongodb資料庫儲存,包括訂單資訊,它的結構例如以下:

dr_order:{"id":"xxx", "order":1, "table":1,"waiter":"xxx", "time":"xxx","admin":"xxx", "pay":true,"detail":[{"menu":"xxx", "price":12,"amount":1, "chef":"xxx","finish":true, "remark":"xxx"}]}

3)Mysql和Mongodb資料庫的串連參數等資訊。儲存在背景properties設定檔。

4)部分資料庫儲存操作使用了預存程序。這些能夠在專案檔夾下的drhelper_db資料庫檔案夾裡的Database Backup檔案裡能夠查看到。

2、Android前端應用設計

1)其每項準系統都由一個Activity和一個AsyncTask構成,Activity載入布局xml來構造操作介面。

當使用者運行某個操作後,須要運行通訊對象的JSON序列化,向後台發生HTTP請求。等待HTTP響應,響應訊息運行JSON還原序列化,依據結果進行反饋處理。這一系列的處理因為有網路通訊在當中。實際已耗用時間可長可短。所以Activity要啟動一個AsyncTask線程來運行這些後台操作,以避免Activity運行超過5秒報異常的問題,也吻合介面與邏輯處理要線程分離的通用思想。

2)對於兩個通知功能,空桌通知和上菜通知,我須要實現一個訊息推送機制,Androidclient須要建立和維持與背景TCP長串連訊息推送通道。

實現方案是這樣,使用者啟用通知訂閱後,先建立一個Service,然後在Service裡再建立一個線程,這是由於Android的Service可能和Activity處於同一個線程運行,這樣的TCP長串連任務須要有獨立線程來運行,所以要再啟動一個線程。

在這個線程裡建立一個與後台推送服務的TCP Socket,發起登入請求訊息,並定期發送心跳訊息來維持TCP長串連,還要依據Androidclient的通知預定配置發起通知預定請求訊息。

當通過這個Socket收到背景通知推送訊息後。再發起HTTP請求去擷取詳細的通知內容,收到響應後依據通知類型發出對應的Android通知訊息。

這裡有一些異常情況須要處理,比方當服務端退出時須要檢測出來並直接退出Service。這時沒有再進行重登入嘗試是由於。當服務端退出後除了這個通知服務的登入資訊沒有外,整個應用的登入資訊也沒有了,所以這時須要退出整個應用並重登入,當應用重登入後也會再發起通知服務的登入。

另外,當使用者依據通知訂閱操作介面關閉通知功能時。要能中斷通知Service自身。還有由於Android手機可能會殺死背景服務線程,所以須要在這樣的情況下須要發送一個廣播訊息給Service,由Service又一次拉起服務線程。

3)對於Activity的退出,採用注冊廣播接收程式的方式實現。

當使用者退出登入時。會發出退出廣播,Activity堆棧的各個Activity收到後,就各自退出並銷毀自身。Service的退出實現也類似。

4)應用須要頻繁讀取的兩個表是dr_menu_type和dr_menu,而且這兩個表不會發生頻繁的變化,所以把它們儲存一份在Android的SQLite裡,這樣可以顯著的節省與背景資料交換量,然後通過專門的更新功能。來與背景同步處理這兩個表的資料。在實現上通過ContentProvider機制來封裝對底層SQLite的訪問,以實現對業務層介面的友好。

5)對於已經登入的帳號資訊,server地址、通知訂閱等配置資訊,都儲存在喜好設定裡,並依據選項菜單進行配置。

3、Web前端設計

1)採用單頁式網站風格,點擊頁面的button或者連結,通過Ajax請求來向後端提交資料。並擷取新產生局部頁面。最後把局部頁面更新到相應的位置。相關的JS操作採用Jquery庫來進行。以取得較好的瀏覽器安全色性。

2)在HTML頁面的構造上,採用JSP指令碼來完畢。依據後台Servlet邏輯處理完後產生的Java Bean對象,在JSP檔案內。通過Java指令碼或者JSTL等JSP技術。擷取Java Bean對象拼裝成所須要的HTML頁面。

4、Java後台服務設計

1)通過Tomcat容器的Servlet來進行幕後處理。為實現MVC。Servlet裡僅僅進行訊息內容提取、服務調用和訊息轉寄等控制邏輯,詳細的商務邏輯在相應的Service裡進行。包含對資料庫的操作。

2)對資料庫的操作通過一個代理進行,這樣可以屏蔽兩種資料的差異。給上層以統一的資料操作介面。

3)在訊息推送服務後台實現上。採用建立一個servlet的上下文監聽器,這樣這個監聽器就能夠在Tomcat容器啟動時調用,容器退出時才退出。

再在這個監聽器裡建立一個線程。這個線程監聽一個TCP Socket。當有來自Androidclient的串連時。建立處理串連並管理起來。當商務邏輯觸發到有空桌事件或上菜事件時,通過Androidclient的預定通知清單。找到對於的處理串連,發送通知推送訊息來通知Androidclient擷取詳細的通知內容。在與Androidclient的串連維護上,除了須要回應Androidclient的心跳訊息外,還須要啟動定時器來檢測心跳訊息的存在,當檢測到無心跳訊息時表明對應的Androidclient已經異常退出,這時就須要清除這個失效的串連。

4)為了可以在響應訊息中傳送中文字元。須要設定響應訊息的編解碼方式為UTF-8,這對於每一個Servlet都須要進行。所以就建立一個過濾器來統一做這個設定。

5)不論是移動端還是Web端,前台使用者資訊的儲存,因為其都是基於HTTP協議進行前後台通訊的。所以採用cookie來完畢。在幕後處理上。Servlet有封裝的session對cookie的處理提供了支援。直接使用即可了。

6)在服務部署上,使用nginx做反向 Proxy,把請求轉寄到後端的tomcatserver上進行處理。這也是經常使用的部署方式,由於眼下系統檔案比較少,所以沒有把圖片等靜態資源放到nginx下這樣的動靜分離的做法。

 

六、檔案及檔案夾介紹

Android\:移動端檔案夾

Android\libs\:支援包檔案夾

Android\res\drawable-hdpi\:應用的圖片檔案夾

Android\res\layout\:布局xml檔案檔案夾

Android\res\menu\:系統功能表布局xml檔案檔案夾

Android\res\values\:字串定義檔案檔案夾

Android\src\com\drhelper\activity\:Activity檔案檔案夾

Android\src\com\drhelper\activity\AfterLoginActivity.java:登入前Activity通用功能,其它Activity繼承這個Activity

Android\src\com\drhelper\activity\BeforeLoginActivity.java:登入後Activity通用功能。繼承於AfterLoginActivity,其它Activity繼承這個Activity

Android\src\com\drhelper\activity\ChangeTableActivity.java:換台頁面的Activity

Android\src\com\drhelper\activity\CheckOrderActivity.java:查單頁面的Activity

Android\src\com\drhelper\activity\CheckTableActivity.java:查桌頁面的Activity

Android\src\com\drhelper\activity\CreateTableActivity.java:開桌頁面的Activity

Android\src\com\drhelper\activity\LoginActivity.java:登入頁面的Activity

Android\src\com\drhelper\activity\MainActivity.java:首頁面的Activity

Android\src\com\drhelper\activity\MenuActivity.java:菜單顯示頁面的Activity

Android\src\com\drhelper\activity\OrderActivity.java:訂單顯示頁面的Activity

Android\src\com\drhelper\activity\OrderMenuActivity.java:菜單操作頁面的Activity

Android\src\com\drhelper\activity\PrefsActivity.java:偏好配置頁面的Activity

Android\src\com\drhelper\activity\UnionTableActivity.java:並台頁面的Activity

Android\src\com\drhelper\activity\UpdateActivity.java:更新頁面的Activity

Android\src\com\drhelper\bean\:Java Bean對象檔案夾

Android\src\com\drhelper\bean\MenuItem.java:菜單顯示頁面的功能表項目Bean

Android\src\com\drhelper\bean\MenuList.java:菜單顯示頁面的菜單列表Bean

Android\src\com\drhelper\bean\com\:前後台通訊的Java Bean對象檔案夾

Android\src\com\drhelper\bean\com\EmptyTable.java:查桌頁面的通訊對象

Android\src\com\drhelper\bean\com\EmptyTableList.java:查桌頁面的通訊對象

Android\src\com\drhelper\bean\com\Login.java:登入頁面的通訊對象

Android\src\com\drhelper\bean\com\MenuList.java:更新頁面的通訊對象

Android\src\com\drhelper\bean\com\MenuTypeList.java:更新頁面的通訊對象

Android\src\com\drhelper\bean\com\NoticeDetail.java:擷取通知的通訊對象

Android\src\com\drhelper\bean\com\NoticeHeartBeat.java:通知心跳的通訊對象

Android\src\com\drhelper\bean\com\NoticeLogin.java:通知登入的通訊對象

Android\src\com\drhelper\bean\com\NoticeLogout.java:通知登出的通訊對象

Android\src\com\drhelper\bean\com\NoticePush.java:通知訊息的通訊對象

Android\src\com\drhelper\bean\com\NoticeSubscribe.java:通知預定的通訊對象

Android\src\com\drhelper\bean\com\OneTableOneOrder.java:包括一個桌號和一個訂單號的通訊對象。可用於多處

Android\src\com\drhelper\bean\com\OrderInfo.java:訂單資訊的通訊對象

Android\src\com\drhelper\bean\com\TwoTableOneOrder.java:包括兩個桌號和一個訂單號的通訊對象,可用於多處

Android\src\com\drhelper\entity\:資料庫物件檔案夾

Android\src\com\drhelper\entity\Detail.java:訂單集合中detail欄位相應的對象

Android\src\com\drhelper\entity\Menu.java:菜單表相應的對象

Android\src\com\drhelper\entity\MenuType.java:菜單類型表相應的對象

Android\src\com\drhelper\entity\Order.java:訂單集合相應的對象

Android\src\com\drhelper\provider\MenuProvider.java:菜單和菜單類型表的ContentProvider封裝實現

Android\src\com\drhelper\service\NoticeService.java:通知服務client實現

Android\src\com\drhelper\task\:AsyncTask實現檔案夾

Android\src\com\drhelper\task\ChangeTableTask.java:換台功能的任務

Android\src\com\drhelper\task\CheckOrderTask.java:查單功能的任務

Android\src\com\drhelper\task\CheckTableTask.java:查桌功能的任務

Android\src\com\drhelper\task\CreateTableTask.java:開桌功能的任務

Android\src\com\drhelper\task\DeleteOrderTask.java:刪除訂單功能的任務

Android\src\com\drhelper\task\LoadOrderTask.java:訂單載入功能的任務

Android\src\com\drhelper\task\LoginTask.java:登入功能的任務

Android\src\com\drhelper\task\SubmitOrderTask.java:提交訂單功能的任務

Android\src\com\drhelper\task\UnionTableTask.java:並台功能的任務

Android\src\com\drhelper\task\UpdateTask.java:更新功能的任務

Android\src\com\drhelper\util\CookieManager.java:Cookie功能實現

Android\src\com\drhelper\util\DialogBox.java:提示框功能實現

Android\src\com\drhelper\util\HttpEngine.java:HTTP通訊機制實現

Android\src\com\drhelper\util\PrefsManager.java:偏好管理對象

Server\:服務端檔案夾

Server\drhelper_db\drhelper_mysql_db.sql:MysqlDatabase Backup檔案

Server\drhelper_db\drhelper_mongodb\drhelper\:MongodbDatabase Backup檔案檔案夾

Server\tomcat\jsp\:JSP檔案檔案夾

Server\tomcat\res\drhelper.css:項目的CSS檔案

Server\tomcat\res\drhelper.js:項目的JS檔案

Server\tomcat\res\jquery-1.10.1.js:Jquery庫的JS檔案

Server\tomcat\WEB-INF\lib\:支援包檔案夾

Server\tomcat\WEB-INF\src\DBConfig.properties:資料庫配置資訊檔

Server\tomcat\WEB-INF\src\com\drhelper\android\:Android後台服務實現檔案夾

Server\tomcat\WEB-INF\src\com\drhelper\android\bean\NoticeEvent.java:通知服務內部使用的通知事件對象

Server\tomcat\WEB-INF\src\com\drhelper\android\bean\UserSocketChannel.java:通知服務內部使用的username和串連映射對象

Server\tomcat\WEB-INF\src\com\drhelper\android\bean\com\:前後台通訊的Java Bean對象檔案夾。與Android檔案夾中相應檔案夾同樣

Server\tomcat\WEB-INF\src\com\drhelper\android\listener\NoticeServerListener.java:通知服務上下文監聽器實現

Server\tomcat\WEB-INF\src\com\drhelper\android\server\NoticeServer.java:通知服務後台實現

Server\tomcat\WEB-INF\src\com\drhelper\android\service\:Android後台商務邏輯實現檔案夾

Server\tomcat\WEB-INF\src\com\drhelper\android\service\ChangeTableService.java:換台功能商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\android\service\CheckOrderService.java:查單功能商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\android\service\CheckTableService.java:查桌功能商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\android\service\CreateTableService.java:開桌功能商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\android\service\DeleteOrderService.java:刪除訂單功能商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\android\service\GetNoticeService.java:擷取通知功能商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\android\service\LoadOrderService.java:載入訂單功能商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\android\service\LoginService.java:登入功能商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\android\service\LogoutService.java:登出功能商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\android\service\Service.java:後台商務邏輯抽象類別

Server\tomcat\WEB-INF\src\com\drhelper\android\service\SubmitOrderService.java:提交訂單功能商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\android\service\UnionTableService.java:並台功能商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\android\service\UpdateMenuService.java:更新功能商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\android\service\UpdateMenuTypeService.java:更新功能商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\android\servlet\:Android後台控制邏輯Servlet實現檔案夾

Server\tomcat\WEB-INF\src\com\drhelper\android\servlet\ChangeTableServlet.java:換台功能Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\android\servlet\CheckOrderServlet.java:查單功能Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\android\servlet\CheckTableServlet.java:查桌功能Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\android\servlet\CreateTableServlet.java:開桌功能Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\android\servlet\DeleteOrderServlet.java:刪除訂單功能Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\android\servlet\GetNoticeServlet.java:擷取通知功能Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\android\servlet\LoadOrderServlet.java:載入訂單功能Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\android\servlet\LoginServlet.java:登入功能Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\android\servlet\LogoutServlet.java:登出功能Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\android\servlet\SubmitOrderServlet.java:提交訂單功能Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\android\servlet\UnionTableServlet.java:並台功能Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\android\servlet\UpdateMenuServlet.java:更新功能Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\android\servlet\UpdateMenuTypeServlet.java:更新功能Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\android\util\LogicException.java:程式邏輯異常對象

Server\tomcat\WEB-INF\src\com\drhelper\android\util\TypeConvert.java:String和ByteBuffer對象轉換輔助類

Server\tomcat\WEB-INF\src\com\drhelper\common\:後台通用功能實現檔案夾

Server\tomcat\WEB-INF\src\com\drhelper\common\db\DataBase.java:資料庫基類

Server\tomcat\WEB-INF\src\com\drhelper\common\db\DBManager.java:資料庫操作代理對象

Server\tomcat\WEB-INF\src\com\drhelper\common\db\MongoDB.java:Mongodb資料庫操作對象

Server\tomcat\WEB-INF\src\com\drhelper\common\db\MysqlDB.java:Mysql資料庫操作對象

Server\tomcat\WEB-INF\src\com\drhelper\common\entity\:資料庫物件檔案夾,與Android檔案夾中相應檔案夾同樣

Server\tomcat\WEB-INF\src\com\drhelper\common\filter\ServletFilter.java:Servlet過濾器實現

Server\tomcat\WEB-INF\src\com\drhelper\web\:Web後台服務實現檔案夾

Server\tomcat\WEB-INF\src\com\drhelper\web\bean\:用於給JSP頁面提供資料的Java Bean對象檔案夾

Server\tomcat\WEB-INF\src\com\drhelper\web\bean\AdminMenu.java:菜單管理頁面菜單對象

Server\tomcat\WEB-INF\src\com\drhelper\web\bean\AdminMenuObject.java:菜單管理頁面對象

Server\tomcat\WEB-INF\src\com\drhelper\web\bean\AdminMenuTypeObject.java:菜單類型管理頁面對象

Server\tomcat\WEB-INF\src\com\drhelper\web\bean\AdminOptionObject.java:組態管理頁面對象

Server\tomcat\WEB-INF\src\com\drhelper\web\bean\AdminOrder.java:訂單管理頁面訂單對象

Server\tomcat\WEB-INF\src\com\drhelper\web\bean\AdminOrderObject.java:訂單管理頁面對象

Server\tomcat\WEB-INF\src\com\drhelper\web\bean\AdminTableObject.java:餐桌管理頁面對象

Server\tomcat\WEB-INF\src\com\drhelper\web\bean\AdminUserObject.java:使用者管理頁面對象

Server\tomcat\WEB-INF\src\com\drhelper\web\bean\FinishMenu.java:完畢菜品管理頁面菜品對象

Server\tomcat\WEB-INF\src\com\drhelper\web\bean\FinishMenuObject.java:完畢菜品管理頁面對象

Server\tomcat\WEB-INF\src\com\drhelper\web\bean\IndexObject.java:首頁對象

Server\tomcat\WEB-INF\src\com\drhelper\web\bean\LoginObject.java:登入對象

Server\tomcat\WEB-INF\src\com\drhelper\web\bean\LogoutObject.java:登出對象

Server\tomcat\WEB-INF\src\com\drhelper\web\bean\OrderMenu.java:下單菜品管理頁面菜品對象

Server\tomcat\WEB-INF\src\com\drhelper\web\bean\OrderMenuObject.java:下單菜品管理頁面對象

Server\tomcat\WEB-INF\src\com\drhelper\web\bean\PageInfo.java:頁號對象

Server\tomcat\WEB-INF\src\com\drhelper\web\service\:Ajax後台商務邏輯實現檔案夾

Server\tomcat\WEB-INF\src\com\drhelper\web\service\AjaxAdminMenuService.java:菜單管理商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\web\service\AjaxAdminMenuTypeService.java:菜單類型管理商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\web\service\AjaxAdminOptionService.java:配置項管理商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\web\service\AjaxAdminOrderService.java:訂單管理商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\web\service\AjaxAdminTableService.java:餐桌管理商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\web\service\AjaxAdminUserService.java:使用者管理商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\web\service\AjaxFinishMenuService.java:完畢菜品管理商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\web\service\AjaxLoginService.java:登入功能商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\web\service\AjaxLogoutService.java:登出功能商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\web\service\AjaxOrderMenuService.java:下單菜品管理商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\web\service\IndexService.java:首頁商務邏輯實現

Server\tomcat\WEB-INF\src\com\drhelper\web\service\Service.java:商務邏輯抽象介面

Server\tomcat\WEB-INF\src\com\drhelper\web\servlet\:Ajax後台控制邏輯Servlet實現檔案夾

Server\tomcat\WEB-INF\src\com\drhelper\web\servlet\AjaxAdminMenuServlet.java:菜單管理控制邏輯Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\web\servlet\AjaxAdminMenuTypeServlet.java:菜單類型管理控制邏輯Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\web\servlet\AjaxAdminOptionServlet.java:配置項管理控制邏輯Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\web\servlet\AjaxAdminOrderServlet.java:訂單管理控制邏輯Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\web\servlet\AjaxAdminTableServlet.java:餐桌管理控制邏輯Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\web\servlet\AjaxAdminUserServlet.java:使用者管理控制邏輯Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\web\servlet\AjaxFinishMenuServlet.java:完畢菜品管理控制邏輯Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\web\servlet\AjaxLoginServlet.java:登入功能控制邏輯Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\web\servlet\AjaxLogoutServlet.java:登出功能控制邏輯Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\web\servlet\AjaxOrderMenuServlet.java:下單菜品管理控制邏輯Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\web\servlet\IndexServlet.java:首頁控制邏輯Servlet實現

Server\tomcat\WEB-INF\src\com\drhelper\web\util\ServiceUtil.java:商務邏輯協助工具功能類

Server\tomcat\WEB-INF\src\com\drhelper\web\util\ServletUtil.java:Servlet控制邏輯協助工具功能類

 

七、部署方法

1、原始碼下載後。用Eclipse編譯Server檔案夾下的服務端原始碼,用adt-bundle編譯Android檔案夾下的移動端原始碼。

2、在server上安裝部署Nginx和Tomcat,配置Nginx把全部請求轉寄到Tomcat。同一時候安裝部署好Mysql和Mongodb。

3、在tomcat/webapps下建立專案檔夾drhelper。然後把Server/tomcat檔案夾編譯產生的檔案複製到drhelper下。

4、把Server/ drhelper_db檔案夾下的Database Backup檔案分別匯入Mysql和Mongodb。

5、把Android檔案夾下編譯產生的apk檔案安裝到手機上。

6、通過手機上的應用能夠正常訪問系統的移動部分,使用服務員角色相關功能,同一時候通過瀏覽器也能夠訪問系統的Web部分,使用廚師和管理員角色相關功能。

(完)

dr-helper項目設計介紹(一個包括移動端和Web端的點餐管理系統)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.