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

正文內(nèi)容

畢業(yè)設(shè)計(jì)論文工資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-資料下載頁

2025-05-25 08:04本頁面

【導(dǎo)讀】題目來源是否來源于教師科研課題。設(shè)計(jì)說明10440(字);圖紙25(張);指導(dǎo)教師評分;評閱教師評分;答辯評分;內(nèi)容統(tǒng)一楷體小4號,,由教師本人。要求,是否同意提交答辯。本次開發(fā)是由安博教育和學(xué)校發(fā)起,學(xué)生自主選題的一次畢業(yè)設(shè)計(jì)。考慮到市面上的人事管理系統(tǒng)與工資管理系統(tǒng)都是針對個(gè)別公司開發(fā)的。在和指導(dǎo)老師多次交流后,確定實(shí)現(xiàn)方案的要點(diǎn)和工作計(jì)劃。用戶的添加修改以及權(quán)限授予都是管理員操作的。2)對單位人員的變動(dòng)進(jìn)行處理。一個(gè)單位的職工不會是一成不變的,總是在不斷。因此,設(shè)計(jì)系統(tǒng)是應(yīng)考慮到這。在mvc與三層架構(gòu)之間我們選擇了三層架構(gòu),當(dāng)然他們本質(zhì)相同。這里采用三層架構(gòu),也就是數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層、表示層。這樣有利于分工和標(biāo)。但由于業(yè)務(wù)無法直接訪問數(shù)據(jù)庫必須通過中間層完成。間隔用操作是否成功界面代替。塊、退出登錄、中文亂碼的解決、如何在Strusts2中實(shí)現(xiàn)CRUD的權(quán)限分配。

  

