后臺用戶管理模塊_第1頁
后臺用戶管理模塊_第2頁
后臺用戶管理模塊_第3頁
后臺用戶管理模塊_第4頁
后臺用戶管理模塊_第5頁
已閱讀5頁,還剩61頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Java Web應(yīng)用開發(fā)計(jì)算機(jī)與軟件學(xué)院王俊松第10章 后臺用戶管理模塊 本章要點(diǎn) 后臺管理總體規(guī)劃 管理員功能模塊設(shè)計(jì)與實(shí)現(xiàn) 后臺會員功能模塊設(shè)計(jì)與實(shí)現(xiàn) ActionServlet Action ActionForm struts-config.xml第10章 后臺用戶管理模塊 功能分析 E-Store后臺主要由用戶管理、商品信息管理、商城信息管理三大模塊。 第10章 后臺用戶管理模塊 本章功能模塊 管理員登錄 管理員增、刪、改、查 會員查詢、刪除用戶權(quán)限分析 會員 普通管理員 超級管理員10.1 E-Store后臺總體規(guī)劃總體規(guī)劃 JSP組件存放在WebRoot下 ActionForm組件

2、存放在com.mycompany.struts.form中 Action組件存放在com.mycompany.struts.action中 數(shù)據(jù)庫存取組件DAO存放在com.mycompany.struts.dao中10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)功能說明 與E-Store電子商城的前臺不同,前臺的未登錄用戶可以瀏覽和查詢商品,后臺管理員只有登錄后才能進(jìn)行所有相關(guān)操作,后臺登錄頁面:10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn) 普通管理員登錄界面 10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn) 超級管理員登錄界面10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)流程分析與設(shè)計(jì)設(shè)計(jì)數(shù)據(jù)庫字段名數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描述idint(4)No

3、YesID(自動編號)accountvarchar(50)Yes管理員名稱passwordvarchar(50)Yes登錄密碼namevarchar(50)Yes真實(shí)姓名signbit(1)No類型標(biāo)識10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)流程分析與設(shè)計(jì)設(shè)計(jì)數(shù)據(jù)庫3)在數(shù)據(jù)庫中創(chuàng)建表 數(shù)據(jù)庫中創(chuàng)建tb_manager 數(shù)據(jù)表如圖所示:10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)功能流程圖 10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)為工程引入Struts支持 在Package Explorer選中當(dāng)前工程,選擇菜單MyeclipseProject CapabilitiesAdd Struts Capabilities如圖,這樣S

4、truts類庫就被導(dǎo)入到當(dāng)前Web應(yīng)用中,本例中使用的Struts版本為Struts1.2。10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)創(chuàng)建工具類DBConnection.java和CountTime.java CountTime獲得系統(tǒng)當(dāng)前時間:package com.mycompany.util;import java.util.Date;import java.text.DateFormat;public class CountTime public String currentlyTime() Date date = new Date();DateFormat dateFormat = DateFo

5、rmat.getDateInstance(DateFormat.FULL);return dateFormat.format(date);10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)DAO類ManagerDAO.java ManagerDAO.java封裝了與管理員有關(guān)的數(shù)據(jù)庫操作。驗(yàn)證后臺管理員登錄時需要使用方法selectOne()獲得管理員對象。 public ManagerForm selectOne(String account) 該方法以管理員名稱為參數(shù)查詢數(shù)據(jù)庫獲得管理員對象ManagerForm。在登錄驗(yàn)證中,如果查詢到該管理員則表示該管理員已經(jīng)存在再對密碼做下一步驗(yàn)證。 10.2 管理員登

6、錄設(shè)計(jì)與實(shí)現(xiàn)創(chuàng)建后臺登錄頁面land_back.jsp land_back.jsp與前臺登錄頁面很相似,都需要包括一個FORM提交表單,但是Struts中的表單不是提交給某個JSP,而是提交給所謂的控制器來驗(yàn)證。 可以看到提交的對象是managerAction,而且還帶了參數(shù)action。當(dāng)然為了驗(yàn)證用戶輸入時是否合法,需要使用JavaScript腳本進(jìn)行驗(yàn)證。 land_back.jsp在根目錄下直接創(chuàng)建10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)創(chuàng)建ActionForm組件類ManagerForm.java 1)在工程下創(chuàng)建包c(diǎn)om.mycompany.struts.form2)參照創(chuàng)建普通類的方法,在

7、包c(diǎn)om.mycompany.struts.form按右鍵,選擇newClass,打開類創(chuàng)建頁面如圖所示 ,為ManagerForm增加屬性account,id,name,password,sign,并使用工具自動生成get/set方法。 10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)創(chuàng)建ActionForm組件類ManagerForm.java ManagerForm.java中定義的屬性分別與數(shù)據(jù)庫中的字段一一對應(yīng)。其中ID為標(biāo)識, sign為管理員屬性標(biāo)識,1標(biāo)識超級管理員,0標(biāo)識普通管理員,默認(rèn)情況下定義sign為0。 ManagerForm.java中還生成了validate方法和reset方法,前

