《人力資源管理系統(tǒng)》畢業(yè)論文

上傳人:小*** 文檔編號(hào):78949536 上傳時(shí)間:2022-04-22 格式:DOC 頁(yè)數(shù):26 大?。?.21MB
收藏 版權(quán)申訴 舉報(bào) 下載
《人力資源管理系統(tǒng)》畢業(yè)論文_第1頁(yè)
第1頁(yè) / 共26頁(yè)
《人力資源管理系統(tǒng)》畢業(yè)論文_第2頁(yè)
第2頁(yè) / 共26頁(yè)
《人力資源管理系統(tǒng)》畢業(yè)論文_第3頁(yè)
第3頁(yè) / 共26頁(yè)

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《《人力資源管理系統(tǒng)》畢業(yè)論文》由會(huì)員分享,可在線閱讀,更多相關(guān)《《人力資源管理系統(tǒng)》畢業(yè)論文(26頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 人力資源管理系統(tǒng) 學(xué) 院 專 業(yè) 班 級(jí) 學(xué) 號(hào) 姓 名 指導(dǎo)教師 教師職稱 年 月 日 – 21 – 摘要 【摘要】 ?隨著計(jì)算機(jī)的普及和計(jì)算機(jī)科學(xué)技術(shù)的飛速發(fā)展,人們開始越來(lái)越多地利用計(jì)算機(jī)解決實(shí)際問題。員工信息管理是企業(yè)信息管理的重要部分,面對(duì)大量的人事信息,采用人力處理即浪費(fèi)時(shí)間、又浪費(fèi)人力和物力,并且數(shù)據(jù)的準(zhǔn)確性低。因此,開發(fā)一個(gè)界面友好,易于操作的人力資源管理軟件進(jìn)行自動(dòng)化處理變得十分重要,

2、這正是本系統(tǒng)開發(fā)的目的和意義。 本文介紹了人事管理的開發(fā)過(guò)程。論文詳細(xì)介紹了從系統(tǒng)的需求分析、系統(tǒng)分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)的整個(gè)開發(fā)過(guò)程。 【關(guān)鍵詞】 目錄 0 引言 全球范圍內(nèi)的企業(yè)內(nèi)部組織正在發(fā)生巨變,未來(lái)企業(yè)成功的關(guān)鍵的依靠企業(yè)人力資源,人才之爭(zhēng)已經(jīng)成為市場(chǎng)競(jìng)爭(zhēng)中的核心內(nèi)容之一,以人為本成為企業(yè)立足和發(fā)展的根本。有效力管理企業(yè)的人力資源,為企業(yè)提供強(qiáng)有力的儲(chǔ)備力量,使之成為企業(yè)發(fā)展的主動(dòng)力。通過(guò)人力資源的有效管理,掌握最新的、準(zhǔn)確的企業(yè)人力資源信息,并對(duì)其進(jìn)行復(fù)雜的統(tǒng)計(jì)與分析,從而充分發(fā)揮每個(gè)員工的潛能,為企業(yè)創(chuàng)造更大的價(jià)值。 網(wǎng)絡(luò)化的今天,網(wǎng)絡(luò)人力資源管理系統(tǒng),使新的人

3、力資源協(xié)作管理模式成為可能。通過(guò)網(wǎng)絡(luò)管理系統(tǒng),專門的人力資源管理人員可以提高自身的工作效率,作好人力資源管理的協(xié)調(diào)工作,提高人力資源利用率;通過(guò)網(wǎng)絡(luò)管理系統(tǒng),員工可以直接管理自己的技能,有效地發(fā)現(xiàn)和挖掘自身的潛能,及時(shí)與自己的上級(jí)、下屬、同事進(jìn)行的溝通與交流,同心協(xié)作,積極為企業(yè)的發(fā)展與決策貢獻(xiàn)力量。通過(guò)網(wǎng)絡(luò)人力資源管理系統(tǒng)對(duì)企業(yè)人力資源進(jìn)行管理,使企業(yè)人力資源管理適應(yīng)時(shí)代的發(fā)展要求,大大提高了企業(yè)的核心竟?fàn)幜Α? 1 系統(tǒng)分析 1.1 需求分析 通過(guò)調(diào)查,要求系統(tǒng)需要有以下功能; q 全面管理企業(yè)的員工信息。 q 管理企業(yè)人力資源管理的基礎(chǔ)信息。 q 人才招聘管理及企業(yè)人

