最近一直在跟着老師做一個窩窩網(Web端)的後臺管理系統,在其中學到了很多,見解了不少,感覺比之前做的那個J2SE學車管理系統麻煩了不少,因爲這次不僅需要對數據庫的訪問,還需要對服務器的連接識別,數據過濾等等,現在還是在不斷學習中,爲了方便我下次做項目,現在把學到的一些流程和技術做一下歸類總結。
項目搭建
這一步是項目的最初搭建,把將要寫的代碼根據業務和功能分爲各個類型,使代碼更規範,便於自己維護代碼。- 創建一個動態網頁項目New Dynamic Web Project
- 修改JNDI中的參數
- 將需要用到的各種jar包加入到WEB-INF下的lib中
- 將easyUI相關包添加到webContent下
- 在webContent裏創建一個back包,用來存放後臺管理的界面,創建一個images包用來存放圖片,創建一個css和js包(把用到的Jquery放到裏面),(因爲用到了ueditor插件,所以創建了一個ueditor包)
- 把前端頁面存放到webContent下面
- 在src下創建包(Dao,Daoimpl包實現數據庫的對接,Biz,Bizimpl包實現業務層的邏輯,entities包是實體類的對象層,utils包是工具類包,filters包是過濾操作,保證後臺安全性,servlets包用來服務器的連接和響應)
- 將DBhelper類加入Dao包下(這是連接數據庫的封裝類)
- 將CharacterEncodingFilter類(編碼集過濾器)加入filters包下並在Web-INF裏的web.xml配置相關的filter和filter-mapping(保證訪問時候的編碼集正確)
- 將BasicServlet類(基類servlet)和initServlet類(初始化servlet,用於創建圖片上傳目錄)加入servlets包下,注意因爲項目一部署就要將
- 將一些用到的工具類加入到utils包下
根據項目需求創建數據庫表格
這一步是剛開始很重要的一步,要下考慮好要更新哪些數據,修改或者刪除哪些數據,具體數據的類型也要事先考慮好,這次項目主要是用到一下幾張表;
--管理員信息表
--店鋪類型表(自助、火鍋、牛排)
--店家信息表
--商品信息(對應的是每個店鋪中的商品)
--團購活動表
--註冊會員
--購物車
--訂單表
--訂單詳細
根據數據庫表格創建實體類
這個不用多說,這就是面向對象的好處,將每個不同的對象封裝起來,用類的形式封裝代碼,寫好表格屬性後,將Getters和Setters,toString方法,hashcode和equals方法自動生成,注意:這裏的實體類要實現Serializable類生成序列化ID。在做這個項目時,根據數據庫表創建了12個實體類封裝Dao層和Biz層
這個是在做的過程中慢慢增加和修改的,在實現某一個類型的數據更新時,先寫對這個業務更新操作的Dao層,然後再寫Dao層的實現impl,,再寫Biz層和BizImpl(Biz接口方法和Dao層基本一樣但impl類實現的不一樣,這裏主要對業務進行封裝判斷,但主要還是調用Dao的imp類,只是加入一些限制和判斷),在做完每一次的封裝後不要忘了先測試一下是否能夠用這些方法類訪問到數據庫中的數據。過濾層和servlet層
1、我們先寫了一個編碼集過濾器和一個後臺權限過濾器,在filters包裏面寫好這兩個類,然後再到web.xml中配置相關的filter和filter-mapping
2、在寫servlet時2有一個注意點,就是InitServlet是在當項目一部署就自動加載,所以要在web.xml中要加參數
<load-on-startup>0</load-on-startup>
這個initServlet是初始化servlet,用於創建圖片上傳目錄,然後又寫了一個基類servlet,即BasicServlet,用來封裝服務器響應的回送方式,該類繼承自HttpServlet。
==========低調的分割線=================================
以上部分就是項目做之前的準備工作,接下來對具體功能進行完成。
實現管理員管理
- 大概流程:界面編寫 -> 管理員servlet -> web.xml中配置servlet -> 添加按鈕組件 -> 給按鈕添加事件 -> 事件訪問servlet -> 用servlet中接收到的數據來訪問biz業務層 -> bizImpl實現對數據庫Dao層的修改 -> DaoImpl實現連接數據庫和修改數據庫
- 用戶操作的工作流程:點擊按鈕觸發事件 -> 事件從web.xml中獲得要訪問的服務器類 -> 服務器類對客戶端的數據提取再與數據庫中的數據交互 -> 回送數據實現功能
- 我們在寫這裏的界面時用到了easyUI裏面的很多組件,如toolbar,columns等等,裏面的很多參數在easyUI的API文檔裏面有,我自己也寫了一些解釋的文檔,如果複習時,自己可以參考一下。
- 這裏我們還實現了分頁查詢的功能,所以要提前寫好分頁對象類
最後實現效果如下:
具體的代碼我在代碼片中有儲存,複習時在那裏可以找到。
實現店鋪類型管理
這個和上面的過程比較類似,就不做具體編寫了
實現效果:
實現店鋪管理
界面在上面的基礎上增加了選擇選項,所以要多幾個處理事務的需求,先上效果圖:
點擊添加按鈕會彈出一個添加界面,點擊詳細會出現一個顯示具體內容信息的界面,上面的查詢可以從店鋪類型的下拉框中選擇,也可以在店家姓名裏面進行模糊查詢(寫出姓名姓氏即可查到所有該姓氏的姓名)
點擊添加按鈕:在添加界面裏面用到了ueditor組件,可以實現對文字的編輯,在這個界面還有圖片上傳的預覽和保存,這裏用到了添加水印的工具類 ,使得原來的圖片和添加水印後的圖片在服務器中指定文件夾中保存,但管理在此界面只能看到加水印後的圖片。
前端註冊表單,郵件發送,驗證碼發送等等再更。。。。