8、者是用來完成驗(yàn)證,后者是用來重置數(shù)據(jù), 10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)創(chuàng)建控制器組件ManagerAction.java land_back.jsp向控制器提交方法如下: ManagerAction負(fù)責(zé)具體的邏輯判斷,它決定應(yīng)用程序中有關(guān)管理員操作的流程 10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)創(chuàng)建控制器組件ManagerAction.java 在代碼編輯區(qū)域點(diǎn)擊右鍵選擇SourceOverride/Implement Methods10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)創(chuàng)建控制器組件ManagerAction.java 選擇需要覆蓋的方法execute() 在execute()方法中先獲得參數(shù)action,根

9、據(jù)action值選擇具體的處理方法。10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)配置文件修改1)web.xmlaction org.apache.struts.action.ActionServlet 對該Servlet的訪問路徑為 action *.do 類似*.do的訪問都將被ActionServlet處理,稱ActionServlet為中央控制器的原因。10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)配置文件修改2)struts-config.xml Struts應(yīng)用中struts-config.xml用來配置和連接Struts應(yīng)用中各個組件。 10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)landResult.jsp landRes

10、ult.jsp中先判斷是否出錯,如果出錯,將彈出出錯信息并返回登錄頁面;如果驗(yàn)證成功則跳轉(zhuǎn)到后臺主頁面index_back.jsp。10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)index_back.jsp 關(guān)于后臺主頁面的設(shè)計(jì)可以參照前臺主頁面index.jsp來實(shí)現(xiàn)。 index_back.jsp中將包含三個JSP文件,分別為: top_back.jsp left_back.jsp down_back.jsp 這幾個JSP文件中包含的都是靜態(tài)頁面 10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)提供ActionServlet組件的必要性 1)Web應(yīng)用程序缺少主入口點(diǎn)2)為Web應(yīng)用系統(tǒng)程序提供一個固定的訪問入口 Acti

11、onServlet為Web應(yīng)用系統(tǒng)提供一個固定的訪問控制總?cè)肟?,有利于對Web應(yīng)用系統(tǒng)的控制和調(diào)度進(jìn)行管理。10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)ActionServlet組件的主要作用 1)ActionServlet系統(tǒng)定位 ActionServlet組件完成業(yè)務(wù)請求的預(yù)處理,而各個Action組件類則完成具體的業(yè)務(wù)請求的實(shí)際處理。2)ActionServlet組件為Web應(yīng)用系統(tǒng)主調(diào)度程序 應(yīng)用J2EE平臺中的前端控制器的設(shè)計(jì)模式。10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)ActionServlet組件的工作過程 1)ActionServlet 組件被加載的時機(jī) 由于ActionServlet組件為標(biāo)準(zhǔn)的J2

12、EE Servlet組件,當(dāng)客戶端請求時,Servlet容器將根據(jù)在web.xml中的和標(biāo)簽來加載該ActionServlet組件,并將它緩存在內(nèi)存中,形成單對象多線程的效果。2)ActionServlet組件如何定位業(yè)務(wù)調(diào)度控制器組件 ActionServlet組件根據(jù)開發(fā)者在struts-config.xml配置文件中的特定請求處理器的設(shè)置來決定轉(zhuǎn)向到哪個具體的后端業(yè)務(wù)控制器Action類中。 10.2 管理員登錄設(shè)計(jì)與實(shí)現(xiàn)ActionServlet組件的可配置參數(shù) 部署描述文件中進(jìn)行部署配置 struts-config.xml文件是一個基于Struts框架的Web應(yīng)用系統(tǒng)的最重要的配置文

13、件。其中包含了所有的Action組件的請求、相應(yīng)的Action處理類、ActionForm組件以及頁面的轉(zhuǎn)向等有關(guān)的信息配置。10.3 管理員查詢功能說明 超級管理員登錄后在left_back.jsp中有鏈接“后臺管理員設(shè)置”,點(diǎn)擊該鏈接將出現(xiàn)管理員查詢結(jié)果頁面10.3 管理員查詢流程分析與設(shè)計(jì) 數(shù)據(jù)庫訪問設(shè)計(jì) 查詢管理員時,需要在數(shù)據(jù)庫操作類ManagerDAO.java中增加方法,selectManager方法將查詢tb_manager返回所有管理員的信息。 /查詢?nèi)抗芾韱T的信息 public List selectManager() 10.3 管理員查詢流程分析與設(shè)計(jì) 功能實(shí)現(xiàn)流程設(shè)計(jì)