4、才庫(kù)管理功能。 q 企業(yè)人才培訓(xùn)的全程跟蹤管理。 q 提供企業(yè)員工考勤管理。 q 設(shè)置企業(yè)員工薪酬管理。 q 提供系統(tǒng)用戶管理功能。 1.2 可行性分析 q 經(jīng)濟(jì)性 通過(guò)網(wǎng)絡(luò)化的人力資源管理,大大的提高了企業(yè)人才的利用率,使之為企業(yè)創(chuàng)造了更大價(jià)值。人才利用率的提高,增強(qiáng)了企業(yè)的核心竟?fàn)幜Γ嫣嵘似髽I(yè)的管理能力,從而企業(yè)適應(yīng)了信息時(shí)代的網(wǎng)絡(luò)化管理要求,。 q 技術(shù)性 通過(guò)網(wǎng)絡(luò)化管理,增強(qiáng)了員工之間的溝通,更好的協(xié)調(diào)員工之間的協(xié)作關(guān)系;對(duì)員工考勤與薪酬管理更加的科學(xué);全程跟蹤員工的培訓(xùn),通過(guò)信息的記錄,更好的作出員工培訓(xùn)方案。 2 總體設(shè)計(jì) 2.1 項(xiàng)目規(guī)劃 人力

5、資源管理系統(tǒng)由人事管理、考勤管理、招聘管理、培訓(xùn)管理、系統(tǒng)管理5部分組成,規(guī)劃系統(tǒng)功能模塊如下: 人事管理模塊:該模塊主要功能是對(duì)人事管理的基礎(chǔ)信息、員工基本信息、合同信息等進(jìn)行管理 招聘管理模塊:該模塊主要是對(duì)企業(yè)招聘信息、企業(yè)的應(yīng)聘信息、企業(yè)人才庫(kù)進(jìn)行管理。 培訓(xùn)管理模塊:該模塊主要是對(duì)企業(yè)的培訓(xùn)計(jì)劃、培訓(xùn)實(shí)施、培訓(xùn)材料等信息進(jìn)行管理。 薪酬管理模塊:該模塊主要功能是對(duì)管理員工薪酬信息進(jìn)入管理。 系統(tǒng)管理模塊:該模塊主要功能是對(duì)操作員信息、操作員操作權(quán)限進(jìn)入管理。 2.2 系統(tǒng)功能結(jié)構(gòu)圖 人力資源管理系統(tǒng)功能結(jié)構(gòu)如圖1所示。 人力規(guī)劃 招聘信息管理 企業(yè)人才庫(kù) 培訓(xùn)

6、計(jì)劃 培訓(xùn)實(shí)施 培訓(xùn)材料 薪酬登記 薪酬修改 薪酬查詢 添加用戶 用戶管理 主管部門審批 人事部門審批 員工考勤登記 員工考勤登記 考勤分析報(bào)表 考勤規(guī)劃設(shè)置 人事管理 考勤管理 招聘管理 培訓(xùn)管理 薪酬管理 系統(tǒng)管理 人力資源管理系統(tǒng) 圖1 人力資源管理系統(tǒng)功能結(jié)構(gòu)圖 3 系統(tǒng)設(shè)計(jì) 3.1 設(shè)計(jì)目標(biāo) 本系統(tǒng)主要用于對(duì)企業(yè)中的“人”進(jìn)行管理。具體地講,人力資源管理系統(tǒng)就是通過(guò)人力資源規(guī)劃、員工考核、薪酬管理、員工激勵(lì)、人才培訓(xùn)和開發(fā)等一系列手段來(lái)提高勞動(dòng)生產(chǎn)率,最終達(dá)到發(fā)展目標(biāo)的一種管理行為。具體實(shí)現(xiàn)目標(biāo)如下: q 實(shí)現(xiàn)對(duì)員工信

