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

正文內(nèi)容

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

2025-04-07 23:04本頁(yè)面
  

【正文】 uals(())?是:否%/td td height=22 align=center %=(())%amp。nbsp。/td td height=22 align=center a href=?action=selectuseramp。id=%=()%修改/aamp。nbsp。amp。nbsp。a href=?action=deleteuseramp。id=%=()%刪除/a/td /tr % } }else{% tr td height=22 colspan=7 align=center 對(duì)不起,沒有添加人員信息?。?!/td /tr %}%在顯示頁(yè)中,從request里面的取出數(shù)據(jù),如果有則顯示在頁(yè)面上,使用“l(fā)ist!=nullamp。amp。()0”判斷如果在沒有數(shù)據(jù)的情況下,將對(duì)用戶提示說“對(duì)不起,沒有添加人員信息?。。 ?。這是添加人員信息的整個(gè)過程,在這個(gè)過程中,有一部分是用于顯示人員信息的,就是“?action=listuser”,它是顯示人員信息的地址。如果在網(wǎng)頁(yè)中直接點(diǎn)擊這個(gè)鏈接地址,同樣也會(huì)調(diào)用出所有用戶的信息。這就是“瀏覽人員信息”的鏈接。 瀏覽人員信息頁(yè)面 圖表 14人員信息的列表的最后一列可以對(duì)該條記錄做刪除和修改。刪除的鏈接地址是“?action=deleteuseramp。id=%=()%”它向Action的實(shí)現(xiàn)類提交了兩個(gè)參數(shù),一個(gè)是action=deleteuser是固定不變的,另一個(gè)是該用戶的id這是根據(jù)不同記錄取出來的。在UsersAction類中根據(jù)action的值可以找到與其相對(duì)的方法,如下所示: private ActionForward deleteUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws HibernateException { Long id=new Long((id))。 Users users=new Users()。 (id)。 (users)。 return (success)。 }在這個(gè)方法里得到頁(yè)面提交過來的用戶ID,把這個(gè)id存在Users表中的實(shí)例中,傳給dao的deleteUsers()方法,我們可以看到關(guān)于數(shù)據(jù)庫(kù)方面的操作都被封裝在Dao中。具體的刪除操作的代碼如下所示: public void deleteUsers(Users users) throws HibernateException { Session session = ()。 Transaction tx = ()。 (users)。 ()。 ()。 }刪除用戶時(shí)和添加用戶一樣都是先得到一個(gè)Hibernate的Session,后調(diào)用它的delete()方法就可以了,操作完成后千萬(wàn)記得要提交事務(wù),即調(diào)用mit()方法,和關(guān)閉Session。修改人員的信息時(shí)必須先把要修改的人員信息先查找出來,讓用戶可以直觀的根據(jù)以前的信息修改。這樣在點(diǎn)擊修改時(shí)也要傳給Action一個(gè)用戶ID,用來查詢出用戶信息,如下所示:a href=?action=selectuseramp。id=%=()%修改/a根據(jù)頁(yè)面的鏈接可以在Struts的配置文件里找到相應(yīng)的配置信息,如下所示: action path=/selectuser type= scope=request forward name=success path=/ / /action它調(diào)用了UsersAction類,在UsserAction中同前面一樣也是根據(jù)action的參數(shù)來識(shí)別出調(diào)用selectUser()方法的,方法實(shí)現(xiàn)如下所示: private ActionForward selectUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws HibernateException { Long id=new Long((id))。 Users u=(())。 (user,u)。 return (success)。 }這個(gè)方法使在調(diào)用Dao的loadUsres()的方法后,得到一個(gè)Users的返回值,里面存著與此id相對(duì)應(yīng)的人員信息,然后在把它存在request里。loadUsres()方法實(shí)現(xiàn)如下所示: public Users loadUsers(long id) throws HibernateException { Session session = ()。 Transaction tx = ()。 Users u = (Users) (, new Long(id))。 ()。 ()。 return u。 }Hibernate在使用這個(gè)load()方法時(shí)比較特別,需要傳入實(shí)體類的class,和要查詢的用戶ID。得到的返回值需要做一下強(qiáng)制類型轉(zhuǎn)換。 修改用戶信息頁(yè)面 圖表 15首先要從request中取出人員信息,在轉(zhuǎn)化成Users類型,然后顯示在頁(yè)面中。在顯示是否是管理員的項(xiàng)時(shí)比較人特別。如下所示: td width=33% height=22 align=center 是否管理員:/td td width=67% height=22 align=left input name=isadminhelp type=checkbox %=new Byte(1).equals(())?checked:% onClick=javascript:adminChecked()。 value=%=()%/td input type=hidden name=isadmin value=%=()%實(shí)際想要提交的表單的名字是isadmin,而在顯示checkbox時(shí)用的name是isadminhelp。Isadmin確使用hidden類型做為表單提交名字,這和checkbox的特性有關(guān)。在使用javascrip對(duì)checkbox的value控制時(shí)。當(dāng)value的值如果像這樣“value=%=()%”被寫死時(shí),使用javascrip是對(duì)value的值改變后,在提交表單時(shí)是無(wú)效的。于是我們就用hidden做為表單提交項(xiàng),而input name=isadminhelp type=checkbox %=new Byte(1).equals(())?checked:% onClick=javascript:adminChecked()。 value=%=()%只是在顯示給用戶的看的。在表單不接收isadminhelp的value,只接收isadmin的value。 技術(shù)難點(diǎn) 參數(shù)傳遞中的中文亂碼問題由于瀏覽器中的參數(shù)傳遞是按字節(jié)傳送,因此英文和數(shù)字不會(huì)有任何的問題,而中文漢字則由兩個(gè)字節(jié)組成。為了解決這個(gè)問題,使用了下面的兩種方法:①%(“gb2312”)。%②(Password).getBytes(ISO88491),GB2312)。 圖片處理在SQL Server2000的數(shù)據(jù)庫(kù)中可以存放任何格式的圖片,但是要將其轉(zhuǎn)換為二進(jìn)制的數(shù)據(jù)存入數(shù)據(jù)庫(kù),在調(diào)用時(shí)再將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為圖片,這樣雖然便于管理,但是在當(dāng)前國(guó)內(nèi)的網(wǎng)速來看,這樣的方法是在是不可取。因此本系統(tǒng)的圖片均是存放的相對(duì)路徑,將圖片放在系統(tǒng)根目錄下的image文件夾中,按類分好,然后將其相對(duì)路徑存入數(shù)據(jù)庫(kù)的對(duì)應(yīng)列中,這樣可以大大提高網(wǎng)頁(yè)瀏覽的速度。 HQL語(yǔ)言本系統(tǒng)中,所有對(duì)數(shù)據(jù)庫(kù)的操作都由Hibernate來完成,因此用到了大量的HQL語(yǔ)言。HQL是Hibernate設(shè)計(jì)的一套完整而實(shí)用高效的查詢語(yǔ)言,它通過面向?qū)ο蟮恼Z(yǔ)句結(jié)構(gòu)實(shí)現(xiàn)了和SQL語(yǔ)言類似的功能。如果向表里插入一條數(shù)據(jù)的話,直接調(diào)用save()方法即可,但如果要使用查詢功能的話,我按照一般的SQL語(yǔ)句的方法:from 表名 where 條件,卻總是找不到預(yù)期的數(shù)據(jù),后來看書中發(fā)現(xiàn),from后跟的是表對(duì)應(yīng)映射的類文件名,而非表名,比如招聘表為invite,所以在from后要根Invite而不是invite。 安全性將項(xiàng)目發(fā)布到互聯(lián)網(wǎng)上后,有些用戶不是點(diǎn)擊超鏈接打開網(wǎng)站的某個(gè)頁(yè)面,而是在地址欄中直接寫,而后進(jìn)入,試圖避開身份驗(yàn)證,處于對(duì)安全性的考慮,本項(xiàng)目在用戶登陸后才能進(jìn)入的頁(yè)面中,加入了一行判斷,如果用戶非法進(jìn)入,則看到的將是一片空白頁(yè)。第5章 系統(tǒng)測(cè)試在完成了程序的編寫工作后,接下來將進(jìn)行軟件的測(cè)試,這里說的軟件,并不單單是指程序本身,還包括其他方面。測(cè)試和開發(fā)一樣,也是一項(xiàng)技術(shù)性很強(qiáng)的工作,有著很多的技巧。軟件測(cè)試是軟件質(zhì)量保證的主要活動(dòng)之一,因此,測(cè)試的質(zhì)量直接影響軟件的質(zhì)量。依據(jù)前面所說的測(cè)試對(duì)象,我們把測(cè)試劃分為幾個(gè)方面來進(jìn)行測(cè)試。 界面測(cè)試界面測(cè)試是測(cè)試過程中比較簡(jiǎn)單直觀的一種測(cè)試方法,只要細(xì)心地按界面要求核對(duì)就行了??蛇@快往往是程序開發(fā)人員容易忽視和遺漏的地方。也是常常出Bug的地方。下面是界面測(cè)試中經(jīng)常出現(xiàn)的幾種Bug:1) 錯(cuò)別字,即界面中的標(biāo)題或者文本內(nèi)容中出現(xiàn)了錯(cuò)別字。這種Bug如果測(cè)試人員不細(xì)心,和難找出來,可能會(huì)出現(xiàn)在提示信息或界面中。2) 出現(xiàn)了一些根本讀不懂的內(nèi)容,一般多出現(xiàn)在程序的提示信息和一些較長(zhǎng)的文本中。這種情況基本上出現(xiàn)在拼起來顯示的提示中,頁(yè)面的簡(jiǎn)單陳述是通過變量拼組起來的,通過程序?qū)⒆忠粋€(gè)一個(gè)地輸出出來。通常是因?yàn)槌绦蛑械目刂棋e(cuò)誤或是程序開發(fā)人員對(duì)程序沒有進(jìn)行認(rèn)真的自測(cè),導(dǎo)致出現(xiàn)這種Bug。3) 程序員自創(chuàng)的詞語(yǔ),雖然意思對(duì),但不符合界面的標(biāo)準(zhǔn)及需求。這種情況基本上是由于開發(fā)人員使用一些專業(yè)術(shù)語(yǔ),并且混雜著自己的理解出現(xiàn)Bug,主要是由于開發(fā)過程中團(tuán)隊(duì)合作沒又明確的分工,沒有統(tǒng)一的規(guī)范用語(yǔ)。4) 頁(yè)面類似的內(nèi)容中,明顯有字體,字號(hào)不同的情況,使界面整體風(fēng)格看上去不一致,這種情況只出現(xiàn)在沒有CSS定義的情況下,或是已經(jīng)定義的CSS,開發(fā)人員在開發(fā)過程中沒有調(diào)用。5) 標(biāo)題相近的程序及模塊,把標(biāo)題弄混。這種情況多是因?yàn)闃I(yè)務(wù)方面的定義名稱很相似或很類似,并且業(yè)務(wù)實(shí)體方面也很類似,開發(fā)人員在開發(fā)過程中忽略了開發(fā)名稱和模塊,只單獨(dú)地實(shí)現(xiàn)其功能。 功能測(cè)試顧名思義,功能測(cè)試主要是測(cè)試程序模塊是否實(shí)現(xiàn)了設(shè)計(jì)中所有要求的功能。功能測(cè)試中需要注意的有:1) 查詢功能中,有按單一查詢條件進(jìn)行查詢的,也有按多個(gè)查詢條件組合查詢的,這里要注意多個(gè)查詢條件之間的關(guān)系,還有一些常識(shí)性的問題,比如按月查詢,閏年中二月的天數(shù)。2) 錄入功能中,需要注意的是前臺(tái)設(shè)置的數(shù)值長(zhǎng)度是否大于后臺(tái)數(shù)值長(zhǎng)度,以及前臺(tái)與后臺(tái)的數(shù)據(jù)結(jié)構(gòu)是否相符,很多時(shí)候錄入功能無(wú)法實(shí)現(xiàn)是由于這些原因。還有就是必須錄入的字段的設(shè)置是否有誤。3) 測(cè)試刪除功能中需要注意的是單擊”刪除”按鈕后,一般會(huì)出現(xiàn)提示信息,詢問是否確定刪除。通常情況下,我們單擊”確認(rèn)”按鈕查看信息是否被刪除掉了,而忽略了單擊“取消”按鈕后程序的反應(yīng),這時(shí)有可能的是沒有刪除,還有一種可能是即便單擊了“取消”按鈕,也一樣刪除了數(shù)據(jù)。另外,在刪除多條記錄的時(shí)候,要注意連續(xù)選中的幾條記錄是否真正都被刪除了,即如果再按照這種查詢方式查詢,是否還能查詢出來。有的時(shí)候需要在數(shù)據(jù)庫(kù)中設(shè)一個(gè)標(biāo)志位,而不是真正的物理刪除。所以在下一次查詢中,可能還會(huì)被查詢出來,這主要是因?yàn)樵诓樵儣l件中沒有將標(biāo)志位考慮在內(nèi)。4) 關(guān)于修改功能的測(cè)試,主要是看修改確認(rèn)后是否數(shù)據(jù)真正已被修改了。這是最基本的功能,需要注意的是看是否能把不應(yīng)該修改的數(shù)據(jù)也修改成功了。 需求測(cè)試5) 針對(duì)需求測(cè)試,是測(cè)試中很重要的一個(gè)環(huán)節(jié)。因?yàn)樾枨笫窃谲浖O(shè)計(jì),開發(fā)乃至軟件測(cè)試中重要的依據(jù)。要針對(duì)需求測(cè)試,首先就要對(duì)項(xiàng)目的需求和業(yè)務(wù)有一定的了解。這些需求很多時(shí)候是在實(shí)現(xiàn)增、刪、查、改這些基本功能之上,針對(duì)項(xiàng)目和相關(guān)業(yè)務(wù)所作的一些邏輯上的控制。這就要求程序員在設(shè)計(jì)和編碼的時(shí)候要去充分理解考慮需求。 性能測(cè)試性能測(cè)試在軟件的質(zhì)量保證中起著重要的作用。通常我們把性能指標(biāo)全部歸結(jié)到硬件,操作系統(tǒng)和開發(fā)環(huán)境上,而忽略了代碼本身性能上的考慮。性能需求指標(biāo)中,穩(wěn)定性、并訪支撐能力以及安全性都很重要。作為程序員需要評(píng)估該模塊在系統(tǒng)運(yùn)營(yíng)中所處的環(huán)境,將要受到的負(fù)荷壓力以及各種潛在的危險(xiǎn)和惡意攻擊的可能性。 企業(yè)員工信息管理系統(tǒng)的測(cè)試在完成編碼的工作以后,根據(jù)以上的方法和步驟進(jìn)行了如下的測(cè)試: 界面測(cè)試:在不開啟Web服務(wù)器的情況下,反復(fù)點(diǎn)擊網(wǎng)頁(yè)上的超鏈接,測(cè)試其連接情況,直到所有的鏈接都達(dá)到預(yù)期的效果。 功能測(cè)試:對(duì)網(wǎng)站的幾大功能模塊逐一測(cè)試,盡最大可能發(fā)現(xiàn)起潛在的錯(cuò)誤。 性能測(cè)試:將程序以局域網(wǎng)的形式發(fā)布,查看其是否滿足多用戶的要求。 需求測(cè)試:根據(jù)需求分析的內(nèi)容,測(cè)試網(wǎng)站是否和當(dāng)初的設(shè)計(jì)一樣。通過這幾方面的測(cè)試,我及時(shí)修正了系統(tǒng)中存在的問題,很好的提高了系統(tǒng)的性能,達(dá)到了預(yù)期目標(biāo)。第6章 總 結(jié)本系統(tǒng)開發(fā)的技術(shù)難點(diǎn)主要有兩個(gè)方面:一是否業(yè)務(wù)邏輯的理解;二是數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)的設(shè)計(jì)。業(yè)務(wù)邏輯是依據(jù)空警管理系統(tǒng)的行業(yè)特點(diǎn)及其特殊的應(yīng)用領(lǐng)域需要來進(jìn)行
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1