14、 1)在index_back.jsp頁面(包含left_back.jsp)中點(diǎn)擊超級鏈接“后臺管理員設(shè)置”, 后臺管理員設(shè)置2)在ManageAction中增加處理方法managerSelect,當(dāng)傳遞的參數(shù)action=1時,該方法被調(diào)用,方法查詢所有的管理員信息并將結(jié)果保存在request對象的屬性中。3)頁面跳轉(zhuǎn)至managerSelect.jsp。10.3 管理員查詢流程分析與設(shè)計(jì) 管理員查詢功能流程圖 10.3 管理員查詢編程詳解1、修改ManagerAction.java 在switch中增加 case 1: return managerSelect(mapping, form,

15、request, response); /查詢所有的管理員信息 并且增加方法managerSelect,將查詢的管理員信息保存在list對象中,并將此list對象作為request對象的一個屬性。 10.3 管理員查詢編程詳解2、創(chuàng)建managerSelect.jsp 在managerSelect.jsp中分頁顯示管理員信息 。3、修改配置文件struts-config.xml 增加forward項(xiàng): 10.3 管理員查詢Action組件 Struts框架中的Action組件類作為業(yè)務(wù)調(diào)度控制器而完成實(shí)際的業(yè)務(wù)功能請求的控制和管理,并根據(jù)請求的類型而實(shí)際調(diào)用特定的業(yè)務(wù)功能組件以完成最終的處理。

16、開發(fā)者在一般的應(yīng)用開發(fā)狀況下,只需要對Struts框架的標(biāo)準(zhǔn)Action組件類進(jìn)行繼承和擴(kuò)展,并重寫其中的execute()方法,然后在struts-config.xml配置文件中加以配置定義 10.3 管理員查詢?yōu)槭裁匆褂肁ction 使用Action的目的是為了將Web應(yīng)用系統(tǒng)中的表示層和模型層分開?;贛VC系統(tǒng)架構(gòu)模式的設(shè)計(jì)思想,需要在表示層和業(yè)務(wù)邏輯層之間增加一個關(guān)聯(lián)的控制層,而在Struts框架的系統(tǒng)架構(gòu)設(shè)計(jì)中是通過提供Action組件類來承擔(dān)這樣的職責(zé)。 另外Action組件類實(shí)現(xiàn)業(yè)務(wù)模塊的調(diào)度,加載對應(yīng)的表示層JSP頁面以完成對用戶請求的實(shí)際處理。 10.3 管理員查詢?nèi)绾螌?shí)

17、現(xiàn)自己的業(yè)務(wù)控制器 由于Struts框架中從總體應(yīng)用方面是采用繼承的方式實(shí)現(xiàn)對應(yīng)用系統(tǒng)的功能擴(kuò)展,因此所有用戶自己的業(yè)務(wù)控制器Action處理器組件類都必須從Struts框架的API中的org.apache.struts.action.Action類進(jìn)行派生,并在子類中重寫基類的execute()方法。 Action組件類的核心職責(zé)為:訪問業(yè)務(wù)層組件并為表現(xiàn)層目標(biāo)組件準(zhǔn)備結(jié)果數(shù)據(jù)對象,并通過RequestDispatcher轉(zhuǎn)發(fā)到目標(biāo)頁面進(jìn)行顯示輸出,同時也處理其中出現(xiàn)的各種異常和錯誤 10.3 管理員查詢Action組件類的編程原則Action組件類更多的是承擔(dān)“控制和協(xié)調(diào)”的職責(zé)。因此,不

18、要在Action組件類中寫太多的業(yè)務(wù)功能實(shí)現(xiàn)的代碼,而具體的業(yè)務(wù)功能實(shí)現(xiàn)則應(yīng)該是通過調(diào)用相應(yīng)的JavaBean組件或者EJB等業(yè)務(wù)功能組件來完成對業(yè)務(wù)功能的處理 10.3 管理員查詢Action組件的一般編程模式 1) 獲得業(yè)務(wù)請求參數(shù),并輔助ActionForm組件進(jìn)行一些表單數(shù)據(jù)的邏輯檢查 2) 執(zhí)行必要的業(yè)務(wù)邏輯的前期處理,比如存取數(shù)據(jù)庫、參數(shù)和環(huán)境的初始化 3) 調(diào)用業(yè)務(wù)JavaBean或者EJB Bean組件等,但不應(yīng)該自己完成具體的業(yè)務(wù)功能實(shí)現(xiàn) 4) 業(yè)務(wù)處理后的狀態(tài)結(jié)果實(shí)現(xiàn)10.4 管理員添加功能說明 超級管理員可以為系統(tǒng)添加新的管理員用戶,添加的管理員為普通管理員。添加管理員時