7、息進(jìn)行全面管理的功能。 q 設(shè)置人力資源基礎(chǔ)信息管理功能。 q 設(shè)置員工考勤管理功能模塊。 q 員工薪酬信息管理。 q 實(shí)現(xiàn)企業(yè)員工培訓(xùn)信息全程跟蹤的功能。 q 實(shí)現(xiàn)企業(yè)的招聘信息、應(yīng)聘信息的管理功能。 q 企業(yè)人才庫(kù)管理功能。 q 系統(tǒng)用戶信息的管理。 q 系統(tǒng)最大限度地實(shí)現(xiàn)了易安裝性、易維護(hù)性和易操作性。 q 系統(tǒng)運(yùn)行穩(wěn)定、安全可靠。 3.2 開發(fā)及運(yùn)行環(huán)境 硬件平臺(tái): q CPU:P41.8GHz; q 內(nèi)存:256MB以上。 軟件平臺(tái): q 操作系統(tǒng):Windows XP/Windows 2000; q 數(shù)據(jù)庫(kù):SQL Server 2000; q

8、開發(fā)工具包:JDK Version1.4.2; q JSP服務(wù)器:Tomcat; q 瀏覽器:IE5.0,推薦使用IE6.0; q 分辨率:最佳效果1024*768像素。 3.3 數(shù)據(jù)庫(kù)設(shè)計(jì) 本系統(tǒng)采用SQL Server 2000 數(shù)據(jù)庫(kù),系統(tǒng)數(shù)據(jù)庫(kù)名為PersonManage,數(shù)據(jù)庫(kù)PersonManage中包括5個(gè)數(shù)據(jù)表。關(guān)于數(shù)據(jù)庫(kù)中的數(shù)據(jù)表請(qǐng)參見附錄B 4 系統(tǒng)總體架構(gòu) 4.1 模塊功能介紹 人力資源管理系統(tǒng)是針對(duì)中小企業(yè)對(duì)現(xiàn)有員工和新聘員工的一個(gè)WEB管理平臺(tái)。主頁(yè)功能模塊主要包括以下功能模塊: 人員管理:主要包括瀏覽人員信息、添加人員信息、人員信息的添加、人員

9、信息的修改。 招聘管理:主要包括應(yīng)聘人員信息的詳細(xì)查看、刪除、添加以及信息入庫(kù)。 培訓(xùn)管理:主要包括培訓(xùn)計(jì)劃的詳細(xì)信息、信息刪除、添加培訓(xùn)計(jì)劃和填寫培訓(xùn)總結(jié)。 獎(jiǎng)懲管理:主要包括獎(jiǎng)懲詳細(xì)信息、刪除詳細(xì)信息、添加詳細(xì)信息、修改詳細(xì)信息。 薪金管理:主要包括薪金的修改、添加、刪除。 5 用戶操作功能模塊 5.1 用戶操作文件總體架構(gòu) 1. 模塊功能介紹 用戶操作模塊主要包括用戶登錄和人員管理模塊,具體功能如下: 用戶登錄模塊:用于登錄系統(tǒng)。 人員管理模塊:用于瀏覽、添加和修改人員信息。 5.2 用戶登陸模塊設(shè)計(jì) 用戶登錄模塊是用戶進(jìn)入主頁(yè)面的入口,其運(yùn)行結(jié)果如3所示。

10、 圖3 用戶登錄模塊運(yùn)行結(jié)果 系統(tǒng)登陸是人力資源管理中最先使用的功能,因?yàn)橛脩舻顷懺跀?shù)據(jù)庫(kù)中使用的是人員表,人員表中有一個(gè)isadmin字段,是來(lái)標(biāo)識(shí)是否是管理員的。在登陸時(shí)要根據(jù)數(shù)據(jù)庫(kù)的這個(gè)字段來(lái)判斷此用戶是否具有管理員的權(quán)限。在網(wǎng)頁(yè)里添寫用戶名和密碼后點(diǎn)擊【登陸】按鈕,網(wǎng)頁(yè)會(huì)訪問一個(gè)URL,這個(gè)URL是“l(fā)ogon.do?action=logon”,代碼如下:

11、eight="40" align="center" >用戶名: 密  碼:

12、 class="input" >  

在這個(gè)表單的name的值是us

13、ersForm,它是Struts的ActoinForm的實(shí)現(xiàn)類在配置文件中的名字,如下所示: action是Struts的Action的URL,他們?cè)赟truts的配置文件中都是已經(jīng)配好的,如下所示:

