freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

smart系統(tǒng)-系統(tǒng)功能管理模塊設(shè)計與開發(fā)—畢業(yè)設(shè)計-閱讀頁

2024-08-25 05:59本頁面
  

【正文】 有效 默認is_loginPCM_USER用戶在系統(tǒng)的狀態(tài)N:未登錄狀態(tài) Y:登錄狀態(tài)typePCM_USER用戶類型teacher:教師用戶 student:學(xué)生用戶4 系統(tǒng)模塊實現(xiàn) 登錄驗證 登錄流程圖用戶登錄驗證主要由用戶登錄、用戶注銷、session 維護三部分構(gòu)成,其詳細設(shè)置流程圖如圖41:圖41 登錄驗證詳細設(shè)計流程圖 代碼實現(xiàn)用戶通過登錄頁面向系統(tǒng)發(fā)送登錄用戶信息,服務(wù)器端通過filter機制,首先檢測到用戶發(fā)送過來的登錄請求,然后執(zhí)行用戶登錄驗證,如果通過用戶登錄驗證,將加載用戶權(quán)限,代碼如下:LoginInfo userData = (uin, pass, type)。 } (userData)。 permission = (userData)。 ().getRequestDispatcher(/).forward(request, response)。}其中對用戶的查詢loadAuthorization方法中主要調(diào)用了另一個后臺方法,該方法主要根據(jù)傳入的用戶名稱、用戶類型來加載當(dāng)前系統(tǒng)中是否存在這種用戶,代碼如下: StringBuffer buffer = new StringBuffer()。 (uin, uin)。 if (type != null amp。 ()) {//教師用戶 (select , + , + , from PcmUser as user, SmartTeacher as teacher )。 } (userData)是根據(jù)用戶登錄驗證后的信息來為該用戶加載系統(tǒng)權(quán)限,然后臺查詢代碼 (Authorization)(from Authorization where userId=:userId and type=:type, params)可以得到用戶的角色信息,然后通過用戶角色關(guān)系以及角色任務(wù)關(guān)系將用戶的權(quán)限存儲在一個HashMap中,代碼如下:Set set = null。 Map map = new HashMap()。//獲取用戶角色列表 if (set != null) { Iterator iter = ()。 if (role != null amp。 () != null) { Set roleTasksSet = ()。 ()。 PcmTask task = ()。amp。...... (map)。 (teacherNo, ())。List list = (List) (new Carrier(map, , SearchTeacherByNo))。其business中通過((PcmUserDAO) ()).seacherByNo(map)來調(diào)用Impl接口中的一個seacherByNo方法來實現(xiàn)數(shù)據(jù)查找的,其全部代碼如下: HashMap params = new HashMap()。 if (type != null amp。 ()) { (teacherNo, (teacherNo))。 }2. 用戶的UIN唯一性檢查UIN唯一性檢查和NO唯一性檢查結(jié)構(gòu)上是一樣的。 String type = (String) (type)。 if (type != null amp。 ()) { return (from SmartTeacher where uin=:uin, params)。 Iterator iter = ()。 if (obj != null) { return ()。 角色管理 用戶界面角色管理設(shè)計圖:圖44 角色管理設(shè)計圖角色編輯界面設(shè)計圖:圖45 角色編輯設(shè)計界面 代碼實現(xiàn)角色的搜索功能主要是通過調(diào)用存儲過程來實現(xiàn),在程序中我們通過queryBySP(SearchRole, params)方式來調(diào)用數(shù)據(jù)庫中的SP_SearchRole存儲過程來實現(xiàn)的,角色的更新和刪除時是通過Struts來獲取要更新和刪除的實體,并將這個實體存儲在Carrier的載體變量中,將它傳入到我們的business方法中進行刪除,更新代碼如: Map map = ()。 if (role != null) {//更新實體 ((PcmRoleDAO) ()).update(role)。 } 角色設(shè)置管理 用戶界面和流程圖要對用戶進行角色設(shè)置之前必須查詢出需要對哪些用戶設(shè)置,角色設(shè)置就是對某一個用戶或多個用戶進行角色分配,由于用戶和角色的對應(yīng)關(guān)系是一對多,而角色和用戶的關(guān)系也可以是一對多的關(guān)系,所以在用戶角色設(shè)置的界面方式以table的方式來實現(xiàn)。amp。 List result = null。 params[1] = ((uin) != null) ? (uin) : 。 PcmUserDAO dao = new PcmUserImpl()。 }(params)(params)分別是對相關(guān)教師用戶和學(xué)生用戶搜索的方法。還要對用戶的相關(guān)用戶角色和相關(guān)角色進行搜索,對用戶的相關(guān)角色搜索和上面的搜索用戶一樣也是用存儲過程的方式實現(xiàn)的,而對相關(guān)的用戶角色的搜索實現(xiàn),其查詢代碼是: (select pur from PcmUserRole pur, ).append(//教師用戶角色搜索 PcmRole as role, ).append(SmartTeacher as st, ).append( PcmUser as user ).append( where = and = 39。 ).append( and = ).append( and = )。 權(quán)限設(shè)置管理 用戶界面和流程圖權(quán)限設(shè)置就是對某一個角色進行任務(wù)(系統(tǒng)中的每一個功能就叫做一個任務(wù))分配,由于任務(wù)和角色的對應(yīng)關(guān)系是一對多,而角色和任務(wù)的關(guān)系也可以是一對多的關(guān)系,所以在權(quán)限設(shè)置的時候采用表格的方式來進行,所以在用戶角色設(shè)置的界面方式以table的方式來實現(xiàn)。其結(jié)果展現(xiàn)代碼如下:display:table name= class=DisplayTable style=width:100% pagesize=10 logic:iterate scope=session id=element name=resultList2 % Map row = (Map) (element)。%=((property))%39。%=((title))%39。%=((Boolean) (sortable)).booleanValue()%39。Ajax實現(xiàn)權(quán)限設(shè)置是通過一個Servlet和一個js回調(diào)函數(shù)來實現(xiàn),其后臺回調(diào)函數(shù)實現(xiàn)代碼如下: StringBuffer innerHTML = new StringBuffer()。39。).append( ()).append(39。).append(()) .append(39。).append(newValue).append(39。 String callback = callback(39。, \ + () + \)。其權(quán)限功能實現(xiàn)是在Struts的Action中完成的,該部分主要包括有日志管理、日志搜索、日志查看、日志刪除四種權(quán)限,比如對日志查看和日志刪除的權(quán)限實現(xiàn)我們在Action里面是這樣實現(xiàn)的:(CancelButton)。 } else { throw ((), SMART_AUDIT_0403,SMART_AUDIT_0404)。 菜單權(quán)限控制 用戶界面和流程圖其菜單在頁面上的展現(xiàn)方式設(shè)計圖如圖:圖412 菜單展現(xiàn)設(shè)計菜單功能實現(xiàn)詳細設(shè)計流程圖如圖:圖413 菜單功能詳細設(shè)計流程圖 代碼實現(xiàn)菜單的權(quán)限管理是通過J2EE中的自定義標(biāo)簽來實現(xiàn),在前臺的菜單展示通過smart:menu/smart:menu來實現(xiàn),將所有的菜單權(quán)限的控制放在smart:menu標(biāo)簽中來實現(xiàn)。 HttpServletRequest req = (HttpServletRequest) ()。來實現(xiàn),在取得了用戶的權(quán)限CODE之后,我們就通過一個displayMenu()方法來檢測哪些菜單是在用戶的權(quán)限范圍內(nèi)的,并將生成在用戶權(quán)限范圍內(nèi)的菜單結(jié)果返回。 for (int i = 0。 i++) { String[] temp = str[i].split(。 for (int j = 0。 j++) { if (!(temp[j])) { break。 } }5 結(jié)果測試、性能分析 單元測試單元測試主要是通過一個開源項目JUNIT進行,不過平時也自己手動寫了一些測試程序。 Object obj = null。 } catch (ApplicationException ex) { throw ex。 }下面列出了對PcmUserBusiness類的三個方法的測試例子,代碼如下: Map params = new HashMap()。 (teacherUin, teacher)。 (teacherSubject, )。 SearchTeacher entity = null。 ()。 ((), teacher1)。 (teacherNo,A20030332095)。 (result)。圖53 菜單列表從上面的測試結(jié)果可以看到,系統(tǒng)對菜單的權(quán)限控制功能成功。1. 教師用戶權(quán)限測試我們用教師用戶UIN為:teacher的用戶登錄,該用戶目前擁有整個系統(tǒng)的全部權(quán)限。第一步:查看當(dāng)前這兩個教師用戶更新的權(quán)限情況,如圖5圖55:圖54 teacher用戶權(quán)限更改前的更新頁面圖圖55 StuLife用戶權(quán)限更改前的更新頁面圖我們通過權(quán)限設(shè)置頁面將“教師用戶編輯”這個權(quán)限去掉。如果我們將他去掉的話,那么我們的正確結(jié)果應(yīng)該是teacher將不能夠更新其它人的用戶信息,但是他可以更新自己的用戶信息。2. 用戶角色權(quán)限測試我們選擇兩個角色,Admin和STU,其中當(dāng)前用戶teacher只具有Admin角色,并且Admin角色不具有刪除日志的權(quán)限(日志的刪除權(quán)限已經(jīng)經(jīng)過測試通過),而STU則具有刪除日志的權(quán)限。通過上面的方式為teacher用戶添加了一個新的STU角色,由于這個角色包含了日志刪除的權(quán)限,為此我們的預(yù)期結(jié)果應(yīng)該是teacher也應(yīng)該包含日志刪除權(quán)限。結(jié) 論通過對系統(tǒng)管理功能的前期分析、設(shè)計,以及后期的開發(fā),雖然沒有完全按照預(yù)期的時間進度安排完成了相關(guān)的系統(tǒng)設(shè)計和程序開發(fā),但最終還是完成了最初系統(tǒng)設(shè)計的全部功能,包括:實現(xiàn)對多種用戶的管理和維護;實現(xiàn)系統(tǒng)角色的管理和維護;實現(xiàn)對系統(tǒng)功能的權(quán)限管理和維護;實現(xiàn)對用戶角色任務(wù)的管理和維護;實現(xiàn)對日志的管理和維護;實現(xiàn)多種用戶的登陸;實現(xiàn)對菜單權(quán)限的管理。在這個系統(tǒng)的開發(fā)中,讓我感受最深的是,要想讓這個系統(tǒng)功能管理模塊很輕松的融入其它的應(yīng)用系統(tǒng)中,最好的方式就是將系統(tǒng)功能管理模塊獨立出來。本系統(tǒng)不但完成了設(shè)計上的系統(tǒng)功能開發(fā),同時也將其應(yīng)用到SMART系統(tǒng)中進行二次系統(tǒng)開發(fā),但系統(tǒng)仍然在很多設(shè)計方面存在著不足之處,比如安全性等方面,有待后期進行改進。[2] 計磊,李里,—Eclipse、Struts、Hibernate及Spring整合應(yīng)用案例[M].北京:人民郵電出版社,2006。[4] [M].北京:電子工業(yè)出版社,2005。[6] 夏昕,曹曉鋼, [M].北京:電子工業(yè)出版社,2005。致 謝本論文的工作是2007年2月至2007年6月在成都信息工程學(xué)院網(wǎng)絡(luò)工程系完成的。最后向在百忙之中評審本文的各位專家、老師表示衷心的感謝!作者簡介姓 名:何義凱 性別: 男出生年月:19850412 民族: 漢Email: zywmh1997聲 明本論文的工作是 2007年 2 月至2007年 6 月在成都信息工程學(xué)院網(wǎng)絡(luò)工程系完成的。除非另有說明,本文的工作是原始性工作。(2)學(xué)??梢圆捎糜坝?、縮印或其他復(fù)制方式保存學(xué)位論文。(4)學(xué)校可允許學(xué)位論文被查閱或借閱。除非另有科研合同和其他法律文書的制約,本論文的科研成果屬于成都信息工程學(xué)院
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1