19、需要注冊“用戶名”,“密碼”,“姓名”等字段 10.4 管理員添加添加管理員成功頁面 10.4 管理員添加流程分析與設(shè)計(jì) 數(shù)據(jù)庫訪問設(shè)計(jì) 添加管理員時,需要在數(shù)據(jù)庫操作類ManagerDAO.java中增加方法insertManager。 /添加管理員 public void insertManager(ManagerForm form) 10.4 管理員添加流程分析與設(shè)計(jì) 管理員添加功能流程圖 10.4 管理員添加 編程詳解 1、創(chuàng)建視圖managerInsert.jsp 2、修改ManagerAction.java 1)在switch (action)中添加case 3: return m

20、anagerInsert(mapping, form, request, response); /添加管理員信息 2)添加方法managerInsert 10.4 管理員添加 編程詳解 3、修改struts-config.xml 為ManagerAction增加一個name=managerInsert的forward配置項(xiàng)。 10.4 管理員添加 編程詳解 ActionForm 在Struts框架中通過提供ActionForm組件來解決表單提交的問題。ActionForm本質(zhì)上也是JavaBean組件,這個組件通過捕獲HTTP請求獲得提交表單的參數(shù)從而填充自己。利用ActionForm和Str

21、uts框架所提供的自定義標(biāo)簽庫技術(shù)相互結(jié)合,可以實(shí)現(xiàn)對客戶端的頁面表單數(shù)據(jù)的良好封裝和支持。10.4 管理員添加 編程詳解 編寫用戶自定義ActionForm組件類 所有用戶自定義的ActionForm組件類都必須繼承于抽象基類org.apache.struts.action.ActionForm類,并且在用戶自定義的ActionForm組件類中的各種成員屬性的名稱和數(shù)據(jù)類型必須要和請求頁面表單中的各個字段相互對應(yīng),目的是使得Struts框架系統(tǒng)程序能夠完成客戶請求數(shù)據(jù)的自動化獲取。10.5 管理員刪除 功能說明 超級管理員具有刪除普通管理員的權(quán)限。在管理員信息的查詢頁面中可以通過點(diǎn)擊“刪除”

22、鏈接完成刪除某個管理員操作。10.5 管理員刪除刪除結(jié)果頁面 10.5 管理員刪除流程分析與設(shè)計(jì) 數(shù)據(jù)庫訪問設(shè)計(jì) 刪除管理員,需要在數(shù)據(jù)庫操作類ManagerDAO.java中增加方法deleteManager。 /刪除管理員的操作 public void deleteManager(Integer id) 10.5 管理員刪除流程分析與設(shè)計(jì) 功能實(shí)現(xiàn)流程設(shè)計(jì) 1)在managerSelect.jsp增加刪除鏈接a href=javascript:deleteManager()刪除2)javascript腳本方法deleteManager調(diào)用ManagerAction的方法完成刪除操作3)刪除

23、成功后將刪除成功信息保存到request對象中并通過調(diào)用方法managerSelect跳轉(zhuǎn)至managerSelect.jsp10.5 管理員刪除管理員刪除功能流程圖 10.5 管理員刪除編程詳解 1、修改ManagerAction.java 1)在switch (action)中添加 case 4: /刪除管理員信息 return managerDelete(mapping, form, request, response); 2)添加方法managerDelete/刪除管理員信息public ActionForward managerDelete() 10.5 管理員刪除 Struts H

24、TML標(biāo)簽 Struts HTML標(biāo)簽可以和標(biāo)準(zhǔn)的HTML標(biāo)簽完成相同的功能,在Struts應(yīng)用中提倡使用Struts HTML標(biāo)簽這是因?yàn)檫@些標(biāo)簽可以和Struts框架的其他組件緊密結(jié)合在一起,例如, 標(biāo)簽用來定義HTML表單,Struts框架能夠把這個表單中的數(shù)據(jù)自動映射到相應(yīng)的ActionForm組件中。Struts HTML標(biāo)簽大致分為以下幾類: 用于生成基本的HTML元素的標(biāo)簽 用于生成HTML表單的標(biāo)簽 顯示錯誤或正常消息的標(biāo)簽10.5 管理員刪除用于生成基本的HTML元素的標(biāo)簽 Struts HTML標(biāo)簽庫中的許多標(biāo)簽的哦和基本的HTML元素對應(yīng),這些標(biāo)簽包括: : 生成HTML 元素 : 生成HTML元素 :生成HTML Anchorage元素 :生成用戶請求的URL :生成HTML元素10.5 管理員刪除用于生成基本的HTML元素的標(biāo)簽 1)標(biāo)簽 標(biāo)簽用于在網(wǎng)頁的開頭生成HTML的元素。2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論