14、 在這個(gè)配置文件中,可以了解到如下信息: q 根據(jù)name="userForm"可以找到與之相對(duì)應(yīng)的ActionForm的實(shí)現(xiàn)類“com.bOS.bPRO_PersonManage.actionform.UsersForm”。 q 根據(jù)type="com.bOS.bPRO_PersonManage.action.UsersAction"可以找到處理用戶數(shù)據(jù)

15、的Action類。 q 根據(jù)可以了解,這個(gè)Action返回success時(shí),頁(yè)面會(huì)被轉(zhuǎn)到manage.jsp文件,這就是登陸成功的頁(yè)面。如果當(dāng)Action返回failed時(shí),頁(yè)面會(huì)被轉(zhuǎn)到failed.jsp文件,這個(gè)文件是當(dāng)用戶登陸失敗將要轉(zhuǎn)到的頁(yè)面。 Struts的Action的實(shí)現(xiàn)類是這個(gè)登陸頁(yè)的核心內(nèi)容,就來(lái)看看它是怎么實(shí)現(xiàn)的吧,如下所示: package com.bOS.bPRO_PersonManag

16、e.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.hibernate.HibernateException; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apac

17、he.struts.action.ActionMapping; import com.bOS.bPRO_PersonManage.actionform.UsersForm; import com.bOS.bPRO_PersonManage.en.Users; import com.bOS.bPRO_PersonManage.service.UsersDao; public class UsersAction extends Action { private UsersDao dao=new UsersDao(); public ActionForward execu

18、te(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String action =request.getParameter("action"); // System.out.println("\nUsersAction*********************action="+action); if(action==null||"".e

19、quals(action)){ return mapping.findForward("error"); }else if("listuser".equals(action)){ return listUser(mapping,form,request,response); }else if("adduser".equals(action)){ return addUsers(mapping,form,request,response); }else if("lo

20、gon".equals(action)){ return logon(mapping,form,request,response); }else if("updateuser".equals(action)){ return updateUser(mapping,form,request,response); }else if("deleteuser".equals(action)){ return deleteUser(mapping,form,request,response)

21、; }else if("selectuser".equals(action)){ return selectUser(mapping,form,request,response); } return mapping.findForward("error"); } private ActionForward selectUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletRespon

