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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于struts2的都市供求信息網(wǎng)的設(shè)計(jì)與實(shí)現(xiàn)(參考版)

2025-01-16 03:01本頁面
  

【正文】 首先需要顯示出 “未審核”的信息。后臺(tái)信息顯示頁面如所示。列表顯示的信息由管理員選擇的狀態(tài)類型決定。 貴陽學(xué)院畢業(yè)設(shè)計(jì)(論文) 26 二、后臺(tái)信息管理功能概述 后臺(tái)信息的管理功能主要包括信息顯 示、信息審核、信息刪除和信息付費(fèi)設(shè) 置。在 文件中主要采用 include 動(dòng)作和include 指令來包含各區(qū)域所對(duì)應(yīng)的 JSP 文件。網(wǎng)站后臺(tái)首頁的運(yùn)行效果如圖: 圖 48 網(wǎng)站后臺(tái)首頁 本課題中,實(shí)現(xiàn)后臺(tái)頁面框架在 JS文件為 。 //返回登錄頁面 } } 在觸發(fā)“進(jìn)入后臺(tái)”超鏈接和提交登錄表單后,請(qǐng)求 LogInOutAction 類相應(yīng)的方法進(jìn)行處理,是因?yàn)樵? 文件中指定了它們之間的關(guān)系。 //進(jìn)入后臺(tái) } else{ //用戶名或密碼錯(cuò)誤 addFieldError(loginE,getText())。 if((sql, params)){ //存在該用戶,登錄成功 (loginUser,user)。 Object[] params={(),()}。 //進(jìn)入后臺(tái) } 若用戶沒有登錄,則進(jìn)入登錄頁面,在該頁面中輸入用戶名和密碼后提交表單進(jìn)行登錄,請(qǐng)求將被提交到 LogInOutAction 類中的 Login()方法進(jìn)行身份驗(yàn)證。 if(ob==null||!(ob instanceof UserSingle)) //如果對(duì)象為空,或者不是 UserSingle 類的實(shí)例,表示沒有登錄 return INPUT。 } ?? //此處為判斷當(dāng)前用戶是否登錄的 isLogin()方法 ?? //此處為驗(yàn)證用戶身份的 Login()方法 ?? //此處為處理退出登錄的 Logout()方法 ?? //此處為表單驗(yàn)證方法 validateLogin() } 當(dāng) 用戶觸發(fā)“進(jìn)入后臺(tái)”超鏈接后,請(qǐng)求由 LogInOutAction 類中的 isLogin()方法驗(yàn)證用戶是否已經(jīng)登錄。 //封裝表單數(shù)據(jù)的 JavaBean public UserSingle getUser() { return user。 (三 ) 創(chuàng)建 LogInOutAction 類 LogInOutAction 類用來處理用戶登錄和退出登錄請(qǐng)求。 二、后臺(tái)登陸模塊程序?qū)崿F(xiàn) (一 ) 在登錄頁面中,應(yīng)包含一個(gè)表單,并提供“用戶名”和“密碼”兩個(gè)表單字段以 便用戶輸入數(shù)據(jù)。 在后臺(tái)登錄模塊中,對(duì)于已登錄的用戶要跳過登錄頁面,直接進(jìn)入后臺(tái)主頁。當(dāng)用戶沒有輸入用戶名和密碼,或輸入了錯(cuò)誤的用戶名和密碼進(jìn)行登錄時(shí),會(huì)返回登錄頁面顯示相應(yīng)的提示信息。 第五節(jié) 后臺(tái)登陸模塊設(shè)計(jì) 一、后臺(tái)登陸模塊功能概述 用戶通過單擊前臺(tái)頁面頂部的“進(jìn)入后臺(tái)超鏈接,進(jìn)入后臺(tái)登錄頁面。 (4)表單驗(yàn)證成功后,調(diào)用 Add()方法處理請(qǐng)求。在驗(yàn)證過程中,若驗(yàn)證失敗,則調(diào)用 addFieldError()方法保 存提示信息。 (2)在 InfoAction 類中實(shí)現(xiàn)處理信息發(fā)布請(qǐng)求 . 創(chuàng)建驗(yàn)證表單的 validateAdd()方法中,先獲取表單數(shù)據(jù),然后依次進(jìn)行驗(yàn)證。如果要輸出保存的全部信息,可使用 s2:fielderror/ 。 name 屬性指定了與表單的處理類中對(duì)應(yīng)的 setXXX()與 getXXX()方法。titleError39。typeError39。 (1)創(chuàng)建發(fā)布信息的 頁面。 (一 ) 實(shí)現(xiàn)頁面頂部的“發(fā)布信息”超鏈接 在 view 目錄下的 文件中實(shí)現(xiàn)進(jìn)入信息發(fā)布頁面的“發(fā)布信息”超鏈接。 貴陽學(xué)院畢業(yè)設(shè)計(jì)(論文) 22 三、信息發(fā)布模塊的實(shí)現(xiàn)過程 用戶通過單擊頁面頂部的“發(fā)布信息”超鏈接,進(jìn)入信息發(fā)布頁面,在該頁面中填寫發(fā)布信息后,提交表單,在 InfoAction 處理類中獲取表單數(shù)據(jù)進(jìn)行驗(yàn)證,驗(yàn)證成功后向數(shù)據(jù)表中插入數(shù)據(jù),完成信息的發(fā)布。 validateXXX()驗(yàn)證方法不需要返回值,在方法中可將提示信息通過 addFieldError()方法進(jìn)行保存,這樣,返回驗(yàn)證失敗的提示頁面后,就可通過 fielderror 標(biāo)簽輸出提示信息。當(dāng)請(qǐng)求被轉(zhuǎn)發(fā)給 Action 類時(shí),該 Action 會(huì)根 據(jù)用戶請(qǐng)求來調(diào)用相應(yīng)的方法處理請(qǐng)求,若在這之前需要進(jìn)行表單數(shù)據(jù)驗(yàn)證,則可實(shí)現(xiàn)與該方法對(duì)應(yīng)的 validateXXX()驗(yàn)證方法進(jìn)行驗(yàn)證。 貴陽學(xué)院畢業(yè)設(shè)計(jì)(論文) 21 圖片 46信息發(fā)布 二、信息發(fā)布模塊的表單驗(yàn)證 本課題采用 Action 類中的驗(yàn)證方法來對(duì)表單數(shù)據(jù)進(jìn)行驗(yàn)證。此時(shí),程序會(huì)先驗(yàn)證用戶 是否輸入了信息,若驗(yàn)證失敗,則返回信息發(fā)布頁面,進(jìn)行相應(yīng)提示;若驗(yàn)證成功,則會(huì)繼續(xù)驗(yàn)證輸入的“聯(lián)系電話”和 Email 格式是否正確;若該驗(yàn)證成功,則向數(shù)據(jù)庫(kù)中插入記錄,完成發(fā)布操作;信息發(fā)布成功后,返回給用戶信息的 ID 值。在該頁面中,用戶 可從下拉列表中選擇一種信息類別(共包括 11 個(gè)信息類別:公寓信息、招聘信 息、求職信息、培訓(xùn)信息、家教信息、房屋信息、車輛信息、求購(gòu)信息、出售信 息、招商引資、尋找啟示),然后輸入其他信息。此時(shí)分頁查詢的 SQL 語句應(yīng)使用信息的發(fā)布時(shí)間來作為分頁的條件,而不能再使用設(shè)為自動(dòng)編號(hào)的字段了。所以整個(gè) SQL 語句表示:在 tb_table 表中,以 id 字段的內(nèi)容大于一個(gè)指定值的記錄為起點(diǎn),查詢出前 m 條記錄,該指定值為前 n1 頁中 id 字段內(nèi)容中的最大值。對(duì)該表進(jìn)行分頁查詢,可使用如下查詢語句,查詢出只在當(dāng)前頁中需要顯示的所有記錄。 數(shù)據(jù)表存在一個(gè)名稱為 id 的字段。通過查詢語句從數(shù)據(jù)庫(kù)中查詢出某頁所要顯示的數(shù)據(jù)。此時(shí) property 標(biāo)簽的應(yīng)用與前面列表顯示中 property 標(biāo)簽的使用是不同的,主要體現(xiàn)在標(biāo)簽的 value 屬性值的設(shè)置上。當(dāng)用戶單擊信息標(biāo)題超鏈接后,就會(huì)顯示該信息的詳細(xì)內(nèi)容。它與首頁付費(fèi)信息顯示技術(shù)的實(shí)現(xiàn)是相同的,只不過在頁面中進(jìn)行顯示時(shí),顯示的是信息的詳細(xì)內(nèi)容,這只需要通過 property 標(biāo)簽輸出 JavaBean 中所有屬性值即可實(shí)現(xiàn)。該顯示方式同樣將付費(fèi)信息與免費(fèi)信息 進(jìn)行分類顯示。同樣可采用實(shí)現(xiàn)付費(fèi)信息實(shí)現(xiàn)的技術(shù)分析。這個(gè)過程實(shí)際上就是將信息從以記錄存儲(chǔ)的形式轉(zhuǎn)換為通過 JavaBean 進(jìn)行封裝的過程。將要顯示的已付費(fèi)信息都存在一個(gè) List 集合對(duì)象中,則在頁面中可通過 Struts 的 iterator 標(biāo)簽遍歷這個(gè)集合,然后再使用 property 標(biāo)簽輸出信息,實(shí)現(xiàn)信息的列表顯示。要實(shí)現(xiàn)這樣的一個(gè)目的,按照用戶訪問、程序處理、頁面顯示這樣的程序流程進(jìn)行設(shè)計(jì)。如圖 43 所示: 貴陽學(xué)院畢業(yè)設(shè)計(jì)(論文) 17 圖 43 免費(fèi)信息的列表顯示 (二)首頁信息的列表顯示技術(shù)分析 首頁信息顯示又分為付費(fèi)信息的顯示與免費(fèi)信息的顯示。對(duì)于所有類別的付費(fèi)信息按照信息的發(fā)布時(shí)間降序排列顯示。 一、首頁信息的列表顯示 (一)首頁信息的列表顯 示概述 該顯示實(shí)現(xiàn)的效果是:以超鏈接方式顯示信息的標(biāo)題,單擊這些超鏈接可查看該信息的詳細(xì)內(nèi)容。 通過 linkHTML 標(biāo)識(shí)包含外部 CSS 樣式文件的代碼如下: link type=text/css rel=stylesheet href=css/ 其中 type 屬性用來指定文件類型, rel 指定連接的元素是一個(gè)樣式表文件, href 屬性用來指定文件位置。 二、 前臺(tái)頁面的實(shí)現(xiàn)過程 根據(jù)以上的頁面概述以及分析,需要分別創(chuàng)建實(shí)現(xiàn)各區(qū)域的 JSP 文件,包括實(shí)現(xiàn)頁頭的 、實(shí)現(xiàn)側(cè)欄的 、頁尾文件 和首頁中需要在內(nèi)容顯示區(qū)顯示的 等 JSP 文件。因?yàn)轫擃^、頁尾和側(cè)欄是不變的,所以可以在框架頁面中實(shí)現(xiàn)指定;而對(duì)于內(nèi)容顯示區(qū)中的內(nèi)容則應(yīng)根據(jù)用戶的操作來顯示,所以該區(qū)域要貴陽學(xué)院畢業(yè)設(shè)計(jì)(論文) 16 實(shí)現(xiàn)的頁面是動(dòng)態(tài)改變的,可通過一個(gè)存儲(chǔ)在 request 范圍的屬性值指定。本課題中,對(duì)前臺(tái)用戶所有請(qǐng)求的響應(yīng)都通過該框架頁面進(jìn)行顯示。都市供求信息網(wǎng)的前臺(tái)首頁運(yùn)行效果如圖 41所示。 } } 第二節(jié) 前臺(tái)頁面設(shè)計(jì) 都市供求信息網(wǎng)分為前后臺(tái)的設(shè)計(jì),其中前臺(tái)主要實(shí)現(xiàn)信息顯示、信息搜索與信息發(fā)布功能。 PageInfo+=當(dāng)前頁: +CurrentP+/+AllP+頁! 。trtd。 cellpadding=39。該方法的代碼如下: public void setPageInfo(){ if(AllP1){ PageInfo=table border=39。 } 在設(shè)置當(dāng)前頁碼時(shí),要判斷由參數(shù)傳遞的當(dāng)前頁碼是否有效,例如傳遞的值是否為數(shù)字形式、是否小于 是否大于總頁數(shù)等,對(duì)這些情況要進(jìn)行相應(yīng)的處理。 //分頁導(dǎo)航欄信息 PageInfo= //分頁狀態(tài) 顯示信息 } 總頁數(shù)需要獲得總記錄數(shù)后與每頁顯示的記錄數(shù)計(jì)算得到,其算法為:“總頁數(shù)=(總記錄數(shù) %每頁顯示記錄 ==0)?(總記錄數(shù) /每頁顯示記錄):(總記錄數(shù) /每頁顯示記錄 +1)”,所以要先設(shè)置總記錄數(shù),然后再來設(shè)置總頁數(shù)。 //設(shè)置總記錄數(shù)為 0 PerR=3。 //設(shè)置當(dāng)前頁碼為 1 AllP=1。 (二)程序 實(shí)現(xiàn) 首先在 CreatePage 類的構(gòu)造方法中為這些屬性賦初始值。 OpCreatePage()方法主要就是將分頁信息封裝到CreatePage 類對(duì)象中,然后返回 CreatePage 對(duì)象,在 CreatePage 類中定義了存儲(chǔ)分頁信息的屬性,并且創(chuàng)建了對(duì)應(yīng)的 setXXX()與 getXXX()方法來存取這些屬性。 //判斷用戶是否存在 return mark。 //查詢數(shù)據(jù)庫(kù) ResultSet rs=()。 } LogOn()方法 LogOn()方法用來實(shí)現(xiàn)管理員登錄操作的身份驗(yàn)證業(yè)務(wù),該方法通過查詢數(shù)據(jù)庫(kù)來判斷請(qǐng)求登錄的用戶是 否存在,若存在則返回 true,否則返回 false。 //調(diào)用 DB 類的 doPstm()方法更新數(shù)據(jù)庫(kù) i=()。 OpUpdate()方法的關(guān)鍵代碼如下: public int OpUpdate(String sql,Object[] params){ int i=1。方法中首先查詢數(shù)據(jù)庫(kù),獲取指定條件的記錄,然后將記錄封裝到 InfoSingle 類對(duì)象中,最后放回該對(duì)象。 OpGetListBox()方法 OpGetListBox()方法用來實(shí)現(xiàn)具有列表顯示信息功能的業(yè)務(wù),例如搜索信息、查看某類別下的所有信息等,在方法中首先調(diào)用 DB 類的 doPstm()方法查詢數(shù)據(jù)庫(kù),接著調(diào)用 getRs()方法獲取查詢后的結(jié)果集,然后依次將結(jié)果集中的記錄封裝到 InfoSingle類對(duì)象中,并將該對(duì)象保存到 List 集合中,最后返回該 List 集合對(duì)象。方法中首先調(diào)用 DB類的 doPstm()方法查詢 tb_type數(shù)據(jù)表中的所有記錄,然后依次取出每條記錄中的 type_sign 與 type_intro 字段內(nèi)容,并分別作為 TreeMap 對(duì)象的 key 值與 value 值進(jìn)行保存,最后返回 Map 對(duì)象。在這些方法中,通過調(diào)用 DB 類中的 doPstm()方法來對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作 [6]。 二、業(yè)務(wù)處理類 (一)功能描述 貴陽學(xué)院畢業(yè)設(shè)計(jì)(論文) 13 業(yè)務(wù)處理類 OpDB 類實(shí)現(xiàn)了處理本課題中用戶請(qǐng)求的所有業(yè)務(wù)的操作,包括信息顯示、信息發(fā)布、管理員登錄、信息審核、信息刪除等。若執(zhí)行查詢的 SQL 語句,則調(diào)用 getResultSet()方法返回 ResultSet 結(jié)果 集對(duì)象。 con=(url,user,password)。通過 new 操作符實(shí)例化一個(gè) DB 類的同時(shí),就會(huì)加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)。 DatebaseName=Text。 private String url=jdbc:microsofr:sqlserver。39。 //登錄數(shù)據(jù)庫(kù)的默認(rèn)用戶名 private String password=031 //登錄數(shù)據(jù)庫(kù)的密碼 private String className=39。 //表示連接到數(shù)據(jù)庫(kù)的連接 private PreparedStatement pstm。 (二 )、程序?qū)崿F(xiàn) 首先,導(dǎo)入所需的類包并聲明類的屬性然后賦值。 一、數(shù)據(jù)庫(kù)連接及操作類 (一 )、功能描述 DB 類主要是對(duì)數(shù)據(jù)庫(kù)的操作,如連接、關(guān)閉數(shù)據(jù)庫(kù)及執(zhí)行 SQL 語句操作數(shù)據(jù)庫(kù)。 信息類別表用來保存信息所屬的類別,如招聘信息、求職信息等,該表的結(jié)構(gòu)如表 32所示: 表 32 tb_type表的結(jié)構(gòu) 字段名 數(shù)據(jù)類型 是否為空 是否主鍵 默認(rèn)值 描述 id int(2) NO ID(自動(dòng)編號(hào) ) type_sign int(2) YES YES NULL 類別標(biāo)識(shí) type
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1