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

正文內(nèi)容

基于struts的人力資源管理系統(tǒng)論文畢業(yè)設(shè)計(編輯修改稿)

2025-07-27 11:47 本頁面
 

【文章內(nèi)容簡介】 的安全性。所有的配置工作都集中在服務(wù)器端且所有客戶端請求都是通過DBMS來訪問數(shù)據(jù)庫,從而大大減少了數(shù)據(jù)直接暴露的風(fēng)險。 JSP的全稱是Java Server Pages,它是SUN推出的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。它在傳統(tǒng)的靜態(tài)頁面文件(*.html,*.htm)中加入JAVA程序片段和JSP標(biāo)記,就構(gòu)成了JSP頁面。JSP具有以下的優(yōu)點:a) 將業(yè)務(wù)層與表示層分離:使用JSP技術(shù),網(wǎng)絡(luò)開發(fā)人員可充分使用HTML來設(shè)計頁面顯示部分(如字體顏色等),并使用JSP指令或者JAVA程序片段來生成網(wǎng)頁上的動態(tài)內(nèi)容;b) 能夠跨平臺:JSP支持絕大部分平臺,包括現(xiàn)在非常流行的LINUX系統(tǒng),應(yīng)用非常廣泛的Apache服務(wù)器也提供了支持JSP的服務(wù);c) 組件的開發(fā)和使用很方便:如ASP的組件是由C++,VB等語言開發(fā)的,并需要注冊才能使用;而JSP的組件是用Java開發(fā)的,可以直接使用;d) 一次編寫,處處運行:作為JAVA開發(fā)平臺的一部分,JSP具有JAVA的所有優(yōu)點,包括Write once , Run everywhere. Tomcat應(yīng)用服務(wù)器目前支持JSP的應(yīng)用服務(wù)器是較多的,Tomcat是其中較為流行的一個Web服務(wù)器,被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的Java產(chǎn)品,可見其在業(yè)界的地位。 Tomcat是一個免費的開源的Serlvet容器,在Tomcat中,應(yīng)用程序的部署很簡單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個文件,并將其解壓。你在瀏覽器中訪問這個應(yīng)用的Jsp時,通常第一次會很慢,因為Tomcat要將Jsp轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問將會很快。Tomcat也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet。Tomcat是一個很好的工具,不僅僅因為其免費,功能強大,更因為其開放性,越來越受到人們的重視。 Struts框架 Struts是一個為開發(fā)基于模型(Model)-視圖(View)-控制器(Controller)(MVC)模式的應(yīng)用架構(gòu)的開源框架,是利用Servlet,JSP和custom tag library構(gòu)建Web應(yīng)用的一項非常有用的技術(shù)。由于Struts能充分滿足應(yīng)用開發(fā)的需求,簡單易用,敏捷迅速。它使用服務(wù)層框架可以將JavaBeans從Jsp/Servlet中分離出來,而使用表現(xiàn)層框架則可以將Jsp中剩余的JavaBeans完全分離,這部分JavaBeans主要負責(zé)顯示相關(guān)信息,一般是通過標(biāo)簽庫(Taglib)實現(xiàn),不同框架有不同自己的標(biāo)簽庫,Struts是應(yīng)用比較廣泛的一種表現(xiàn)層框架. Hibernate框架Hibernate通過持久層的框架將數(shù)據(jù)庫存儲從服務(wù)層中分離出來,它是O/R Mapping的一種實現(xiàn)是目前在JAVA界使用非常廣泛的O/R Mapping的一種實現(xiàn),可以實現(xiàn)關(guān)系型數(shù)據(jù)庫和對象之間的映射。用來開發(fā)數(shù)據(jù)庫系統(tǒng)非常方便,可以將數(shù)據(jù)庫和程序的設(shè)計融合在一起。表現(xiàn)層和服務(wù)層的分離是通過兩種框架達到目的的,剩余的就是持久層框架了,通過持久層的框架將數(shù)據(jù)庫存儲從服務(wù)層中分離出來就是其目的,持久層框架有兩種方向:直接自己編寫JDBC等SQL語句(如Ibatis);使用O/R Mapping技術(shù)實現(xiàn)的Hibernate和JDO技術(shù);當(dāng)然還有EJB中的實體Bean技術(shù)。Hibernate的工作原理是通過文件把值對象和數(shù)據(jù)庫表之間建立起一個映射關(guān)系,這樣,我們只需要通過操作這些值對象和Hibernate提供的一 些基本類,就可以達到使用數(shù)據(jù)庫的目的。例如,使用Hibernate的查詢,可以直接返回包含某個值對象的列表(List),而不必向傳統(tǒng)的JDBC訪問方式一樣把結(jié)果集的數(shù)據(jù)逐個裝載到一個值對象中,為我們的編碼工作節(jié)省了大量的勞動。Hibernate提供的HQL是一種類SQL語言,是提供對象化的數(shù)據(jù)庫查詢方式,但HQL在功能和使用方式上都非常接近于標(biāo)準(zhǔn)的SQL 第 4 章 系統(tǒng)實現(xiàn) 用戶操作總體設(shè)計用戶操作主要包括用戶登錄和人員管理模塊,具體功能如下:用戶登錄:用于登錄系統(tǒng)。人員管理模塊:用于瀏覽、添加和修改人員信息。 用戶登錄設(shè)計用戶登錄是用戶進入主頁面的入口,其運行結(jié)果如圖41所示。 圖41 用戶登錄運行結(jié)果系統(tǒng)登陸是人力資源管理中最先使用的功能,因為用戶登陸在數(shù)據(jù)庫中使用的是人員表,人員表中有一個isadmin字段,是來標(biāo)識是否是管理員的。在登陸時要根據(jù)數(shù)據(jù)庫的這個字段來判斷此用戶是否具有管理員的權(quán)限。在網(wǎng)頁里添寫用戶名和密碼后點擊登陸按鈕,網(wǎng)頁會訪問一個URL,這個URL是“?action=logon”,這個action的name屬性的值是usersForm,它是Struts的ActoinForm的實現(xiàn)類在配置文件中的名字,如下所示:formbean name=userForm type= /action是Struts的Action的URL,他們在Struts的配置文件中都是已經(jīng)配好的,如下所示: action path=/logon type= name=userForm scope=request forward name=success path=/ / forward name=failed path=/ / /action在這個配置文件中,可以了解到如下信息:根據(jù)name=userForm可以找到與之相對應(yīng)的ActionForm的實現(xiàn)類“”。根據(jù)type=可以找到處理用戶數(shù)據(jù)的Action類。根據(jù)forward name=success path=/ /和forward name=failed path=/ /可以了解,這個Action返回success時,這就是登陸成功的頁面。如果當(dāng)Action返回failed時,這個文件是當(dāng)用戶登陸失敗將要轉(zhuǎn)到的頁面。Struts的UserAction實現(xiàn)類的execute()方法是最先被執(zhí)行的,這個方法本身也沒有具體的事務(wù),而是根據(jù)action的參數(shù)不同執(zhí)行相應(yīng)的方法。在登陸頁里面可以找到有一個“action=logon”的字樣,它的目的就是在這里做邏輯判斷。當(dāng)action=logon時調(diào)用logon()方法。logon()方法從UsersForm中得到用戶提交的數(shù)據(jù),然后在調(diào)用UsersDao()的logonUsers()方法。并且把UsersForm轉(zhuǎn)成Users類做為logonUsers()方法的參數(shù)。調(diào)用后會返回一個boolean型的值。如果為真,則返回“(success)。”否則返回“(failed)。”也就是當(dāng)用戶登陸成功后,返回給用戶登陸成功的頁面,登陸失敗后返回用戶一個登陸失敗的頁面。那么UsersDao的logonUsers()方法是根據(jù)什么得到的返回值呢,現(xiàn)在就讓我們看看這個方法, 這個方法先通過HibSessionFactory得到一個Hibernate的Session并且開始一個事務(wù),Session再像使用一個欲編譯似的命令似的東西,設(shè)定參數(shù)、提交事務(wù)和最后在關(guān)閉Session.。得到一個List里面就存儲著所有查詢出的結(jié)果。根據(jù)這個結(jié)果就可以判斷出該用戶是否有登陸的權(quán)根了,在返回true 或者false。就這樣合法的用戶就可以順利的登陸了。那剛才那些有些類似于欲編譯的東西是什么呢,這些就是Hibernate特有的查詢語言,被稱為Hibernate 查詢語言(HQL),而它本身也就是使用的JDBC的欲編譯技術(shù)。 人員管理模塊設(shè)計人員管理模塊主要包括瀏覽人員信息、添加人員信息、人員信息的刪除、人員信息的修改。此模塊文件架構(gòu)如圖4所示。各項管理工作都是在用戶成功登陸后的管理頁面進行的,在管理控制頁面的左側(cè)是各項的相關(guān)鏈接,右側(cè)是操作平臺。單擊“添加人員信息”,即打開添加人員信息的頁面如圖42所示。圖42 添加人員信息頁面添加人員信息的鏈接是這樣的,如下所示:td height=22 align=centera href= target=frame添加人員信息/a/td在Struts配置文件中,添加人員信息的鏈接沒有使用ActionForm類,也沒有使用Action的實現(xiàn)類,如下所示: action path=/adduser forward=/ /,只是一個普通的JSP文件,但是它的表單元素都是與UsersForm相對應(yīng)的,UsersForm如下所示:UsersForm類中的reset()方法作用是當(dāng)用戶點擊“重置”按鈕時,清空input輸入框的內(nèi)容,toString()方法覆蓋了Object和toString()方法,populate()方法很有,它把UsersForm轉(zhuǎn)化成Users實體類,大大方便了程序在對數(shù)據(jù)庫操作時使用的方便。而且這個方法中還把用戶的生日等表單元素的值由字符型轉(zhuǎn)成日期類型。,如下所示:form name=userForm method=post action=?action=adduser onSubmit=return userValidate()。配置文件中modifyuser的Action實現(xiàn)類是“”,如下所示:action path=/modifyuser type= name=userForm scope=session forward name=success path=/?action=listuser //action在UsersAction找到參數(shù)action等于adduser時所調(diào)用的方法addUsers(),它只是把從UserForm表單轉(zhuǎn)化成的User類做為參數(shù)傳給了UsersDao的addUsers()方法。在由這個方法向數(shù)據(jù)庫添加人員信息,如下所示: public void addUsers(Users users) throws HibernateException { (new ())。 Session session = ()。 Transaction tx = ()。 (users)。 ()。 ()。 }?action=listuser的URL。: action path=/user type= name=userForm scope=request forward name=success path=/ / /action這樣就在頁面做一次提交時它訪問了二次UsersAction,第一次的作用是向數(shù)據(jù)庫中添加信息,隨后又把所有人員信息取出來顯示給用戶,同樣UsersAction還只是調(diào)用UsersDao,取數(shù)據(jù)庫的具體操作在UsersDao文件中,他這次調(diào)用的是listUser()方法,如下所示: public List listUser() throws HibernateException { Session session = ()。 Transaction tx = ()。 Query query = session .createQuery(select u from Users as u order by createtime)。 List list = ()。 ()。 ()。 return list。 }UsersAction取出從UsersDao中數(shù)據(jù),在把它存到request里,然后返回return (success)。所有用戶的信息都在這個頁中顯示出來。在顯示頁中,從request里面的取出數(shù)據(jù),如果有則顯示在頁面上,使用“l(fā)ist!=nullamp。amp。()0”判斷如果在沒有數(shù)據(jù)的情況下,將對用戶提示說“對不起,沒有添加人員信息?。?!”。這是添加人員信息的整個過程,在這個過程中,有一部分是用于顯示人員信息的,就是“?action=listuser”,它是顯示人員信息的地址。如果在網(wǎng)頁中直接點擊這個鏈接地址,同樣也會調(diào)用出所有用戶的信息。這就是“瀏覽人員信息”的鏈接。頁面執(zhí)行后如圖44所示。圖44 瀏覽人員信息頁面人員信息的列表的最后一列可以對該條記錄做刪除和修改。刪除的鏈接地址是“?action=deleteuseramp。id=%=()%”它向Action的實現(xiàn)類提交了兩個參數(shù),一個是action=deleteuser是固定不變的,另一個是該用戶的id這是根據(jù)不同記錄取出來的。在UsersAction類中根據(jù)action的值可以找到與其相對的方法,在這個方法里得到頁面提交過來的用戶ID,把這個id存在Users表中的實例中,傳給dao的deleteUsers()方法,我們可以看到關(guān)于數(shù)據(jù)庫方面的操作都被封裝在Dao中刪除用戶時和添加用戶一樣都是先得到一個Hibernate的Session,后調(diào)用它的delete()方法就可以了,操作完成后千萬記得要提交事務(wù),即調(diào)用mit()方法,和關(guān)閉Session。修改人員的信息時必須先把要修改的人員信息先查找出來,讓用戶可以直觀的根據(jù)以前的信息修改。這樣在點擊修改時也要傳給Action一個用戶ID,用來查詢出用戶信息,如下所示:a href=?action
點擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1