22、se response) throws HibernateException { Long id=new Long(request.getParameter("id")); Users u=dao.loadUsers(id.longValue()); request.setAttribute("user",u); return mapping.findForward("success"); } private ActionForward deleteUser(ActionMapping mapping,

23、 ActionForm form, HttpServletRequest request, HttpServletResponse response) throws HibernateException { Long id=new Long(request.getParameter("id")); Users users=new Users(); users.setId(id); dao.deleteUsers(users); return mapping.findForward("success");

24、 } private ActionForward updateUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws HibernateException { UsersForm usersform=(UsersForm)form; Users users=usersform.populate(); dao.updateUsers(users);

25、 return mapping.findForward("success"); } private ActionForward logon(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws HibernateException { UsersForm usersform=(UsersForm)form; Users users=new Users(); user

26、s.setUsername(usersform.getUsername()); users.setPassword(usersform.getPassword()); boolean flag=dao.logonUsers(users); if(flag){ request.getSession().setAttribute("users",users); return mapping.findForward("success"); }else{

27、 return mapping.findForward("failed"); } } private ActionForward addUsers(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws HibernateException { UsersForm usersform=(UsersForm)form; Users users=usersform.popul

28、ate(); dao.addUsers(users); return mapping.findForward("success"); } private ActionForward listUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws HibernateException { request.setAttribute("list",dao.listU

29、ser()); return mapping.findForward("success"); } Struts的Action實(shí)現(xiàn)類的execute()方法是最先被執(zhí)行的,這個(gè)方法本身也沒有具體的事務(wù),而是根據(jù)action的參數(shù)不同執(zhí)行相應(yīng)的方法。在登陸頁(yè)里面可以找到有一個(gè)“action=logon”的字樣,它的目的就是在這里做邏輯判斷。當(dāng)action=logon時(shí)調(diào)用logon()方法。logon()方法從UsersForm中得到用戶提交的數(shù)據(jù),然后在調(diào)用UsersDao()的logonUsers()方法。并且把UsersForm轉(zhuǎn)成Users類做為logonUs

30、ers()方法的參數(shù)。調(diào)用后會(huì)返回一個(gè)boolean型的值。如果為真,則返回“mapping.findForward("success");”否則返回“mapping.findForward("failed");”也就是當(dāng)用戶登陸成功后,返回給用戶登陸成功的頁(yè)面,登陸失敗后返回用戶一個(gè)登陸失敗的頁(yè)面。那么UsersDao的logonUsers()方法是根據(jù)什么得到的返回值呢,現(xiàn)在就讓我們看看這個(gè)方法,如下所示: public boolean logonUsers(Users users) throws HibernateException { Session ses

31、sion = HibSessionFactory.currentSession(); Transaction tx = session.beginTransaction(); Query query = session .createQuery("select count(*) from Users as u where u.username = :name and u.password =:password and u.isadmin=:isadmin "); query.setString("name"

32、, users.getUsername()); query.setString("password", users.getPassword()); query.setByte("isadmin",new Byte("1").byteValue()); List list = null; list = query.list(); mit(); HibSessionFactory.closeSession(); if (list != null) {

33、 Iterator it = list.iterator(); if (it.hasNext()) { if (((Integer) it.next()).intValue() == 1) { return true; } } } return false; } 這個(gè)方法先通過(guò)HibSessionFactory得到一個(gè)Hibernate的Session并且開始一個(gè)事務(wù),Session再

34、像使用一個(gè)欲編譯似的命令似的東西,設(shè)定參數(shù)、提交事務(wù)和最后在關(guān)閉Session.。得到一個(gè)List里面就存儲(chǔ)著所有查詢出的結(jié)果。根據(jù)這個(gè)結(jié)果就可以判斷出該用戶是否有登陸的權(quán)根了,在返回true 或者false。就這樣合法的用戶就可以順利的登陸了。那剛才那些有些類似于欲編譯的東西是什么呢,這些就是Hibernate特有的查詢語(yǔ)言,被稱為Hibernate 查詢語(yǔ)言(HQL),而它本身也就是使用的JDBC的欲編譯技術(shù)。 5.3 人員管理模塊設(shè)計(jì) 人員管理模塊主要包括瀏覽人員信息、添加人員信息、人員信息的添加、人員信息的修改。此模塊文件架構(gòu)如圖4所示。 各項(xiàng)管理工作都是在用戶成功登陸后的管理

35、頁(yè)面進(jìn)行的,在管理控制頁(yè)面的左側(cè)是各項(xiàng)的相關(guān)鏈接,右側(cè)是操作平臺(tái)。管理控制頁(yè)面右側(cè)實(shí)際上是一個(gè)iframe,如下所示: 在左側(cè)的鏈接中使用target="frame"就可以在這個(gè)iframe中打開新的鏈接了。 單擊“添加人員信息”,即打開添加人員信息的頁(yè)面如圖4所示。 圖4 添加人員信息頁(yè)面 添加人員信息的鏈

36、接是這樣的,如下所示: 添加人員信息 在Struts配置文件中,添加人員信息的鏈接沒有使用ActionForm類,也沒有使用Action的實(shí)現(xiàn)類,如下所示: adduser.jsp文件,只是一個(gè)普通的JSP文件,但是它的表單元素都是與UsersForm相對(duì)應(yīng)的,UsersForm如下所示: package com.bOS.bPRO_P

37、ersonManage.actionform; import com.bOS.bUtil.DateUtil; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import com.bOS.bPRO_PersonManage.en.Users; public class

38、 UsersForm extends ActionForm { public String getContent() { return content; } public void setContent(String content) { this.content = content; } private Long id; private String username; private String password; private Byte sex; privat

39、e String birthday; private String createtime; private Byte isadmin; private String content; public String getCreatetime() { return createtime; } public void setCreatetime(String createtime) { this.createtime = createtime; } public Long getId(

40、) { return id; } public void setId(Long id) { this.id = id; } public Byte getIsadmin() { return isadmin; } public void setIsadmin(Byte isadmin) { this.isadmin = isadmin; } public String getPassword() { return passwo

41、rd; } public void setPassword(String password) { this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public void reset(ActionMapping arg0

42、, HttpServletRequest arg1) { this.id=null; this.username=null; this.password=null; this.isadmin=null; this.createtime=null; this.content=null; this.sex=null; this.birthday=null; } public ActionErrors validate

43、(ActionMapping arg0, HttpServletRequest arg1) { return null; } public String toString() { StringBuffer toStr = new StringBuffer(); toStr.append("[UsersForm] = [\n"); toStr.append(" id = " + this.id + ";\n"); toStr.append(" username = " + t

44、his.username + ";\n"); toStr.append(" password = " + this.password + ";\n"); toStr.append(" sex = " + this.sex + ";\n"); toStr.append(" birthday = " + this.birthday+ ";\n"); toStr.append(" createtime = " + this.createtime+ ";\n"); toStr.append

45、(" isadmin = " + this.isadmin + ";\n"); toStr.append(" content = " + this.content + ";\n"); toStr.append(" ];\n"); return toStr.toString(); } public String getBirthday() { return birthday; } public void setBirthday(String birthday) {

46、 this.birthday = birthday; } public Byte getSex() { return sex; } public void setSex(Byte sex) { this.sex = sex; } public Users populate(){ Users u=new Users(); u.setId(getId()); u.setIsadmin(getIsadmin()); u.

47、setContent(getContent()); u.setUsername(getUsername()); u.setPassword(getPassword()); u.setSex(getSex()); u.setBirthday(DateUtil.parseToDate(getBirthday(),DateUtil.yyyyMMdd)); u.setCreatetime(DateUtil.parseToDate(getCreatetime(),DateUtil.yyyyMMddHHmmss));

48、 return u; } } UsersForm類中的reset()方法作用是當(dāng)用戶點(diǎn)擊“重置”按鈕時(shí),清空input輸入框的內(nèi)容,toString()方法覆蓋了Object和toString()方法,populate()方法很有,它把UsersForm轉(zhuǎn)化成Users實(shí)體類,大大方便了程序在對(duì)數(shù)據(jù)庫(kù)操作時(shí)使用的方便。而且這個(gè)方法中還把用戶的生日等表單元素的值由字符型轉(zhuǎn)成日期類型。 在adduser.jsp頁(yè)面中的action上可以看到它要提交的URL,如下所示:

配置文件中modifyuser的Action實(shí)現(xiàn)類是“com.bOS.bPRO_PersonManage.action.UsersAction”,如下所示: 在UsersAction找到參數(shù)action等于adduser時(shí)所調(diào)用的方法addUsers(),它只是把從UserForm表單轉(zhuǎn)化成的User類做為參數(shù)傳給了UsersDao的addUsers()方法。在由這個(gè)方法向數(shù)據(jù)庫(kù)添加人員信息,如下所示: public void addUsers(Users users) throws HibernateException { users.setCreatetime(new java.util.Date()); Session session = H

51、ibSessionFactory.currentSession(); Transaction tx = session.beginTransaction(); session.save(users); mit(); HibSessionFactory.closeSession(); } 如果添加成功頁(yè)面會(huì)被發(fā)轉(zhuǎn)到user.do?action=listuser的URL。user.do的配置文件如下所示: 這樣就在頁(yè)面做一次提交時(shí)它訪問了二次UsersAction,第一次的作用是向數(shù)據(jù)庫(kù)中添加信息,隨后又把所有人員信息取出來(lái)顯示給用戶,同樣UsersAction還只是調(diào)用UsersDao,取數(shù)據(jù)庫(kù)的具體操作在UsersDao文件中,他這次調(diào)用的是listUser()方法,如下所示: public List listUser() thro

53、ws HibernateException { Session session = HibSessionFactory.currentSession(); Transaction tx = session.beginTransaction(); Query query = session .createQuery("select u from Users as u order by createtime"); List list = query.list(); mit()

54、; HibSessionFactory.closeSession(); return list; } UsersAction取出從UsersDao中數(shù)據(jù),在把它存到request里,然后返回return mapping.findForward("success");在Strutsr的配置文件里返回頁(yè)是listuser.jsp。所有用戶的信息都在這個(gè)頁(yè)中顯示出來(lái)。如下所示: 瀏覽人員信息

55、rong> 人員姓名 登陸密碼 性別 出生日期 是否管理員

56、>簡(jiǎn)介 執(zhí)行操作 <% List list=(List)request.getAttribute("list"); if(list!=null&&list.size()>0){ Iterator it = list.iterator(); while (it.hasNext()) { Users u = (Users) it.next(); %>

57、ign="center" ><%=StringUtil.notNull(u.getUsername())%>  <%=StringUtil.notNull(u.getPassword())%>  <%=new Byte("1").equals(u.getSex())?"男":"女"%> <%=StringUtil.notNul

58、l(DateUtil.parseToString(u.getBirthday(),DateUtil.yyyyMMdd))%>  <%=new Byte("1").equals(u.getIsadmin())?"是":"否"%> <%=StringUtil.notNull(u.getContent())%>  修改  刪除 <% } }else{ %> 對(duì)不起,沒有添加人員信息?。?! <%}%> 在顯示頁(yè)中,從request里面的取出數(shù)據(jù),如果有則顯

60、示在頁(yè)面上,使用“l(fā)ist!=null&&list.size()>0”判斷如果在沒有數(shù)據(jù)的情況下,將對(duì)用戶提示說(shuō)“對(duì)不起,沒有添加人員信息!?。 ?。 這是添加人員信息的整個(gè)過(guò)程,在這個(gè)過(guò)程中,有一部分是用于顯示人員信息的,就是“user.do?action=listuser”,它是顯示人員信息的地址。如果在網(wǎng)頁(yè)中直接點(diǎn)擊這個(gè)鏈接地址,同樣也會(huì)調(diào)用出所有用戶的信息。這就是“瀏覽人員信息”的鏈接。頁(yè)面執(zhí)行后如圖5所示。 圖5 瀏覽人員信息頁(yè)面 人員信息的列表的最后一列可以對(duì)該條記錄做刪除和修改。刪除的鏈接地址是“modifyuser.do?action=deleteuser&id=<%

61、=u.getId()%>”它向Action的實(shí)現(xiàn)類提交了兩個(gè)參數(shù),一個(gè)是action=deleteuser是固定不變的,另一個(gè)是該用戶的id這是根據(jù)不同記錄取出來(lái)的。在UsersAction類中根據(jù)action的值可以找到與其相對(duì)的方法,如下所示: private ActionForward deleteUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws HibernateException { Lo

62、ng id=new Long(request.getParameter("id")); Users users=new Users(); users.setId(id); dao.deleteUsers(users); return mapping.findForward("success"); } 在這個(gè)方法里得到頁(yè)面提交過(guò)來(lái)的用戶ID,把這個(gè)id存在Users表中的實(shí)例中,傳給dao的deleteUsers()方法,我們可以看到關(guān)于數(shù)據(jù)庫(kù)方面的操作都被封裝在Dao中。具體的刪除操作的代碼如下所示:

63、 public void deleteUsers(Users users) throws HibernateException { Session session = HibSessionFactory.currentSession(); Transaction tx = session.beginTransaction(); session.delete(users); mit(); HibSessionFactory.closeSession(); } 刪除用戶時(shí)和添加用戶一樣都是先得到一

64、個(gè)Hibernate的Session,后調(diào)用它的delete()方法就可以了,操作完成后千萬(wàn)記得要提交事務(wù),即調(diào)用commit()方法,和關(guān)閉Session。 修改人員的信息時(shí)必須先把要修改的人員信息先查找出來(lái),讓用戶可以直觀的根據(jù)以前的信息修改。這樣在點(diǎn)擊修改時(shí)也要傳給Action一個(gè)用戶ID,用來(lái)查詢出用戶信息,如下所示: 修改 根據(jù)頁(yè)面的鏈接可以在Struts的配置文件里找到相應(yīng)的配置信息,如下所示: 它調(diào)用了UsersAction類,返回到updateuser.jsp文件,在UsserAction中同前面一樣也是根據(jù)action的參數(shù)來(lái)識(shí)別出調(diào)用selectUser()方法的,方法實(shí)現(xiàn)如下所示: private ActionForward selectUser(ActionMapping m

66、apping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws HibernateException { Long id=new Long(request.getParameter("id")); Users u=dao.loadUsers(id.longValue()); request.setAttribute("user",u); return mapping.findForward("success"); } 這個(gè)方法使在調(diào)用Dao的loadUsres()的方法后,得到一個(gè)Users的返回值,里面存著與此id相對(duì)應(yīng)的人員信息,然后在把它存在request里。loadUsres()方法實(shí)現(xiàn)如下所示: public Users loadUsers(long id) throws HibernateException {

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

相關(guān)資源

更多
正為您匹配相似的精品文檔

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!