【正文】 部分代碼如下: frameset rows=120,*,60 framespacing=0 frameborder=no frame name=banner scrolling=no noresize src=${cxt }/pages/ frameset cols=168,* framespacing=0 frameborder=no id=mainframeChange frame name=contents scrolling=no noresize src=${cxt }/pages/ frame name=main src=${cxt }/pages/ /frameset 輸入 用戶名及密碼 驗(yàn)證 登陸成功進(jìn)入 登錄頁面 login() 方法 findModules() 29 frame name=banner1 scrolling=no noresize src=${cxt }/pages/ noframes body LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0 /body /noframes /frameset 部分算法設(shè)計(jì) 1) 登錄方法 @InputConfig(resultName = loginInput) public String login() throws Exception { User user = (username, password)。 String result = 。 if(user != null){ (login, user)。 result = SUCCESS。 } else{ (notice, 賬號或密碼不正確 )。 result = LOGIN。 } return result。 } public String logout() throws Exception { ()。 return logout。 } //驗(yàn)證 public void validateLogin() { if(isNull(username)){ addFieldError(username, 賬號不能為空 )。 } if(isNull(password)){ addFieldError(password, 密碼不能為空 )。 } } 2)查找模塊 id的算法: public String findModules() throws Exception { 30 User user = (User)(login)。//保存 User 對象為 login modules = new ArrayListModule()。//設(shè)置模塊集合 moduleList = new ArrayListModuleList()。 modules = (())。 ModuleList ml = null。 for(Module m : modules) { if(() == null){ ml = new ModuleList()。 (m)。 for(Module mod : modules) {//增強(qiáng) for 循環(huán) if(() != null amp。amp。 ().equals(().getId())) { ().add(mod)。 } } (ml)。 } } count = ()。//獲得模塊的大小 (moduleList, moduleList)。//拋出模塊列表 (count, count)。 return findModules。 } 接口 1) 登錄模塊接口調(diào)用圖 圖 53用戶登錄登錄模塊接口調(diào)用圖 LoginAction類 用于響應(yīng)表示層的用戶登錄和權(quán)限控制 AclService權(quán)限控制服務(wù)接口 AclDao操作數(shù)據(jù)庫中的權(quán)限控制表 acl 的方法的接口 UserService 用戶服務(wù)接口 UserDao 操作用戶表的 Dao接口 調(diào)用 調(diào)用 調(diào)用 調(diào)用 31 子功能模塊的測試 1)管理員登錄測試圖 2)部門經(jīng)理登錄測試 32 3) 通過用戶服務(wù)接口操作用戶表的測試代碼: public class UserServiceTest extends TestCase { private UserService userService。//用戶服務(wù) 接口 protected void setUp() throws Exception { ApplicationContext cxt = new FileSystemXmlApplicationContext(/WebRoot/WEBINF/applicationContext.xml)。 userService = (UserService)(userService)。 } @Test public void testSaveOrUpdate() { User u = new User()。 (李二 )。 (li)。 (u, 5)。 } public void testFindByUsername() { User u = (zy)。 (())。 } public void testLogin() { User u = (admin, admin)。 (u)。 } @Test public void testDelete() { 33 User u = (17)。 (u)。 } public void testFindUserRole() { ListUserRole userRole = (1)。 (userRole)。 } } 4) 通過權(quán)限控制服務(wù)接口操作數(shù)據(jù)庫用戶角色表的測試代碼: public class AclServiceTest extends TestCase { private AclService aclService。//權(quán)限控制服務(wù)接口 @Before protected void setUp() throws Exception { ApplicationContext cxt = new FileSystemXmlApplicationContext(/WebRoot/WEBINF/applicationContext.xml)。 aclService = (AclService)(aclService)。 } @Test public void testSave() { ACL acl = new ACL()。 (Role)。 (2)。 (19)。 (1, true)。 (acl)。 } public void testSaveOrUpdatePermission() { (Role, 10, 8, 0, true)。 } public void testfindACLs() { ListObject[] list = (Role, 1)。 for(Object[] obj : list){ for(Object o : obj){ (o + )。 } ()。 } 34 } } 6 模塊二系統(tǒng)模塊 功能模塊一 部門管理模塊實(shí)現(xiàn) Strusts 的配置 運(yùn)用 strusts2 開發(fā)需要一個(gè)動(dòng)作對應(yīng)到一個(gè) Action,但這些 Action 的有些屬性和方法是相同的,本系統(tǒng)中我 們用到了調(diào)用數(shù)據(jù)庫對應(yīng)模塊的路徑實(shí)現(xiàn)分層調(diào)用,系統(tǒng)管理模塊,需要在包中添加包含文件: include file=cs/xj/action/department// !部門管理 的配置如下: ?xml version= encoding=UTF8 ? !DOCTYPE struts PUBLIC //Apache Software Foundation//DTD Struts Configuration struts package name=department extends=strutsdefault namespace=/department interceptors interceptor name=securityInterceptor class=/interceptor /interceptors globalresults result name=error/pages//result result name=login type=redirect//result /globalresults action name=departmentAction class=! departmentAction 對應(yīng)的 Action result name=find/pages/department//result!顯示部門管理界面 result name=select/pages/department//result!顯示查找部門管理界面 result name=add/pages/department//result!顯示添加部門管理 35 界面 result name=saveInput/pages/department//result!顯示保存部門管理界面 result name=save type=redirect/pages/mon//result!顯示添加部門管理成功界面 result name=show/pages/department//result!顯示部門管理界面 result name=edit/pages/department//result!顯示修改部門管理界面 resultname=updateInput/pages/department//result!顯示修改部門管理界面保存 result name=update type=redirect/pages/mon//result!顯示部門管理成功界面 result name=delete type=redirect/pages/mon//result!顯示刪除部門管理成功界面 interceptorref name=paramsPrepareParamsStack/interceptorref interceptorref name=securityInterceptor/interceptorref /action /package /struts 配置 DepartmentAction 繼承 BaseAction 通過調(diào)用 DepartmentService 接口中的方法用 實(shí)現(xiàn)數(shù)據(jù)庫表 (department )的操作。部門管理模塊對應(yīng)的流程圖 51: 圖 51部門管理流程圖 開始 添加、修改或刪除 操作成功或失敗 結(jié)束 36 對應(yīng)類之間的調(diào)用 1)進(jìn)行部門管理時(shí)類間的調(diào)用 圖 52進(jìn)行部門管理時(shí)類間的調(diào)用 流程圖 2) 添加部門界面 驗(yàn)證部門名稱的函數(shù) script type=text/javascript language=javascript function submitForm(){ var name = (depName)。 if( == 0) { alert(部門名稱不能為空 )。 return。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1