![蘭州交通大學(xué)畢業(yè)設(shè)計(jì)-軟件工程畢業(yè)設(shè)計(jì)_第1頁(yè)](http://file4.renrendoc.com/view/c75be56f703d75ada690d4361f22cf21/c75be56f703d75ada690d4361f22cf211.gif)
![蘭州交通大學(xué)畢業(yè)設(shè)計(jì)-軟件工程畢業(yè)設(shè)計(jì)_第2頁(yè)](http://file4.renrendoc.com/view/c75be56f703d75ada690d4361f22cf21/c75be56f703d75ada690d4361f22cf212.gif)
![蘭州交通大學(xué)畢業(yè)設(shè)計(jì)-軟件工程畢業(yè)設(shè)計(jì)_第3頁(yè)](http://file4.renrendoc.com/view/c75be56f703d75ada690d4361f22cf21/c75be56f703d75ada690d4361f22cf213.gif)
![蘭州交通大學(xué)畢業(yè)設(shè)計(jì)-軟件工程畢業(yè)設(shè)計(jì)_第4頁(yè)](http://file4.renrendoc.com/view/c75be56f703d75ada690d4361f22cf21/c75be56f703d75ada690d4361f22cf214.gif)
![蘭州交通大學(xué)畢業(yè)設(shè)計(jì)-軟件工程畢業(yè)設(shè)計(jì)_第5頁(yè)](http://file4.renrendoc.com/view/c75be56f703d75ada690d4361f22cf21/c75be56f703d75ada690d4361f22cf215.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
文檔來(lái)源網(wǎng)絡(luò)侵權(quán)刪除希望此文檔能祝您一臂之力文檔來(lái)源網(wǎng)絡(luò)侵權(quán)刪除希望此文檔能祝您一臂之力摘要人力資源管理系統(tǒng)是現(xiàn)代企業(yè)的核心業(yè)務(wù)系統(tǒng)之一,人力資源管理的狀況和水平對(duì)企業(yè)的運(yùn)作和效率至關(guān)重要?,F(xiàn)代企業(yè)人力資源管理的內(nèi)容非常豐富,可能包含檔案管理、合同管理、薪酬管理、招聘管理、績(jī)效管理、系統(tǒng)管理等很多部分。在本次畢業(yè)設(shè)計(jì)中,我們模擬實(shí)現(xiàn)了一家現(xiàn)代企業(yè)的人力資源管理系統(tǒng)中的部分子系統(tǒng)。由于現(xiàn)代企業(yè)都擁有功能完善的企業(yè)內(nèi)部網(wǎng),所以該系統(tǒng)的體系結(jié)構(gòu)采用了以SSH框架為基礎(chǔ)的Java企業(yè)級(jí)開(kāi)發(fā)模式。SSH框架作為目前最流行和最成熟的Java企業(yè)級(jí)開(kāi)發(fā)技術(shù),在軟件系統(tǒng)的效率、可用性、可維護(hù)性等方面提供了優(yōu)秀的支持,并集成了當(dāng)前JavaWeb開(kāi)發(fā)方面的最好技術(shù)。本人在該系統(tǒng)中主要承擔(dān)系統(tǒng)管理子系統(tǒng)的開(kāi)發(fā)。該子系統(tǒng)包括用戶注冊(cè)、登錄、用戶管理、權(quán)限管理、用戶組管理等模塊。本文首先簡(jiǎn)要介紹人力資源管理系統(tǒng)的一些應(yīng)用背景和應(yīng)用狀況;其次介紹了該項(xiàng)目開(kāi)發(fā)所采用的平臺(tái)、開(kāi)發(fā)工具以及開(kāi)發(fā)環(huán)境;本文重點(diǎn)描述了該系統(tǒng)開(kāi)發(fā)的流程,從項(xiàng)目策劃、需求分析、系統(tǒng)設(shè)計(jì)、編碼與實(shí)現(xiàn)等階段詳細(xì)介紹了系統(tǒng)的開(kāi)發(fā)過(guò)程、實(shí)現(xiàn)方案和策略等。關(guān)鍵詞:人力資源管理;系統(tǒng)管理;SSH框架;JavaWeb開(kāi)發(fā);面向?qū)ο蠼OM宋臋n能祝您一臂之力希望此文檔能祝您一臂之力AbstractHumanresourcemanagementsystemisoneofthecorebusinesssystemofmodernenterprises,thestatusandlevelofhumanresourcesmanagementisveryimportantfortherunningefficiencyofaenterprise.Thecontentofamodernenterprisehumanresourcesmanagementisveryrich,itmaycontainarchivesmanagement,contractmanagement,compensationmanagement,recruitmentmanagement,performancemanagement,systemmanagementandsoonmanyparts.Inthisgraduationdesign,wesimulatetheimplementationofamodernenterprisehumanresourcesmanagementsystemofsomesubsystems.DuetothefunctionofthemodernenterprisehasperfectenterpriseIntranet,sothearchitectureofthesystemadoptedbasedontheSSHframeworkofJavaenterprisedevelopmentmode.SSHframeworkasthemostpopularandthemostsophisticatedJavaenterprisedevelopmenttechnology,thesoftwaresystemofefficiency,availability,maintainability,etc,providesagoodsupport,andthebesttechnologyintegratedwiththecurrentJavaWebdevelopment.Imainlyundertakesystemmanagementsubsysteminthesystemdevelopment.Thesubsystemincludesuserregister,login,usermanagement,rightsmanagement,usergroupmanagementmodule,etc.Thispaperfirstbrieflyintroducessomeapplicationbackgroundofthehumanresourcesmanagementsystemandapplicationconditions;Secondlyintroducestheadoptedbytheprojectdevelopmentplatform,developmenttoolsanddevelopmentenvironments;Thispapermainlydescribesthesystemdevelopmentprocess,fromprojectplanning,requirementsanalysis,systemdesign,codingandimplementationphasesystemwasintroducedindetailthedevelopmentprocess,implementationplanandstrategy,etc.Keywords:Humanresourcemanagement;Systemmanagement;SSHframework;JavaWebdevelopment;Object-orientedmodeling
目錄TOC\o"1-3"\h\u41141.緒論 1235861.1研究背景 1264111.2設(shè)計(jì)目標(biāo) 172541.3關(guān)于本系統(tǒng)的基本介紹 2200151.4論文結(jié)構(gòu) 220532.系統(tǒng)開(kāi)發(fā)環(huán)境與技術(shù) 3251022.1系統(tǒng)開(kāi)發(fā)環(huán)境 372352.1.1MyEclipse介紹 3143122.1.2Tomcat服務(wù)器介紹 4237122.2系統(tǒng)開(kāi)發(fā)技術(shù) 4174572.2.1JSP與Servlet技術(shù) 456972.2.2JavaScript簡(jiǎn)介 7102322.2.3MVC框架 8134532.2.4SSH框架 9320843.系統(tǒng)需求分析 14318413.1需求描述 14174733.1.1系統(tǒng)界面設(shè)計(jì)及操作風(fēng)格的需求 14271293.1.2系統(tǒng)功能描述 14234203.1.3系統(tǒng)運(yùn)行環(huán)境 1638083.2系統(tǒng)的一般性規(guī)定 1733553.2.1對(duì)性能的規(guī)定 17308893.2.2對(duì)時(shí)間特性的規(guī)定 17135483.2.3輸入輸出要求 17118513.2.4數(shù)據(jù)管理能力要求 17304443.2.5網(wǎng)絡(luò)安全要求 183194.系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 19282414.1系統(tǒng)層次劃分 1963744.2數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn) 19168894.2.1數(shù)據(jù)庫(kù)的數(shù)據(jù)模型 2545384.3系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 28126054.3.1系統(tǒng)項(xiàng)目的文件夾結(jié)構(gòu) 2859674.3.2登錄模塊 3111474.3.3注冊(cè)模塊 32223334.3.4系統(tǒng)管理子系統(tǒng) 34263264.3.5檔案管理子系統(tǒng) 40236474.3.6合同管理子系統(tǒng) 426902總結(jié) 457441致謝 4619152參考文獻(xiàn) 47文檔來(lái)源網(wǎng)絡(luò)侵權(quán)刪除希望此文檔能祝您一臂之力希望此文檔能祝您一臂之力1.緒論1.1研究背景隨著信息技術(shù)飛速發(fā)展,人們現(xiàn)在已處在數(shù)字化的生存空間之中?;ヂ?lián)網(wǎng)構(gòu)造了無(wú)限的信息資源,它的普及已經(jīng)從根本上改變了人們現(xiàn)實(shí)中的生活方式和工作方式,也改變了企業(yè)的經(jīng)營(yíng)方式、管理方式和服務(wù)方式。傳統(tǒng)的依賴手工方式的記錄的管理方式已經(jīng)遠(yuǎn)無(wú)法滿足企業(yè)的需求,傳統(tǒng)的方式效率普遍較低,無(wú)法對(duì)數(shù)據(jù)進(jìn)行有效的、規(guī)范的管理,查詢比較困難,數(shù)據(jù)準(zhǔn)確性、安全性相對(duì)較差,那么企業(yè)對(duì)于新的管理平臺(tái)的需求是必然的。通過(guò)新的管理系統(tǒng)平臺(tái),企業(yè)能夠大大提高各方面效率,而且方便了企業(yè)與員工之間的相互交流,能夠方便滿足將來(lái)的業(yè)務(wù)需求。當(dāng)今,網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,使得基于Web開(kāi)發(fā)的各類信息系統(tǒng)已經(jīng)成為一種主流趨勢(shì)?;赪eb的系統(tǒng)具有的特點(diǎn):(1)信息的及時(shí)更新和發(fā)布;(2)良好的用戶界面和接口;(3)方便操作和管理;(4)系統(tǒng)功能的通用性;(5)靈活性和可擴(kuò)展性;正是在這樣的社會(huì)大背景下,我們開(kāi)始進(jìn)行“安博人力資源系統(tǒng)”的課題研究,其目的在于通過(guò)建設(shè)一個(gè)網(wǎng)站來(lái)實(shí)現(xiàn)基于Web的信息系統(tǒng)的上述特點(diǎn),以展現(xiàn)該類管理系統(tǒng)的快速、便捷、準(zhǔn)確地發(fā)布、管理信息,提供信息管理的強(qiáng)大功能和作用。人力資源管理平臺(tái)可以幫助企業(yè)實(shí)現(xiàn)對(duì)人力資源信息數(shù)據(jù)更好的管理,大大提高工作人員的效率,幫助企業(yè)高層及時(shí)了解企業(yè)員工現(xiàn)狀。1.2設(shè)計(jì)目標(biāo)開(kāi)發(fā)設(shè)計(jì)本系統(tǒng)的任務(wù)是對(duì)人力資源信息數(shù)據(jù)的管理。通過(guò)該系統(tǒng)能夠讓用戶對(duì)檔案信息、合同信息進(jìn)行添加、刪除、修改、查詢;并能夠讓管理員對(duì)用戶進(jìn)行管理。開(kāi)發(fā)系統(tǒng)的目標(biāo)是幫助人力資源公司進(jìn)行員工的檔案、合同信息管理,需要滿足的要求具體包括如下:(1)網(wǎng)頁(yè)風(fēng)格符合人力資源企業(yè)的特點(diǎn),簡(jiǎn)單實(shí)用;(2)能夠?qū)崿F(xiàn)對(duì)于人力資源信息數(shù)據(jù)的管理;(3)網(wǎng)站運(yùn)行安全、穩(wěn)定;1.3關(guān)于本系統(tǒng)的基本介紹(1)系統(tǒng)名稱:安博人力資源管理平臺(tái)(2)用戶:甘肅安博人力資源服務(wù)有限公司(3)運(yùn)行環(huán)境:WindowsXP(4)開(kāi)發(fā)平臺(tái):SSH框架、SQLServer2005、Tomcat6.0(5)開(kāi)發(fā)語(yǔ)言:Java1.4論文結(jié)構(gòu)本文的章節(jié)安排如下:第一章:緒論,說(shuō)明本文的研究背景、設(shè)計(jì)目標(biāo)和系統(tǒng)的基本信息介紹,為接下來(lái)系統(tǒng)后臺(tái)的分析與設(shè)計(jì)做準(zhǔn)備。第二章:系統(tǒng)開(kāi)發(fā)環(huán)境與技術(shù),簡(jiǎn)單介紹系統(tǒng)實(shí)現(xiàn)所依賴環(huán)境和開(kāi)發(fā)所用的技術(shù)。如MyEclipse、Tomcat服務(wù)器、SSH框架、JSP與Servle原理、JavaScript。第三章:系統(tǒng)需求分析,從系統(tǒng)功能需求和一般性規(guī)定對(duì)系統(tǒng)需求進(jìn)行了詳細(xì)闡述。第四章:系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),給出系統(tǒng)后臺(tái)的具體設(shè)計(jì)與實(shí)現(xiàn),包括系統(tǒng)各個(gè)模塊功能以及數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)。第五章:總結(jié),對(duì)整個(gè)論文總結(jié),并針對(duì)目前工作中的不足對(duì)未來(lái)工作的展望。
2.系統(tǒng)開(kāi)發(fā)環(huán)境與技術(shù)2.1系統(tǒng)開(kāi)發(fā)環(huán)境安博人力資源管理平臺(tái)以MyEclipse8.5為開(kāi)發(fā)平臺(tái),且由Tomcat6.0充當(dāng)Web服務(wù)器來(lái)開(kāi)發(fā)實(shí)現(xiàn)。2.1.1MyEclipse介紹MyEclipse(MyEclipseEnterpriseWorkbench)是一款商業(yè)軟件,是一個(gè)非常優(yōu)秀的用于開(kāi)發(fā)Java、J2EE的Eclipse插件集合,是對(duì)EclipseIDE的擴(kuò)展,是基于Java和Eclipse的可擴(kuò)展開(kāi)發(fā)平臺(tái),它的功能非常強(qiáng)大、支持也十分廣泛、特別是對(duì)各種開(kāi)源產(chǎn)品的支持很不錯(cuò)。就其工具本身而言,它是功能豐富的J2EE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,利用它可以在數(shù)據(jù)庫(kù)和J2EE的開(kāi)發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面,極大地提高工作效率。可以說(shuō),MyEclipse幾乎囊括了目前所有主流開(kāi)源產(chǎn)品的專屬eclipse開(kāi)發(fā)工具。隨著MyEclipse2013支持JQuery,你可以通過(guò)插件提升性能,并可添加動(dòng)畫效果到設(shè)計(jì)中。簡(jiǎn)單而言,MyEclipse是eclipse的插件,也是一款功能非常強(qiáng)大的J2EE集成開(kāi)發(fā)環(huán)境,支持代碼編寫、配置、測(cè)試及除錯(cuò)。程序的功能包括:HTML智能編輯器、JavaServlet、Struts、JSF、CSS、JavaScript、SQL、Hibernate、Spring、EJB3等,帶有自動(dòng)完成和語(yǔ)法高亮顯示功能的J2EE編輯器。盡管eclipse是使用Java語(yǔ)言開(kāi)發(fā)的,但它的用途并不限于Java語(yǔ)言。例如:支持諸如C/C++、COBOL和Eiffel及Perl等編程語(yǔ)言的插件。在結(jié)構(gòu)上,MyEclipse的特征包括:(1)J2EE模型(2)WEB開(kāi)發(fā)工具(3)數(shù)據(jù)庫(kù)服務(wù)(4)J2EE項(xiàng)目部署服務(wù)(5)應(yīng)用程序服務(wù)器的連接(6)EJB開(kāi)發(fā)工具(7)MyEclipse整合幫助由于MyEclipse結(jié)構(gòu)上的這種模塊化,使我們?cè)诓挥绊懫渌K的情況下,對(duì)任一模塊可以進(jìn)行單獨(dú)的擴(kuò)展和升級(jí)。2.1.2Tomcat服務(wù)器介紹Tomcat最初是由Sun公司的軟件架構(gòu)師詹姆斯·鄧肯·戴維森開(kāi)發(fā)的,后來(lái)在他的幫助下變?yōu)殚_(kāi)源代碼,并由Sun貢獻(xiàn)給Apache基金會(huì)。Tomcat服務(wù)器是免費(fèi)開(kāi)源代碼的Web應(yīng)用服務(wù)器,屬于輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶相對(duì)較少時(shí)被普遍使用,是開(kāi)發(fā)和調(diào)試JSP程序的首選。實(shí)際上,Tomcat部分是Apache服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,因此,當(dāng)你運(yùn)行Tomcat時(shí),它實(shí)際上是作為一個(gè)與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。Tomcat是一個(gè)Servlet和JSP容器,具有處理HTML頁(yè)面的功能,當(dāng)配置正確時(shí),Apache為HTML頁(yè)面服務(wù),而Tomcat實(shí)際上運(yùn)行JSP頁(yè)面和Servlet。由于Tomcat運(yùn)行時(shí)占用的系統(tǒng)資源少,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開(kāi)發(fā)應(yīng)用程序的基本功能,它很受廣大程序員的喜歡;而且,它還在不斷地改進(jìn)和完善中,任何喜歡它的程序員都可更改它或加入新功能。由于Java的跨平臺(tái)特性,基于Java的Tomcat也具有跨平臺(tái)性。與傳統(tǒng)的桌面應(yīng)用程序相比,Tomcat中的應(yīng)用程序是一個(gè)WAR文件。WAR是Sun提出的一種Web應(yīng)用程序格式,與JAR類似,是文件的一個(gè)壓縮包。這個(gè)包中的文件按一定的目錄結(jié)構(gòu)來(lái)組織:其根目錄下包含有html和Jsp文件或目錄,另外,還有一個(gè)WEB-INF目錄,這個(gè)目錄很重要。通常,在WEB-INF目錄下有一個(gè)web.xml文件和一個(gè)classes目錄,web.xml是應(yīng)用的配置文件,而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其他類(如JavaBean)。通常,這些所依賴的類可以打包成JAR文件,然后放到WEB-INF下的lib目錄下。因?yàn)門omcat的技術(shù)先進(jìn)、性能穩(wěn)定,且免費(fèi),所以深受廣大程序開(kāi)發(fā)者的喜愛(ài),并得到了部分軟件開(kāi)發(fā)商的認(rèn)可,已經(jīng)成為目前比較流行的Web應(yīng)用程序服務(wù)器。2.2系統(tǒng)開(kāi)發(fā)技術(shù)安博人力資源管理平臺(tái)的開(kāi)發(fā)技術(shù)是基于J2EE架構(gòu)的SSH框架技術(shù)。開(kāi)發(fā)平臺(tái)是MyEclipse,Tomcat6.0作為服務(wù)器,JDK1.7.0_03作為工具包。2.2.1JSP與Servlet技術(shù)JSP全稱JavaServerPages,是由SunMicrosystems公司倡導(dǎo),許多公司一起建立的一種動(dòng)態(tài)技術(shù)標(biāo)準(zhǔn)。其根本是一個(gè)簡(jiǎn)化的Servlet設(shè)計(jì),它實(shí)現(xiàn)了HTML語(yǔ)法中的Java擴(kuò)張(以<%,%>形式)。在傳統(tǒng)的網(wǎng)頁(yè)HTML文件中加入Java程序片段和JSP標(biāo)簽,就能夠使JSP網(wǎng)頁(yè)中的Java程序片段操縱數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè),以及發(fā)送E-mail等,實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)站所需的功能。所有程序操作都在服務(wù)器端運(yùn)行,通常返回給客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。Web服務(wù)器在遇到訪問(wèn)JSP頁(yè)面的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行的結(jié)果連同JSP文件中的HTML代碼一并返回給客戶端。網(wǎng)絡(luò)上傳送給客戶端的僅僅是得到的結(jié)果,這樣大大降低了對(duì)客戶瀏覽器的要求,即使客戶瀏覽器端不支持Java,也可訪問(wèn)JSP頁(yè)面。通常,JSP頁(yè)面很少進(jìn)行數(shù)據(jù)處理,只是用來(lái)實(shí)現(xiàn)網(wǎng)頁(yè)的靜態(tài)化,只是用來(lái)提取數(shù)據(jù),不會(huì)進(jìn)行業(yè)務(wù)處理。JSP是一種動(dòng)態(tài)頁(yè)面技術(shù),它的主要目標(biāo)是將表示邏輯從Servlet中分離出來(lái)。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)的顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序開(kāi)發(fā)變得容易、迅速。JSP頁(yè)面是由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶端請(qǐng)求以后,對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶端。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全面向?qū)ο?,具有平臺(tái)無(wú)關(guān)性且安全可靠。Servlet是服務(wù)器上運(yùn)行的小程序,是一種獨(dú)立于平臺(tái)和協(xié)議的Java應(yīng)用程序,可以生成動(dòng)態(tài)的Web頁(yè)面。Servlet位于Web服務(wù)器的內(nèi)部,通過(guò)Web服務(wù)器進(jìn)行加載,該Web服務(wù)器必須包含支持Servlet的java虛擬機(jī)。Servlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序開(kāi)發(fā),需要Servlet和JSP的配合才能完成。(1)JSP工作原理JSP頁(yè)面通常以擴(kuò)展名為.jsp的純文本文件的形式存在服務(wù)器上,以當(dāng)一個(gè)JSP文件第一次被請(qǐng)求時(shí),JSP引擎把該JSP文件轉(zhuǎn)換成一個(gè)Servlet,而這個(gè)引擎也是一個(gè)Servlet。JSP引擎先把該Jsp文件轉(zhuǎn)換成一個(gè)Java源文件,在轉(zhuǎn)換時(shí)若發(fā)現(xiàn)語(yǔ)法錯(cuò)誤,轉(zhuǎn)換過(guò)程將中斷,并向服務(wù)器和客戶端輸出出錯(cuò)信息;若轉(zhuǎn)換成功,JSP引擎將用javac把該Java源文件編譯成相應(yīng)的class文件。然后創(chuàng)建一個(gè)該Servlet實(shí)例,該Servlet的Init()方法被執(zhí)行,此方法在Servlet的生命周期中只被執(zhí)行一次。然后,Service()方法被調(diào)用來(lái)處理客戶端的請(qǐng)求。對(duì)于每一個(gè)請(qǐng)求,JSP引擎創(chuàng)建一個(gè)新的線程來(lái)處理該請(qǐng)求。若有多個(gè)客戶端同時(shí)請(qǐng)求該JSP文件,則該引擎會(huì)創(chuàng)建多個(gè)線程,每個(gè)線程對(duì)應(yīng)一個(gè)客戶端請(qǐng)求。JSP頁(yè)面被編譯成Servlet之后,其執(zhí)行代碼以獨(dú)立線程的形式一直存在服務(wù)器的內(nèi)存中,以后該JSP頁(yè)面再提出請(qǐng)求時(shí),就不需要重新編譯,至到該頁(yè)面被修改或Web應(yīng)用程序重新啟動(dòng)。當(dāng)需要銷毀某個(gè)文件時(shí),就調(diào)用Destroy()方法來(lái)釋放相應(yīng)的資源。圖2.1所示為JSP的工作原理圖圖2.1JSP的工作原理(2)JSP語(yǔ)法1)常用JSP命令:a.頁(yè)面指令,主要用來(lái)指定當(dāng)前JSP頁(yè)面的屬性。b.<jsp:include>允許包含其他動(dòng)態(tài)和靜態(tài)文件。c.<jsp:forward>將一個(gè)JSP文件傳給另一個(gè)JSP文件。d.<jsp:plugin>可以通過(guò)Java插件在瀏覽器中運(yùn)行JavaApplet。e.<jsp:useBean>是用來(lái)訪問(wèn)JavaBean的動(dòng)作標(biāo)記。當(dāng)JSP頁(yè)面使用<jsp:useBean>標(biāo)記時(shí),表示將引用一個(gè)JavaBean的實(shí)例。JavaBean標(biāo)記的語(yǔ)法格式如下:<jsp:useBeanid=“實(shí)例名稱”scope=“范圍”class=“類名”type=“類的類型”beanName=“JavaBean的名稱/>。2)JSP內(nèi)置對(duì)象:為了方便WEB頁(yè)面開(kāi)發(fā),JSP提供了一組內(nèi)置對(duì)象,這些內(nèi)置對(duì)象可以不經(jīng)顯式的聲明而在程序中直接使用,JSP的主要內(nèi)置對(duì)象有Request、Response、Out、Session等。通過(guò)這組內(nèi)置對(duì)象,可以實(shí)現(xiàn)頁(yè)面的一些請(qǐng)求輸入、輸出功能,還可實(shí)現(xiàn)數(shù)據(jù)在頁(yè)面之間的交互。a.Request對(duì)象:主要功能是接受客戶端以HTTP方式傳送的數(shù)據(jù),實(shí)現(xiàn)與客戶交互的功能。一般最常用的是它的getParameter(Stringname)方法來(lái)獲取傳遞的參數(shù)。b.Response對(duì)象:主要功能是用來(lái)對(duì)客戶的請(qǐng)求做出響應(yīng),與Request對(duì)象對(duì)應(yīng)。Response對(duì)象用于將服務(wù)器的數(shù)據(jù)發(fā)送到客戶端,輸出的數(shù)據(jù)可以是各種數(shù)據(jù)類型,甚至是文件。一般經(jīng)常用到的是它的sendRedirect(URLurl)方法來(lái)重定向當(dāng)前用戶訪問(wèn)的url。c.Out對(duì)象:主要功能是用于動(dòng)態(tài)地向客戶端輸出數(shù)據(jù)信息,主要作用是在Web瀏覽器內(nèi)輸出信息。在數(shù)據(jù)的輸出方面會(huì)經(jīng)常用到它的rintln(parameter)方法,該方法也是進(jìn)行糾錯(cuò)處理時(shí)一個(gè)比較有效的輸出方法。d.Session對(duì)象:主要功能用來(lái)保存每個(gè)用戶在會(huì)話期間的數(shù)據(jù)信息,這樣就方便了會(huì)話處理工作。當(dāng)用戶登陸網(wǎng)站時(shí),系統(tǒng)將為其生成一個(gè)session對(duì)象,用以記錄該用戶的個(gè)人信息,當(dāng)用戶退出網(wǎng)站時(shí),該session對(duì)象將會(huì)自動(dòng)注銷。Session對(duì)象可以綁定若干個(gè)人的信息或java對(duì)象。2.2.2JavaScript簡(jiǎn)介JavaScript是一種基于對(duì)象和事件驅(qū)動(dòng)且具有相對(duì)安全性的客戶端腳本語(yǔ)言,也是一種廣泛應(yīng)用于客戶端WEB開(kāi)發(fā)的腳本語(yǔ)言,常用來(lái)給HTML網(wǎng)頁(yè)添加動(dòng)態(tài)功能,比如響應(yīng)用戶的各種操作。它最初是由Netscape公司的BrendanEich設(shè)計(jì),是一種動(dòng)態(tài)、弱類型、基于原型的語(yǔ)言,內(nèi)置支持類。JavaScript是Sun公司的注冊(cè)商標(biāo)。完整的JavaScript實(shí)現(xiàn)包含三個(gè)部分:ECMAScript,字節(jié)順序記號(hào),文檔對(duì)象模型。JavaScript是為了適應(yīng)動(dòng)態(tài)網(wǎng)頁(yè)制作的需要而誕生的一種編程語(yǔ)言,現(xiàn)今廣泛地應(yīng)用于Internet網(wǎng)頁(yè)制作。JavaScript是由Netscape公司開(kāi)發(fā)的一種腳本語(yǔ)言(scriptinglanguage),或者稱為描述語(yǔ)言。JavaScript的出現(xiàn)使得用戶和網(wǎng)頁(yè)之間實(shí)現(xiàn)了一種動(dòng)態(tài)的、實(shí)時(shí)性的、交互性的關(guān)系,使得網(wǎng)頁(yè)包含了更多活躍的元素和更加精彩的內(nèi)容。在HTML基礎(chǔ)上,使用JavaScript可以開(kāi)發(fā)交互式Web網(wǎng)頁(yè)。JavaScript由于短小精悍,且是在客戶機(jī)上執(zhí)行的,因此大大提高了網(wǎng)頁(yè)的交互能力和瀏覽速度。JavaScript加入網(wǎng)頁(yè)的兩種方法:(1)直接加入HTML文檔這是最常用的方法,大部分含有JavaScript的網(wǎng)頁(yè)都采用這種方法,如:<scriptlanguage="Javascript"><!--document.writeln("這是Javascript!采用直接插入的方法!");//-Javascript結(jié)束--></script><scriptlanguage="Javascript”>用來(lái)告訴瀏覽器這是用JavaScript編寫的程序,需要調(diào)動(dòng)相應(yīng)的解釋程序進(jìn)行解釋。HTML的注釋標(biāo)簽<!--和-->,用來(lái)去掉瀏覽器所不能識(shí)別的JavaScript源代碼,這對(duì)于不支持Javascript語(yǔ)言的瀏覽器來(lái)說(shuō)是很有用的。//-Javascript結(jié)束:雙斜杠表示JavaScript的注釋部分,即從//開(kāi)始到行尾的字符都被忽略。<script></script>的位置并不是固定的,可以包含在<head></head>或<body></body>中的任何位置。(2)引用方式若項(xiàng)目已經(jīng)有一個(gè)JavaScript源文件(以js為擴(kuò)展名),則可以采用這種引用的方式,以提高程序代碼的利用率。其格式如下:<scriptsrc=urllanguage="Javascript"></script>其中url就是.js文件的地址。同樣,這樣的語(yǔ)句可以放在HTML文檔頭部或主體的任何部分。如果要實(shí)現(xiàn)“直接插入方式”中的效果,可以首先創(chuàng)建一個(gè)JavaScript源代碼文件“script.js”,其內(nèi)容如下:document.writeln("這是Javascript!采用直接插入的方法!")。在網(wǎng)頁(yè)中可以這樣調(diào)用程序:<scriptsrc=”script.js”language=”Javascript”></script>2.2.3MVC框架MVC是一種架構(gòu)設(shè)計(jì)模式,該模式主要應(yīng)用于圖形化用戶界面(GUI)應(yīng)用程序。MVC即Model-View-Controller由模型(Model)、視圖(View)、控制器(Controller)三部分組成,M代表業(yè)務(wù)邏輯,V代表視圖,C代表控制層。模型(Model)層:是企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則,它具有最多的處理任務(wù)。一個(gè)軟件實(shí)現(xiàn)了什么功能,它該如何實(shí)現(xiàn)功能,以及這些功能之間的聯(lián)系都是在模型層進(jìn)行處理的。模型層是一個(gè)軟件的核心,對(duì)于軟件功能的好壞、完善,業(yè)務(wù)層起到了決定性的作用。視圖(View)層:是用戶所能看到的并與之交互的界面。在J2EE技術(shù)中,常用的表示層技術(shù)主要由JSP、JSF。視圖向用戶顯示相關(guān)的數(shù)據(jù),并能接受用戶的輸入數(shù)據(jù),但是它不能進(jìn)行實(shí)際的業(yè)務(wù)處理。視圖還可以接受模型發(fā)出來(lái)的數(shù)據(jù)更新事件,從而對(duì)用戶界面進(jìn)行同步更新??刂疲–ontroller)層:接受用戶的輸入并調(diào)用模型和視圖去實(shí)現(xiàn)用戶的需求??刂茖雍苌僮雠c業(yè)務(wù)有關(guān)的事情,比如登錄驗(yàn)證。所以,在軟件的分層結(jié)構(gòu)設(shè)計(jì)中,控制層的代碼量幾乎是最少的,但它的作用也是非常重要的。MVC框架具有耦合性低、重用性高、生命周期成本低、部署快、可維護(hù)性高等特點(diǎn)。視圖層和業(yè)務(wù)層分離,就允許更改視圖層的代碼而不需要重新編譯模型和控制器的代碼,同樣,一個(gè)應(yīng)用的業(yè)務(wù)流程或業(yè)務(wù)規(guī)則改變后就只需要改動(dòng)MVC模型層。因?yàn)槟P汀⒁晥D和控制的分離,使得很容易改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。MVC使得開(kāi)發(fā)和維護(hù)用戶接口的技術(shù)含量降低。分離視圖層和業(yè)務(wù)層也使WEB應(yīng)用更易于維護(hù)和修改。模型層、視圖層、控制層三者之間的關(guān)系和各自的功能如圖2.2所示:圖2.2MVC模式關(guān)系和功能圖2.2.4SSH框架SSH為Struts+Spring+Hibernate的一個(gè)集成框架,是目前比較流行的一種web應(yīng)用程序的開(kāi)源框架。其中,Struts進(jìn)行流程控制,Spring進(jìn)行業(yè)務(wù)流轉(zhuǎn),Hibernate進(jìn)行數(shù)據(jù)庫(kù)操作的封裝。Struts的MVC設(shè)計(jì)模式使我們的邏輯變得很清晰,Spring的IOC和AOP使我們的產(chǎn)品最大限度上解耦,Hibernate對(duì)實(shí)體對(duì)象持久化。典型的J2EE三層結(jié)構(gòu)為表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)服務(wù)層,三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問(wèn)以及合法性校驗(yàn)等工作放在業(yè)務(wù)邏輯層處理。客戶端不直接與數(shù)據(jù)庫(kù)交互,而是通過(guò)組件與業(yè)務(wù)邏輯層建立連接,再由業(yè)務(wù)邏輯層與數(shù)據(jù)庫(kù)交互。表現(xiàn)層采用的是傳統(tǒng)的JSP技術(shù),業(yè)務(wù)邏輯層采用的是Spring+Hibernate,為了將控制層與業(yè)務(wù)邏輯層分離,又細(xì)分為:1)Action層(web層),即MVC模式中的controller,負(fù)責(zé)控制業(yè)務(wù)邏輯層與表現(xiàn)層的交互,調(diào)用業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)返回給表現(xiàn)層作組織表現(xiàn),系統(tǒng)在這采用Struts。2)Service層,即業(yè)務(wù)邏輯層,負(fù)責(zé)實(shí)現(xiàn)業(yè)務(wù)邏輯,業(yè)務(wù)邏輯以DAO層為基礎(chǔ),通過(guò)對(duì)DAO組件的模式包裝,完成系統(tǒng)要求的業(yè)務(wù)邏輯。3)DAO層,負(fù)責(zé)與持久化對(duì)橡交互,該層封裝了數(shù)據(jù)的增、刪、改、查的操作。4)Entity層,持久化對(duì)象,通過(guò)實(shí)體關(guān)系映射的工具將關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù)映射成對(duì)象,方便的實(shí)現(xiàn)以面向?qū)ο蟮姆绞讲僮鲾?shù)據(jù)庫(kù),系統(tǒng)在這采用Hibernate。Spring的作用貫穿整個(gè)業(yè)務(wù)邏輯層,將Action層、Service層、DAO層以及Entity層無(wú)縫整合,其數(shù)據(jù)服務(wù)層用來(lái)存放數(shù)據(jù)。SSH框架中Struts、Spring、Hibernate的介紹:(1)StrutsStruts對(duì)Model、View和Controller都提供了對(duì)應(yīng)的組件。ActionServlet,這個(gè)類是Struts的核心控制器,負(fù)責(zé)攔截來(lái)自用戶的需求。Action,這個(gè)類由用戶提供,負(fù)責(zé)接收來(lái)自ActionServlet的請(qǐng)求,并根據(jù)該請(qǐng)求來(lái)調(diào)用模型的業(yè)務(wù)邏輯方法來(lái)處理請(qǐng)求,并將結(jié)果返回給JSP頁(yè)面顯示。Model部分由ActionForm和JavaBean組成,其中ActionForm用于將用戶的請(qǐng)求參數(shù)封裝成ActionForm對(duì)象,該對(duì)象被ActionServlet轉(zhuǎn)發(fā)給Action,Action根據(jù)ActionForm里面的請(qǐng)求參數(shù)處理用戶的請(qǐng)求。JavaBean則封裝了底層的業(yè)務(wù)邏輯,包括數(shù)據(jù)庫(kù)訪問(wèn)。View部分該部分采用JSP技術(shù)實(shí)現(xiàn)。Struts提供了豐富的標(biāo)簽庫(kù),使用標(biāo)簽庫(kù)可以減少腳本的使用。Controller組件Controller組件有兩個(gè)部分組成:系統(tǒng)核心控制器、業(yè)務(wù)邏輯控制器。系統(tǒng)核心控制器,對(duì)應(yīng)ActionServlet,該控制器繼承了HttpServlet類,該控制器負(fù)責(zé)攔截所有的HTTP請(qǐng)求,然后根據(jù)用戶請(qǐng)求決定是否要傳給業(yè)務(wù)邏輯控制器。業(yè)務(wù)邏輯控制器,負(fù)責(zé)處理用戶請(qǐng)求,其本身不具備處理能力,而是調(diào)用Model來(lái)實(shí)現(xiàn)處理,對(duì)應(yīng)Action層。Struts配置文件的核心代碼:<struts><!--用戶配置--> <packagename="user"namespace="/"extends="access"> <actionname="userAction_*"method="{1}"class="cn.hr.hrmps.struts2.action.UserAction"> <resultname="userList">WEB-INF/user/list.jsp</result> <resultname="user">WEB-INF/user/view.jsp</result> <resultname="toAdd">WEB-INF/user/add.jsp</result> <resultname="toEdit">WEB-INF/user/edit.jsp</result> </action> </package></struts>(2)SpringSpring是一個(gè)開(kāi)源框架,是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架,它是由RodJohnson創(chuàng)建,它的創(chuàng)建是為了解決企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性。Spring使用基本的JavaBean來(lái)完成以前只能有EJB完成的工作,并提供了更多的企業(yè)應(yīng)用功能,且Spring的用途不僅僅限于服務(wù)器端的開(kāi)發(fā)。Spring具有簡(jiǎn)單性、可測(cè)試性和耦合性等特點(diǎn),任何Java應(yīng)用都可從中受益??刂品崔D(zhuǎn)(InversionofControl,縮寫IoC),也叫做依賴注入(DI),是一個(gè)重要的面向?qū)ο缶幊痰姆▌t,通過(guò)這種技術(shù)可以削減程序的耦合性,它也是輕量級(jí)的Spring框架的核心。應(yīng)用控制反轉(zhuǎn),對(duì)象在被創(chuàng)建的時(shí)候,由一個(gè)外界實(shí)體調(diào)控系統(tǒng)內(nèi)的所有對(duì)象,將其所依賴的對(duì)象的應(yīng)用,傳遞給它,也可說(shuō)是,依賴被注入到對(duì)象中。所以,控制反轉(zhuǎn)是關(guān)于一個(gè)對(duì)象如何獲取它所依賴對(duì)象的引用,這個(gè)責(zé)任的反轉(zhuǎn)。面向切面是Spring提供的面向切面編程的一種技術(shù),允許通過(guò)分離應(yīng)用的業(yè)務(wù)邏輯和系統(tǒng)服務(wù)(如事務(wù)管理(Transaction))進(jìn)行內(nèi)聚性的開(kāi)發(fā)。Spring可以將簡(jiǎn)單的組件配置、組合成復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對(duì)象以聲明的方式被組合,典型的是在一個(gè)XML文件中。Spring還提供了事務(wù)管理、持久化框架集成等基礎(chǔ)功能將應(yīng)用邏輯的開(kāi)發(fā)留給了程序員。Spring的這些特征使程序員可以編寫更干凈、更可管理、且易于測(cè)試的代碼。SSH三層框架中Hibernate交由Spring管理,Spring配置文件的核心內(nèi)容:<!--定義事務(wù)管理器--> <beanid="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <propertyname="dataSource"ref="dataSource"></property> </bean> <!--定義事務(wù)通知--> <tx:adviceid="txAdvice"transaction-manager="transactionManager"> <!--定義方法的過(guò)濾規(guī)則--> <tx:attributes> <!--所有方法都使用事務(wù)--> <tx:methodname="save*"propagation="REQUIRED"/> <!--定義所有g(shù)et開(kāi)頭的方法都是只讀的--> <tx:methodname="delete*"propagation="REQUIRED"/> <!--所有方法都使用事務(wù)--> <tx:methodname="get*"propagation="REQUIRED"/> <!--定義所有g(shù)et開(kāi)頭的方法都是只讀的--> <tx:methodname="set*"propagation="REQUIRED"/> </tx:attributes> </tx:advice> <beanid="UserInfoDAO"class="com.hr.dao.UserInfoDAO"> <propertyname="sessionFactory"> <refbean="sessionFactory"/> </property> </bean> <beanid="UserInfoAction"class="com.hr.action.UserInfoAction"> <propertyname="userinfodao"> <refbean="UserInfoDAO"/> </property></bean>(3)HibernateHibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了輕量級(jí)的對(duì)象封裝,使得程序員能夠使用對(duì)象編程思維隨心所欲的來(lái)操縱數(shù)據(jù)庫(kù)。Hibernate可以應(yīng)用在使用JDBC的任何場(chǎng)合,既可以在Java客戶端使用,也可以在Servlet/JSP的WEB應(yīng)用中使用。Hibernate的核心接口共有五個(gè),分別是Session、SessionFactory、Transaction、Query、Configuration,這五個(gè)接口在任何開(kāi)發(fā)中都會(huì)用到。通過(guò)使用這些接口,可以對(duì)持久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面是對(duì)五個(gè)核心接口的介紹:1)Session接口:負(fù)責(zé)執(zhí)行被持久化對(duì)象的CRUD操作,CRUD操作是完成與數(shù)據(jù)庫(kù)的交流,包含了常見(jiàn)的SQL語(yǔ)句。Session對(duì)象是非線程安全的,且Hibernate的session不同于JSP應(yīng)用中的HttpSession。2)SessionFactory接口:負(fù)責(zé)初始化Hibernate,它充當(dāng)數(shù)據(jù)存儲(chǔ)源的代理,并負(fù)責(zé)創(chuàng)建Session對(duì)象。這里用到了工廠模式,通常一個(gè)項(xiàng)目只需要一個(gè)SessionFactory,當(dāng)要操作多個(gè)數(shù)據(jù)庫(kù)時(shí),可為每個(gè)數(shù)據(jù)庫(kù)指定一個(gè)SessionFactory。3)Transaction接口:負(fù)責(zé)事務(wù)相關(guān)的操作,它是可選的,開(kāi)發(fā)人員可以設(shè)計(jì)編寫自己的底層事務(wù)處理代碼。4)Query接口:負(fù)責(zé)執(zhí)行各種數(shù)據(jù)庫(kù)的查詢,它可以使用HQL語(yǔ)言和SQL語(yǔ)句兩種表達(dá)方式。5)Configuration接口:負(fù)責(zé)配置并啟動(dòng)Hibernate,創(chuàng)建SessionFactory對(duì)象。在Hibernate啟動(dòng)過(guò)程中,Configuration類的實(shí)例首先定位映射文檔的位置并讀取配置。然后創(chuàng)建SessionFactory對(duì)象。
3.系統(tǒng)需求分析3.1需求描述當(dāng)前大量企業(yè)的員工的管理尚處于手工作業(yè)階段,不但效率低下,且常因?yàn)楣芾淼牟簧鞫霈F(xiàn)紕漏。傳統(tǒng)的依賴手工的方式記錄,效率較低,無(wú)法實(shí)現(xiàn)對(duì)數(shù)據(jù)的系統(tǒng)規(guī)范的管理,查詢困難、數(shù)據(jù)準(zhǔn)確性、安全性較差。為了滿足企業(yè)的需求,現(xiàn)設(shè)計(jì)一人力資源管理系統(tǒng),來(lái)對(duì)人力資源數(shù)據(jù)進(jìn)行管理,幫助企業(yè)達(dá)到員工管理的辦公自動(dòng)化,節(jié)約管理成本,大幅度提高人力資源數(shù)據(jù)管理的效率。在國(guó)內(nèi),各個(gè)企業(yè)原有的手工管理方式現(xiàn)已不適應(yīng)形式的發(fā)展,為實(shí)現(xiàn)從靜態(tài)管理到動(dòng)態(tài)管理的轉(zhuǎn)變,樹(shù)立企業(yè)的新形象,必須應(yīng)用計(jì)算機(jī)來(lái)輔助管理,從而全面實(shí)行信息化管理,能夠?qū)T工的信息進(jìn)行動(dòng)態(tài)監(jiān)控,提升企業(yè)管理的檔次和水平。人力資源管理系統(tǒng)的建設(shè)是企業(yè)適應(yīng)市場(chǎng)形勢(shì),新式管理的必由之路。3.1.1系統(tǒng)界面設(shè)計(jì)及操作風(fēng)格的需求安博人力資源管理系統(tǒng)頁(yè)面設(shè)計(jì)應(yīng)與企業(yè)的結(jié)構(gòu)、文化風(fēng)格保持一致,采用清新穩(wěn)重的暗灰色格局,以簡(jiǎn)潔、明了的引導(dǎo)方式,相對(duì)統(tǒng)一的網(wǎng)站風(fēng)格和布局,突出網(wǎng)站的重點(diǎn);在網(wǎng)站設(shè)計(jì)實(shí)施風(fēng)格上堅(jiān)持美觀大方、莊重樸實(shí)的風(fēng)格,界面具有親和力,充分展示安博人力資源管理系統(tǒng)的風(fēng)采;切實(shí)把安博人力資源管理系統(tǒng)的門戶網(wǎng)站建設(shè)成為“公司形象展示的窗口、信息發(fā)布的載體、政務(wù)信息公開(kāi)的平臺(tái)、交流互動(dòng)的橋梁、公共服務(wù)的門戶”?!鞍膊┤肆Y源管理系統(tǒng)的門戶網(wǎng)站”在整個(gè)版面、欄目模塊布局、色彩、文字等方面的設(shè)計(jì),使之更美觀、簡(jiǎn)潔、實(shí)用。易用性:操作界面與操作風(fēng)格盡可能與安博人力資源系統(tǒng)系統(tǒng)保持一致,使用風(fēng)格同樣的菜單及正文區(qū)設(shè)計(jì),菜單操作方式以及信息提示位置盡可能相同,以便于操作人員盡快熟悉本系統(tǒng)功能。3.1.2系統(tǒng)功能描述基于SSH框架的人力資源管理系統(tǒng)主要包括:系統(tǒng)管理、檔案管理、合同管理三個(gè)子系統(tǒng)。系統(tǒng)管理子系統(tǒng)主要包括登錄、注冊(cè)、用戶的添加、刪除、修改、查詢,權(quán)限的添加、回收、查詢,角色的賦予、回收、查詢;檔案管理子系統(tǒng)主要包括檔案的建立、刪除、修改、查詢,物資報(bào)表打印,生日提醒;合同管理子系統(tǒng)主要包括合同的建立、刪除、查詢、修改,合同到期提醒。安博人力資源管理系統(tǒng)的系統(tǒng)角色分為4種:人力資源經(jīng)理、人力資源專員、信息錄入員、系統(tǒng)管理員(admin_role)。如圖3.1所示為安博人力資源管理平臺(tái)的系統(tǒng)管理子系統(tǒng)的用例圖,它反映了該子系統(tǒng)的設(shè)計(jì)應(yīng)該實(shí)現(xiàn)哪些功能。圖3.1系統(tǒng)管理子系統(tǒng)的用例圖如圖3.2所示為安博人力資源管理平臺(tái)的整個(gè)系統(tǒng)的實(shí)體類圖,它反映了系統(tǒng)的各實(shí)體之間的關(guān)聯(lián)和依賴關(guān)系。圖3.2系統(tǒng)實(shí)體類圖3.1.3系統(tǒng)運(yùn)行環(huán)境(1)硬件環(huán)境:CPU:Intel(R)Pentium(R)DualT23901.86GHz內(nèi)存:2G硬盤:250G顯示:ATI獨(dú)立顯卡(2)軟件環(huán)境:操作系統(tǒng):WindowsXPProfessionalSP3數(shù)據(jù)庫(kù):SQLserver2005瀏覽器:MicrosoftInternetExplorer相關(guān)應(yīng)用軟件:Tomcat6.0,Dreamweaver8、PowerDesigner15.1、RationalRose開(kāi)發(fā)平臺(tái):MyEclipse8.53.2系統(tǒng)的一般性規(guī)定3.2.1對(duì)性能的規(guī)定(1)安全性:系統(tǒng)應(yīng)該具有較強(qiáng)的安全性,對(duì)數(shù)據(jù)和相關(guān)的信息有較強(qiáng)的保護(hù)性。(2)穩(wěn)定性:系統(tǒng)應(yīng)該在一定環(huán)境下穩(wěn)定運(yùn)行。(3)兼容性:系統(tǒng)能夠與其它軟硬件有良好的兼容性(4)實(shí)用性:考慮到要盡量滿足業(yè)務(wù)功能需求的前提下,又要適應(yīng)各業(yè)務(wù)角色的工作特點(diǎn),該系統(tǒng)做到簡(jiǎn)單、實(shí)用、人性化,實(shí)現(xiàn)了統(tǒng)一身份和人力資源管理、統(tǒng)一內(nèi)容管理、個(gè)性化界面和內(nèi)容定制。(5)可維護(hù)性:系統(tǒng)設(shè)計(jì)應(yīng)標(biāo)準(zhǔn)化、規(guī)范化,按照分層設(shè)計(jì),軟件構(gòu)件化實(shí)現(xiàn)。一是使業(yè)務(wù)與實(shí)現(xiàn)分離,邏輯與數(shù)據(jù)分離;二是以統(tǒng)一的服務(wù)接口規(guī)范為核心,使用開(kāi)放標(biāo)準(zhǔn);三是構(gòu)件語(yǔ)意描述形式化;四是提煉封裝構(gòu)件規(guī)范化。(6)可擴(kuò)展性:考慮到網(wǎng)上業(yè)務(wù)建設(shè)是一個(gè)循序漸進(jìn)、不斷擴(kuò)充的過(guò)程,本期項(xiàng)目建設(shè)將搭建底層框架基礎(chǔ),以便于未來(lái)采用積木式結(jié)構(gòu),整體構(gòu)架可以與原有系統(tǒng)進(jìn)行無(wú)縫連接,為今后系統(tǒng)擴(kuò)展和集成留有擴(kuò)充余量。(7)可移植性:選擇開(kāi)放的應(yīng)用平臺(tái),建設(shè)一套與平臺(tái)無(wú)關(guān),以統(tǒng)一的服務(wù)接口規(guī)范和與各種數(shù)據(jù)庫(kù)相連的應(yīng)用組件。3.2.2對(duì)時(shí)間特性的規(guī)定人力資源管理系統(tǒng)的查詢時(shí)間取決于服務(wù)器和Web瀏覽器之間的連接寬帶以及同時(shí)訪問(wèn)系統(tǒng)的客戶端的數(shù)量,系統(tǒng)的實(shí)現(xiàn)應(yīng)以快速響應(yīng)管理人員的請(qǐng)求為優(yōu)先目標(biāo)。3.2.3輸入輸出要求輸入用戶通過(guò)WEB頁(yè)面將各種用戶信息數(shù)據(jù)輸入,導(dǎo)入數(shù)據(jù)或者提交查詢、修改、刪除請(qǐng)求,系統(tǒng)將數(shù)據(jù)的存儲(chǔ)格式為數(shù)據(jù)庫(kù)專用格式。輸出系統(tǒng)通過(guò)調(diào)用數(shù)據(jù)庫(kù)的信息將結(jié)果數(shù)據(jù)顯示在Web瀏覽器的HTML頁(yè)面上,并能夠根據(jù)業(yè)務(wù)的需要生成指定的報(bào)表或數(shù)據(jù)的匯總統(tǒng)計(jì)結(jié)過(guò)以及進(jìn)行打印工作。3.2.4數(shù)據(jù)管理能力要求(1)相應(yīng)的數(shù)據(jù)訪問(wèn)控制措施(2)登錄時(shí)用戶的身份鑒別與權(quán)限控制(3)數(shù)據(jù)的完整性保護(hù)措施。3.2.5網(wǎng)絡(luò)安全要求(1)通過(guò)設(shè)置安全級(jí)別權(quán)限來(lái)增強(qiáng)系統(tǒng)的安全性。(2)通過(guò)設(shè)置用戶密碼的復(fù)雜程度,來(lái)增強(qiáng)系統(tǒng)的安全;若密碼被盜,應(yīng)快速告知管理員注銷該用戶。(3)對(duì)來(lái)自內(nèi)部的攻擊則抵御的能力不強(qiáng),只能關(guān)閉服務(wù)器。
4.系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)4.1系統(tǒng)層次劃分在該系統(tǒng)中,系統(tǒng)共分為5層,分別為表現(xiàn)層、控制層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)層、數(shù)據(jù)層,如圖4.1所示。圖4.1系統(tǒng)層次劃分圖在表現(xiàn)層中,系統(tǒng)主要采用了JSP技術(shù),將Action傳遞過(guò)來(lái)的數(shù)據(jù)封裝在ActionForm對(duì)象中,該對(duì)象被ActionServlet轉(zhuǎn)發(fā)給Action,Action根據(jù)ActionForm里面的請(qǐng)求參數(shù)來(lái)處理用戶的請(qǐng)求,進(jìn)行一定的處理之后,再反饋給前臺(tái)頁(yè)面。控制層的作用主要是控制協(xié)調(diào)系統(tǒng)中各模塊的執(zhí)行流程,在控制層中,Struts中的核心控制器ActionServlet控制系統(tǒng)流程轉(zhuǎn)向。業(yè)務(wù)邏輯層,主要采用Javabean,來(lái)實(shí)現(xiàn)對(duì)具體系統(tǒng)的業(yè)務(wù)邏輯處理。數(shù)據(jù)訪問(wèn)層,主要是采用Hibernate持久化方案,通過(guò)Hibernate來(lái)對(duì)數(shù)據(jù)層進(jìn)行封裝操作,這樣了方便于在不同的數(shù)據(jù)庫(kù)系統(tǒng)間移植。Hibernate對(duì)數(shù)據(jù)的持久化操作實(shí)現(xiàn)了以面向?qū)ο蟮乃枷雭?lái)操作數(shù)據(jù)庫(kù)。數(shù)據(jù)層存放系統(tǒng)中的數(shù)據(jù),本系統(tǒng)采用MySQL數(shù)據(jù)庫(kù)。4.2數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)數(shù)據(jù)庫(kù)是存放數(shù)據(jù)的倉(cāng)庫(kù),也即是數(shù)據(jù)按照一定的規(guī)律存放在計(jì)算機(jī)中,它是信息系統(tǒng)的核心和基礎(chǔ),是信息系統(tǒng)開(kāi)發(fā)和建設(shè)的重要組成部分,把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來(lái),提供存儲(chǔ)、維護(hù)、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時(shí)、準(zhǔn)確地從數(shù)據(jù)庫(kù)中獲得所需的信息。數(shù)據(jù)庫(kù)的設(shè)計(jì)是信息資源管理最有效的手段,數(shù)據(jù)庫(kù)設(shè)計(jì)就是根據(jù)具體的應(yīng)用環(huán)境,構(gòu)造合理數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),有效存儲(chǔ)數(shù)據(jù),滿足用戶實(shí)際需求和系統(tǒng)應(yīng)用處理要求。在動(dòng)態(tài)網(wǎng)站設(shè)計(jì)中數(shù)據(jù)庫(kù)的重要性不言而喻。合理地設(shè)計(jì)數(shù)據(jù)庫(kù)結(jié)構(gòu)可以提高系統(tǒng)運(yùn)行的效率。如果設(shè)計(jì)不當(dāng),查詢起來(lái)就非常吃力,系統(tǒng)的性能也會(huì)受到影響。數(shù)據(jù)庫(kù)設(shè)計(jì)實(shí)際上就是對(duì)項(xiàng)目設(shè)計(jì)的一個(gè)整體規(guī)劃,因?yàn)閿?shù)據(jù)庫(kù)的設(shè)計(jì)要從全局的角度考慮,而且數(shù)據(jù)庫(kù)中表的結(jié)構(gòu)都是與程序緊密相關(guān)的,如果數(shù)據(jù)庫(kù)設(shè)計(jì)如果沒(méi)有到位,程序的設(shè)計(jì)也會(huì)受到一定的影響。數(shù)據(jù)庫(kù)的設(shè)計(jì)一般主要包括兩個(gè)部分:(1)對(duì)具體的網(wǎng)站系統(tǒng)的設(shè)計(jì)進(jìn)行需求分析,確定需在數(shù)據(jù)庫(kù)中保存的信息。(2)確定每個(gè)表的字段屬性。本系統(tǒng)采用的是MySQL數(shù)據(jù)庫(kù),系統(tǒng)數(shù)據(jù)庫(kù)名為hrmps,根據(jù)系統(tǒng)的設(shè)計(jì)和業(yè)務(wù)邏輯的分析,數(shù)據(jù)庫(kù)HRMP中包括12個(gè)數(shù)據(jù)表。本系統(tǒng)所用的數(shù)據(jù)庫(kù)表有:(1)user用戶表(2)role角色表(3)privilege權(quán)限表(4)user_role賦予角色表(5)role_privilege賦予權(quán)限表(6)archive檔案表(7)work工作經(jīng)歷表(8)family家庭關(guān)系表(9)study學(xué)習(xí)經(jīng)歷表(10)contract合同表(11)application應(yīng)聘信息表(12)unit單位表表4.1user(用戶)表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度標(biāo)識(shí)主鍵允許空說(shuō)明1userIdint20是是否用戶編號(hào)(自增長(zhǎng))2birthdaydatetime20是是出生日期3educationvarchar50是學(xué)歷4interestvarchar100是興趣5loginNamevarchar50是登錄名6loginPwdvarchar50是登錄密碼7sexvarchar10是性別8telephonevarchar50是電話9remarkvarchar100是備注說(shuō)明,該表用于保存使用該系統(tǒng)的用戶信息表4.2role(角色)表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度標(biāo)識(shí)主鍵允許空說(shuō)明1ridint20是是否角色編號(hào)(自增長(zhǎng))2namevarchar20是是角色名3descritpionvarchar50是角色描述說(shuō)明,該表用于定義該系統(tǒng)的系統(tǒng)角色表4.3privilege(權(quán)限)表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度標(biāo)識(shí)主鍵允許空說(shuō)明1pidint20是是否權(quán)限編號(hào)(自增長(zhǎng))2namevarchar50是是權(quán)限名3actionUrlvarchar50是是響應(yīng)地址4descriptionvarchar50是是權(quán)限描述說(shuō)明,該表用于定義系統(tǒng)中不同角色所具有的權(quán)限信息表4.4user_role(賦予角色)表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度標(biāo)識(shí)主鍵允許空說(shuō)明1ridint20是是否角色編號(hào)2uidint20是否用戶編號(hào)說(shuō)明,該表用于定義系統(tǒng)中不同用戶所能分配的角色信息表4.5role_privilege(賦予權(quán)限)表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度標(biāo)識(shí)主鍵允許空說(shuō)明1pidint20是是否權(quán)限編號(hào)2uidint20是否用戶編號(hào)說(shuō)明,該表用于定義系統(tǒng)中不同角色所能賦予的權(quán)限信息表4.6archive(檔案)表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度標(biāo)識(shí)主鍵允許空說(shuō)明1ArchiveIdint20是是否自增長(zhǎng)2UserIdint20是否用戶編號(hào)3Namevarchar50是姓名4NickNamevarchar50是曾用名5Sexvarchar50是性別6Agevarchar50是年齡7MinZuvarchar50是民族8BirthDateDate50是出生日期9NativePlacevarchar50是籍貫10FamilyTypevarchar50是戶籍類別11Weddingvarchar50是婚姻狀況12Degreevarchar50是學(xué)歷13PoliticalFacevarchar50是政治面貌14HealthStatusvarchar50是健康狀況15IdCardvarchar50是身份證號(hào)16HouseAddressvarchar50是家庭住址說(shuō)明,該表用于保存被管理用戶的基本檔案信息表4.7work(工作經(jīng)歷)表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度標(biāo)識(shí)主鍵允許空說(shuō)明1WorkIdint20是是否自增長(zhǎng)2ArchiveIdint20是否檔案編號(hào)3TimeStartDate50是起始時(shí)間4TimeEndDate50是終止時(shí)間5WorkUnitvarchar50是工作單位6UnitNaturevarchar50是單位性質(zhì)7ExtremePositionvarchar50是最高職位說(shuō)明,該表用于保存被管理用戶的工作經(jīng)歷信息表4.8family(家庭關(guān)系)表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度標(biāo)識(shí)主鍵允許空說(shuō)明1FamilyIdint20是是否自增長(zhǎng)2ArchiveIdint20是否檔案編號(hào)3MemberNamevarchar50是家庭成員名4Relativevarchar50是親屬關(guān)系5IdCardvarchar50是身份證號(hào)6PoliticalFacevarchar50是政治面貌7WorkUnitvarchar50是工作單位說(shuō)明,該表用于保存被管理的用戶的家庭關(guān)系信息表4.9study(學(xué)習(xí)經(jīng)歷)表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度標(biāo)識(shí)主鍵允許空說(shuō)明1StudyIdint20是是否自增長(zhǎng)2ArchiveIdint20是否檔案編號(hào)3TimeStartDate50是起始時(shí)間4TimeEndDate50是終止時(shí)間5GraduateSchoolvarchar50是畢業(yè)院校6Degreevarchar50是學(xué)歷7StudyTypevarchar50是學(xué)習(xí)類型說(shuō)明,該表用于保存被管理的用戶的學(xué)習(xí)經(jīng)歷信息表4.10contract(合同)表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度標(biāo)識(shí)主鍵允許空說(shuō)明1ContractIdint20是是否自增長(zhǎng)2UserIdint20是否用戶編號(hào)3ContractNameDate50是合同名稱4ContractTimeDate50是合同期限5TimeStartvarchar50是起始日期6TimeEndvarchar50是終止日期說(shuō)明,該表用于保存被管理的用戶的合同信息表4.11application(應(yīng)聘信息)表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度標(biāo)識(shí)主鍵允許空說(shuō)明1ApplicationIdint20是是否自增長(zhǎng)2ContractIdint20是否合同編號(hào)3Namevarchar50是姓名4Sexvarchar50是性別5MinZuvarchar50是民族6BirthDateDate50是出生日期7PoliticalFacevarchar50是政治面貌8CultivateWayvarchar50是培養(yǎng)方式9IdCardvarchar50是身份證號(hào)碼10Mailvarchar50是電子郵箱11HealthStatusvarchar50是健康狀況12Majorvarchar50是主修專業(yè)13Termvarchar50是學(xué)制14Degreevarchar50是學(xué)歷15HouseAddressvarchar50是家庭住址16PostCode1varchar50是家庭所在地郵編17CurrentAddressvarchar50是現(xiàn)通訊地址18PostCode2varchar50是現(xiàn)通訊地址郵編19PhoneNumbervarchar50是聯(lián)系電話說(shuō)明,該表用于保存被管理的用戶的應(yīng)聘信息表4.12unit(單位)表序號(hào)列名數(shù)據(jù)類型長(zhǎng)度標(biāo)識(shí)主鍵允許空說(shuō)明1UnitIdint20是是否自增長(zhǎng)2ContractIdint20是否合同編號(hào)3UnitNamevarchar50是單位名稱4UnitBetovarchar50是單位隸屬5Contactervarchar50是單位聯(lián)系人6ContactNumbervarchar50是聯(lián)系電話7UnitNaturevarchar50是單位性質(zhì)MailAddressvarchar50是通訊地址PostCode3varchar50是單位所在地郵編DanganAddressvarchar50是檔案轉(zhuǎn)寄地址PostCode4varchar50是轉(zhuǎn)寄地址郵編HukouAddressvarchar50是戶口遷移地址PostCode5varchar50是遷移地址郵編Notevarchar500是備注信息說(shuō)明,該表用于保存被管理的用戶的單位信息4.2.1數(shù)據(jù)庫(kù)的數(shù)據(jù)模型數(shù)據(jù)庫(kù)的數(shù)據(jù)模型是現(xiàn)實(shí)世界中數(shù)據(jù)特征的抽象。數(shù)據(jù)模型應(yīng)該滿足三個(gè)方面的要求:(1)能夠比較真實(shí)的模擬現(xiàn)實(shí)世界(2)容易為人所理解(3)便于計(jì)算機(jī)實(shí)現(xiàn)概念數(shù)據(jù)模型(CDM)也稱信息模型,它以實(shí)體-聯(lián)系(Entity-RalationShip,簡(jiǎn)稱E-R)理論為基礎(chǔ),并對(duì)這一理論進(jìn)行了擴(kuò)充。他從用戶的觀點(diǎn)出發(fā)對(duì)信息進(jìn)行建模,主要用于數(shù)據(jù)庫(kù)的概念級(jí)設(shè)計(jì)。通常人們先將現(xiàn)實(shí)世界抽象為概念世界,然后再將概念世界轉(zhuǎn)為機(jī)器世界。換句話說(shuō),就是先將現(xiàn)實(shí)世界中的客觀對(duì)象抽象為實(shí)體(Entity)和聯(lián)系(Relationship),它并不依賴于具體的計(jì)算機(jī)系統(tǒng)或某個(gè)DBMS系統(tǒng),這種模型就是我們所說(shuō)的CDM,再將它轉(zhuǎn)換為計(jì)算機(jī)上某個(gè)DBNS所支持的數(shù)據(jù)模型,這樣的數(shù)據(jù)模型就是物理數(shù)據(jù)模型,即PDM。物理數(shù)據(jù)模型,簡(jiǎn)稱物理模型,是面向計(jì)算機(jī)物理表示的模型,描述了數(shù)據(jù)在介質(zhì)上的組織結(jié)構(gòu),它不但與具體的DBMS有關(guān),而且還與操作系統(tǒng)和硬件有關(guān)。每一種邏輯數(shù)據(jù)模型在實(shí)現(xiàn)時(shí)都有對(duì)應(yīng)的物理數(shù)據(jù)模型,DBMS為了保證其獨(dú)立性與可移植性,大部分物理數(shù)據(jù)模型的實(shí)現(xiàn)工作由系統(tǒng)自動(dòng)完成,而設(shè)計(jì)者只設(shè)計(jì)索引、聚集等特殊結(jié)構(gòu)。CDM是一組嚴(yán)格定義的數(shù)據(jù)元素的集合,這些模型元素精確地描述了系統(tǒng)的靜態(tài)特性、動(dòng)態(tài)特性以及完整性的約束條件等,其中包括了數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分。(1)數(shù)據(jù)結(jié)構(gòu)表達(dá)為實(shí)體和屬性;(2)數(shù)據(jù)操作表達(dá)為實(shí)體中的記錄的插入、刪除、修改、查詢等操作;(3)完整性約束表達(dá)為數(shù)據(jù)的自身完整性約束(如數(shù)據(jù)類型、檢查、規(guī)則等)和數(shù)據(jù)間的參照完整性約束(如聯(lián)系、繼承聯(lián)系等);實(shí)體(Entity),也稱實(shí)例,對(duì)應(yīng)現(xiàn)實(shí)世界中可區(qū)別于其他對(duì)象的“事件”或“事物”。每個(gè)實(shí)體都有用來(lái)描述實(shí)體特征的一組性質(zhì),稱之為屬性,一個(gè)實(shí)體由若干屬性來(lái)描述。實(shí)體集(EntitySet)是具體相同類型及相同性質(zhì)的實(shí)體的集合。實(shí)體類型(EntityType)是實(shí)體集中每個(gè)實(shí)體所具有的共同性質(zhì)的集合。實(shí)體是實(shí)體類型的一個(gè)實(shí)例在含義明確的情況下,實(shí)體、實(shí)體類型通??梢曰Q使用。實(shí)體類型中的每個(gè)實(shí)體包含唯一的標(biāo)識(shí)它的一個(gè)或一組屬性,這些屬性稱為實(shí)體類型的標(biāo)識(shí)符(Identifier)。數(shù)據(jù)庫(kù)的CDM(概念數(shù)據(jù)模型)和PDM(物理數(shù)據(jù)模型):(1)概念數(shù)據(jù)模型(CDM)圖4.2所示為安博人力資源管理系統(tǒng)的概念數(shù)據(jù)模型,它反映了用戶類型、權(quán)限、用戶、合同、檔案、單位、應(yīng)聘者、工作經(jīng)歷、學(xué)習(xí)經(jīng)歷、家庭關(guān)系實(shí)體之間的實(shí)體-聯(lián)系圖。圖4.2數(shù)據(jù)庫(kù)的概念數(shù)據(jù)模型(2)物理數(shù)據(jù)模型(PDM)圖4.3為安博人力資源管理系統(tǒng)的物理數(shù)據(jù)模型,它反映了用戶類型、權(quán)限、用戶、合同、檔案、單位、應(yīng)聘者、工作經(jīng)歷、學(xué)習(xí)經(jīng)歷、家庭表在數(shù)據(jù)庫(kù)中以某種組織形式來(lái)存儲(chǔ)。圖4.3數(shù)據(jù)庫(kù)的物理數(shù)據(jù)模型4.3系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)4.3.1系統(tǒng)項(xiàng)目的文件夾結(jié)構(gòu)在編寫代碼之前,通常先將框架所需要的文件夾先創(chuàng)建出來(lái)(例如:創(chuàng)建各個(gè)框架層次用到的代碼文件分開(kāi)存放,如entity、dao、service、action等),這樣不但可以方便以后的開(kāi)發(fā)工作,也可以實(shí)現(xiàn)框架的規(guī)范化。在安博人力資源管理系統(tǒng)中,設(shè)計(jì)了如圖4.4所示的項(xiàng)目文件結(jié)構(gòu)圖。圖4.4項(xiàng)目文件結(jié)構(gòu)圖項(xiàng)目目錄結(jié)構(gòu)中的幾個(gè)重要的文件夾:(1)entity:用于存放各數(shù)據(jù)表所對(duì)應(yīng)的類文件。(2)dao:用于存放各種操作數(shù)據(jù)庫(kù)的類及接口文件。(3)service:存放解決業(yè)務(wù)邏輯的類及接口文件。(4)action:用于存放控制業(yè)務(wù)邏輯層和表現(xiàn)層之間數(shù)據(jù)處理的類(5)struts:存放控制類Action和ActionForm類文件。(6)WEB-INF:該目錄用來(lái)存儲(chǔ)與Web應(yīng)用程序相關(guān)的元信息。這些資源可以被Web應(yīng)用程序中的Servlet和JSP頁(yè)面訪問(wèn)。在該目錄下一般存放下面這些內(nèi)容:1)classes目錄:用來(lái)存放Java類文件,包括被編譯后的Servlet文件等。此外,還可以存放一些配置文件,該目錄是Web應(yīng)用程序的上下文類路徑。Java程序在尋找自身引用的其他類文件時(shí),會(huì)搜索該目錄下的Java文件。2)Lib目錄:該目錄用來(lái)存放Web應(yīng)用程序中要應(yīng)用的庫(kù)文件,這些庫(kù)文件打包為jar文件。該目錄也是Web應(yīng)用程序的上下文類路徑。Java程序在尋找自身引用的其他類文件時(shí)也會(huì)搜索該目錄。3)web.xml文件:該文件稱為Web應(yīng)用程序部署描述符,是Web應(yīng)用程序的配置文件,用于在應(yīng)用程序開(kāi)發(fā)人員、部署人員和集成人員之間傳遞配置信息。Web容器啟動(dòng)的時(shí)候,會(huì)使用該文件中的配置內(nèi)容來(lái)加載應(yīng)用程序。web.xml配置文件的核心代碼:<!--配置spring上下文變量--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> <!--也可以寫死路徑: /WEB-INF/classes/applicationContext-*.xml ,可以配置action、service、dao、hibernate四個(gè)文件 --> </context-param> <!--配置spring監(jiān)聽(tīng)器,由監(jiān)聽(tīng)載入Spring的ApplicationContext--> <listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener><filter-mapping><filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern></filter-mapping>4.3.2登錄模塊使用系統(tǒng)的用戶分為4類,即是人力資源經(jīng)理,人力資源專員,信息錄入員,系統(tǒng)管理員(admin_role)。在系統(tǒng)中已經(jīng)注冊(cè)的用戶可以根據(jù)用戶名和密碼登錄系統(tǒng),當(dāng)用戶輸入用戶名、密碼,點(diǎn)擊登陸按鈕,系統(tǒng)會(huì)把用戶名信息、密碼信息和數(shù)據(jù)庫(kù)中的對(duì)應(yīng)的表進(jìn)行信息匹配。匹配成功則很據(jù)不同的用戶所具有的不同權(quán)限進(jìn)入相應(yīng)的管理頁(yè)面,否則給出相應(yīng)提示。系統(tǒng)管理員,是系統(tǒng)的超級(jí)用戶,他可以添加、刪除、修改、查詢用戶,為用戶分配角色、為權(quán)限賦予角色。普通用戶可以使用系統(tǒng)管理員分配的用戶名、密碼登陸系統(tǒng)。具體的登錄的效果圖如圖4.5所示:圖4.5登錄界面表4.13用戶登陸模塊功能實(shí)現(xiàn)頁(yè)面表區(qū)域名稱說(shuō)明對(duì)應(yīng)文件form1form表單method=”post”、action=”login.jsp”loginNametext用戶名loginPwdtext密碼說(shuō)明,該表為用戶登錄時(shí)所提交的頁(yè)面對(duì)應(yīng)表單的內(nèi)容。如圖4.6所示,當(dāng)用戶登陸成功后系統(tǒng)頁(yè)面會(huì)跳轉(zhuǎn)到后臺(tái)管理的主界面圖4.6系統(tǒng)后臺(tái)主界面4.3.3注冊(cè)模塊使用該系統(tǒng)的用戶要完成管理工作需要先注冊(cè),當(dāng)用戶點(diǎn)擊注冊(cè),頁(yè)面跳轉(zhuǎn)到注冊(cè)界面,用戶輸入用戶名、性別、密碼、確認(rèn)密碼、學(xué)歷、電話、興趣愛(ài)好,然后點(diǎn)擊提交,在系統(tǒng)中完成注冊(cè)。當(dāng)用戶不輸入用戶名或密碼,或兩次輸入密碼不一致時(shí),或用戶名已在系統(tǒng)存在時(shí),系統(tǒng)會(huì)自動(dòng)提示且用戶不能進(jìn)行注冊(cè)。若所有填寫信息正確,則注冊(cè)成功,注冊(cè)成功后系統(tǒng)頁(yè)面自動(dòng)跳轉(zhuǎn)到登錄界面。具體的效果圖如圖4.7所示:圖4.7注冊(cè)界面圖4.8注冊(cè)界面圖4.9注冊(cè)界面表4.14用戶登陸模塊功能實(shí)現(xiàn)頁(yè)面表區(qū)域名稱說(shuō)明對(duì)應(yīng)文件form2form表單method=”post”、action=”register.jsp”loginNametext用戶名sextext性別loginpwdtext密碼birthdaydatetime出生日期telephonetext電話interesttext興趣愛(ài)好說(shuō)明,該表為用戶注冊(cè)時(shí)所提交的頁(yè)面對(duì)應(yīng)表單的內(nèi)容。4.3.4系統(tǒng)管理子系統(tǒng)系統(tǒng)管理即系統(tǒng)管理模式,也叫一體化整合管理模式,是以提升核心競(jìng)爭(zhēng)力和整體價(jià)值最大化為目標(biāo),以企業(yè)核心價(jià)值導(dǎo)向和戰(zhàn)略目標(biāo)為核心,對(duì)企業(yè)整體的運(yùn)行模式、運(yùn)行效率和運(yùn)行效益進(jìn)行全面評(píng)估,確立整體全系統(tǒng)的解決方案。系統(tǒng)管理模式的成果不是管理模塊的簡(jiǎn)單相加的解決方案,而是企業(yè)整體與子系統(tǒng)之間、模塊與模塊之間的聯(lián)動(dòng)性、協(xié)調(diào)性、增益性全面解決之道。在安博人力資源管理系統(tǒng)中,若用戶已經(jīng)注冊(cè)或系統(tǒng)管理員已經(jīng)添加了某用戶,該用戶就具有相應(yīng)的角色,同時(shí)該用戶在該角色下被分配了具體的操作系統(tǒng)的權(quán)限。當(dāng)?shù)卿洺晒?,不同用戶能夠進(jìn)行不同的對(duì)用戶信息的操作。系統(tǒng)管理子系統(tǒng)包括三個(gè)模塊:用戶管理模塊、權(quán)限管理模塊、角色管理模塊。系統(tǒng)管理子系統(tǒng)效果圖如圖4.10所示:圖4.10用戶管理主界面(1)用戶管理模塊用戶管理模塊是對(duì)使用安博人力資源管理系統(tǒng)的用戶進(jìn)行管理,系統(tǒng)管理員對(duì)使用該系統(tǒng)的用戶進(jìn)行添加、編輯、刪除、查詢,同時(shí)被賦予相應(yīng)權(quán)限的用戶也可對(duì)用戶進(jìn)行管理。當(dāng)具有相應(yīng)權(quán)限的用戶點(diǎn)擊添加時(shí),系統(tǒng)會(huì)跳轉(zhuǎn)到添加用戶的界面,具體的效果圖如圖4.11所示:圖4.11添加用戶界面用戶添加成功后,系統(tǒng)會(huì)自動(dòng)跳轉(zhuǎn)到用戶管理主界面顯示更新后的用戶列表信息,具體的效果圖如圖4.12所示:圖4.12添加LIUO用戶后的界面當(dāng)具有相應(yīng)權(quán)限的用戶點(diǎn)擊查看某個(gè)用戶的信息時(shí),系統(tǒng)會(huì)跳轉(zhuǎn)到當(dāng)前被查看用戶的信息頁(yè)面,如查看Liang用戶的信息效果圖如圖4.13所示:圖4.13查看Liang用戶的信息界面當(dāng)具有相應(yīng)權(quán)限的用戶點(diǎn)擊編輯某個(gè)用戶的信息時(shí),系統(tǒng)會(huì)跳轉(zhuǎn)到當(dāng)前被編輯用戶的信息頁(yè)面,如編輯Dong用戶的信息效果圖如圖4.14所示:圖4.14編輯用戶信息界面編輯完用戶信息后按確定按鈕后,系統(tǒng)會(huì)自動(dòng)跳轉(zhuǎn)到用戶管理主界面顯示更新后的用戶列表信息,具體的效果圖如圖4.15所示:圖4.15編輯Dong用戶后的信息界面當(dāng)具有相應(yīng)權(quán)限的用戶點(diǎn)擊刪除某個(gè)用戶的信息時(shí),系統(tǒng)會(huì)更新用戶管理主界面的用戶列表信息,如刪除XIAO用戶后用戶列表顯示的效果圖如圖4.1
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度析產(chǎn)協(xié)議范本:知識(shí)產(chǎn)權(quán)分配3篇
- 二零二五年度荒溝水域資源開(kāi)發(fā)承包合作協(xié)議
- 二零二五年度高端醫(yī)療影像設(shè)備租賃與維護(hù)一體化合同2篇
- 2025至2030年中國(guó)網(wǎng)絡(luò)型樓宇對(duì)講系統(tǒng)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)潔身器數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)萬(wàn)能蒸柜爐數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 二零二五年度航空航天零部件研發(fā)聘用合同3篇
- 2025至2030年溢流噴射坯布染色機(jī)項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年圣誕節(jié)工藝禮品項(xiàng)目投資價(jià)值分析報(bào)告
- 2025-2030全球食品安全快速檢測(cè)儀行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 《梅大高速茶陽(yáng)路段“5·1”塌方災(zāi)害調(diào)查評(píng)估報(bào)告》專題警示學(xué)習(xí)
- 2024年09月北京中信銀行北京分行社會(huì)招考(917)筆試歷年參考題庫(kù)附帶答案詳解
- 《大健康解讀》課件
- 2025年度交通運(yùn)輸規(guī)劃外聘專家咨詢協(xié)議3篇
- 2024年公司領(lǐng)導(dǎo)在新年動(dòng)員會(huì)上的講話樣本(3篇)
- 2025年中國(guó)濕度傳感器行業(yè)深度分析、投資前景、趨勢(shì)預(yù)測(cè)報(bào)告(智研咨詢)
- 人教版道德與法治二年級(jí)下冊(cè)《第一單元 讓我試試看》大單元整體教學(xué)設(shè)計(jì)2022課標(biāo)
- 聯(lián)合體三方協(xié)議合同模板
- 2024年3季度青島房地產(chǎn)市場(chǎng)季度簡(jiǎn)報(bào)
- 蘇東坡詞十首
- 2023年天津市文化和旅游局直屬事業(yè)單位招聘考試真題及答案
評(píng)論
0/150
提交評(píng)論