畢業(yè)設(shè)計(論文)基于JAVA的房產(chǎn)交易網(wǎng)站的設(shè)計與實現(xiàn)_第1頁
畢業(yè)設(shè)計(論文)基于JAVA的房產(chǎn)交易網(wǎng)站的設(shè)計與實現(xiàn)_第2頁
畢業(yè)設(shè)計(論文)基于JAVA的房產(chǎn)交易網(wǎng)站的設(shè)計與實現(xiàn)_第3頁
畢業(yè)設(shè)計(論文)基于JAVA的房產(chǎn)交易網(wǎng)站的設(shè)計與實現(xiàn)_第4頁
畢業(yè)設(shè)計(論文)基于JAVA的房產(chǎn)交易網(wǎng)站的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、房產(chǎn)交易網(wǎng)站的設(shè)計與實現(xiàn)xxx計算機學(xué)院軟件工程專業(yè)2006級 指導(dǎo)老師: 摘 要:房產(chǎn)交易網(wǎng)站為房產(chǎn)市場提供了一個網(wǎng)絡(luò)房產(chǎn)交易的平臺。該系統(tǒng)針對房地產(chǎn)行業(yè)特點,專門設(shè)計開發(fā)了包含基本信息、市場管理、會員管理、費用管理等管理模塊的web應(yīng)用房產(chǎn)交易管理系統(tǒng),集購房、租房、房產(chǎn)信息管理,市場管理于一體,以房產(chǎn)市場管理為核心,輔以簡單的財務(wù)管理,將繁雜的房產(chǎn)交易工作劃分為特定管理部分,對整個房產(chǎn)銷售,出租流程作完整嚴格的控制管理。系統(tǒng)以j2ee作為開發(fā)環(huán)境, java作為開發(fā)語言, tomcat5.0作為web容器,數(shù)據(jù)庫采用mysql。系統(tǒng)提供兩部分的功能:web用戶進行網(wǎng)上信息操作;系統(tǒng)管理員

2、對數(shù)據(jù)庫進行全方位的管理。關(guān)鍵詞:房產(chǎn);信息管理系統(tǒng);javathe design and implementation of real estate transactions websiteweifeng shicomputer software engineering grade 2006 guide teacher: tantaoabstract : real estate exchange site for real estate market provides a network property transaction platform. this system in real e

3、state industry, specifically designed and developed the basic information, market management includes, member management, cost management module web application estate transaction management system, integrating house, rent, property management information, market management at an organic whole, with

4、 real estate market management as the core, with simple financial management, real estate transactions will be multifarious work into specific part of the real estate management, sales and lease process for complete control of the management system, strictly on j2ee development environment, as java

5、as tomcat5.0 language, as a web development, using mysql database container. the two parts of the system provides web users function: information online, system administrators to carry on the omni-directional database management.key words: house property、information management system、j2ee目 錄第一章 緒 論3

6、1.1房地產(chǎn)網(wǎng)站開發(fā)的意義.31.2相關(guān)技術(shù).3第二章 需求分析42.1 系統(tǒng)功能需求.42.2系統(tǒng)安全性需求42.3 操作日志.42.4 系統(tǒng)性能需求.42.5 系統(tǒng)響應(yīng)時間5第三章 系統(tǒng)總體設(shè)計63.1 系統(tǒng)總體結(jié)構(gòu)63.1.1 用戶注冊.63.1.2 用戶登錄.73.1.3 求購信息發(fā)布.73.1.4 出售信息發(fā)布.83.1.5 用戶注銷.83.1.6 系統(tǒng)管理員注冊.83.1.7系統(tǒng)管理員登陸.93.1.8 web用戶管理93.1.9 系統(tǒng)信息發(fā)布93.1.10 管理員注銷103.2 系統(tǒng)實現(xiàn)103.3 系統(tǒng)管理平臺113.4 前提和約束113.5 系統(tǒng)管理功能.11第四章 系統(tǒng)詳細設(shè)

7、計與實現(xiàn)124.1 系統(tǒng)主要業(yè)務(wù)務(wù)實現(xiàn)流程124.1.1用戶信息發(fā)布流程.124.1.2信息回復(fù)流程.124.1.3系統(tǒng)管理員流程.134.2系統(tǒng)主要功能模塊134.2.1房屋出租信息.134.2.2求購房屋信息.144.2.3出售房屋信息.144.3系統(tǒng)主要功能代碼154.3.1實現(xiàn)注冊功能.154.3.2數(shù)據(jù)庫主要代碼.21參考文獻22致 謝.23第一章 緒 論1.1 房地產(chǎn)網(wǎng)站開發(fā)的意義入21世紀以后,房產(chǎn)市場進入一個新的火熱期。一方面:大部分建筑的使用年限以及建筑風(fēng)格已經(jīng)不能跟上時代前進的步伐,建筑改造與二次規(guī)劃提高了房產(chǎn)交易的市場的活力;另一方面:國家提出建設(shè)社會主義新農(nóng)村的政策,加

8、快了農(nóng)村建設(shè)的步伐,也大大改善了農(nóng)村的自然環(huán)境、私家車的普及、加快了房產(chǎn)向農(nóng)村生態(tài)型居住環(huán)境的發(fā)展;同時隨著人們生活水平的提高,對住房也相應(yīng)的有了更高的要求使得房產(chǎn)交易的市場空間得到了極大的擴展。房產(chǎn)交易系統(tǒng)為房產(chǎn)市場提供了一個網(wǎng)絡(luò)房產(chǎn)交易的平臺。房產(chǎn)行業(yè)是一個復(fù)雜特殊的行業(yè),其行業(yè)特點是:客戶多,樣本雜,物管要求各不相同,相應(yīng)的價格千差萬別。大量的客戶、物業(yè)及眾多的價格、會員管理等工作,名目眾多,手續(xù)繁雜;查詢各種單據(jù)資料更是費時費力,且極易出錯。我開發(fā)小組針對上述的房地產(chǎn)行業(yè)特點,專門設(shè)計開發(fā)了包含基本信息、市場管理、會員管理、費用管理等管理模塊的web應(yīng)用房產(chǎn)交易管理系統(tǒng),集購房、租房、

9、房產(chǎn)信息管理,市場管理于一體,以房產(chǎn)市場管理為核心,輔以簡單的財務(wù)管理,將繁雜的房產(chǎn)交易工作劃分為特定管理部分,對整個房產(chǎn)銷售,出租流程作完整嚴格的控制管理,完全解決房產(chǎn)商家所碰到的查詢難,統(tǒng)計難,管理更難的現(xiàn)有問題,讓使用者方便快捷地查詢到所需的各種管理數(shù)據(jù),及時了解交易信息,以更好地調(diào)整工作和加強企業(yè)管理。1.2相關(guān)技術(shù)本系統(tǒng)目的在于建設(shè)當?shù)胤慨a(chǎn)標準交易網(wǎng)站,使其規(guī)范,簡潔,實用。本系統(tǒng)提供兩部分的功能:web用戶進行網(wǎng)上信息操作;系統(tǒng)管理員對數(shù)據(jù)庫進行全方位的管理。開發(fā)環(huán)境:j2ee開發(fā)軟件:myeclipseweb容器:tomcat 5.0數(shù)據(jù)庫服務(wù)器:mysql第二章 需求分析2.1

10、系統(tǒng)功能需求所有的用戶可以劃分為以下幾個大類:² 網(wǎng)絡(luò)用戶:通過網(wǎng)絡(luò)實現(xiàn)查看網(wǎng)頁信息,注冊為會員,登陸后享受會員具有會員功能,信息發(fā)布、信息回復(fù)查看等功能。² 系統(tǒng)管理員:系統(tǒng)管理人員,完成基本參數(shù)設(shè)置、系統(tǒng)運行日志、用戶管理和權(quán)限設(shè)置等系統(tǒng)基本設(shè)置。按照以上原則,系統(tǒng)劃分為兩部分功能實現(xiàn):面向網(wǎng)絡(luò)用戶的功能和面向系統(tǒng)管理的系統(tǒng)管理功能。2.2系統(tǒng)安全性需求由于系統(tǒng)是基于internet的web應(yīng)用,因此安全性措施尤為重要, 保障用戶信息的數(shù)據(jù)安全性和保密性,防止外部攻擊和竊取核心業(yè)務(wù)數(shù)據(jù)就顯得尤為重要。所以在數(shù)據(jù)訪問,層間通訊時使用javabean做數(shù)據(jù)封裝。2.3操作日

11、志所有重要業(yè)務(wù)操作,在系統(tǒng)中均記錄日志,包含登錄的信息、操作信息、日期等,作為事后系統(tǒng)安全審計和跟蹤的依據(jù)。防火墻為防止internet上的惡意攻擊和數(shù)據(jù)安全,在系統(tǒng)和外網(wǎng)之間設(shè)置防火墻,以保證合法的訪問和系統(tǒng)安全。2.4 系統(tǒng)性能需求系統(tǒng)性能是用戶測評系統(tǒng)的一個重要指標,考慮性能時,也應(yīng)該綜合考慮系統(tǒng)的硬件指標、用戶最大數(shù)量、系統(tǒng)實時需求性和系統(tǒng)復(fù)雜度。本系統(tǒng)主要通過垂直擴展和水平擴展兩種方法提高系統(tǒng)性能:垂直擴展垂直擴展(vertical scaling)主要是靠增加服務(wù)器cpu和內(nèi)存的方法來進行擴展,這種方法簡單,在一定范圍內(nèi)能夠解決問題,不必額外的配置。但缺點是擴展能力有限,如果性能缺

12、口比較大的時候,這種方法往往達不到預(yù)期的效果。水平擴展水平擴展(horizontal scaling)是靠增加服務(wù)器數(shù)量來擴展應(yīng)用程序性能的方法,通常是多臺服務(wù)器協(xié)同工作,配合負載均衡來達到性能調(diào)整的目標。但該方法往往要進行服務(wù)器配置,如負載配置、集群配置等。在許多情況下,垂直擴展和水平擴展是聯(lián)合使用的,即同時使用多臺服務(wù)器,而每臺服務(wù)器的配置達到最優(yōu),這樣既可以提高cpu的利用率,也能提高恢復(fù)故障的能力和增添機器的靈活性。擴充性客戶管理有很大的發(fā)展?jié)摿?,系統(tǒng)應(yīng)該通過方便的設(shè)置擴充系統(tǒng)容量,而且對客戶預(yù)訂業(yè)務(wù)也應(yīng)該可以通過模塊化定制。易維護隨著業(yè)務(wù)的發(fā)展,網(wǎng)站信息數(shù)量也會增加,所以系統(tǒng)必須提供

13、方便的維護手段,盡量減少系統(tǒng)維護的工作量。響應(yīng)速度快用戶在查詢信息時,對系統(tǒng)延遲往往有一個忍耐極限,所以要求系統(tǒng)響應(yīng)速度應(yīng)在用戶忍耐范圍內(nèi)。易操作操作簡便;具有使用護航;可操作性好;對關(guān)鍵數(shù)據(jù)輸入有即時提示;并且做到界面及提示用詞統(tǒng)一、通俗易懂、不使用專業(yè)技術(shù)用語。2.5 系統(tǒng)響應(yīng)時間提供先進的數(shù)據(jù)訪問引擎技術(shù),提高數(shù)據(jù)處理響應(yīng)速度。一般性查詢最長不超過 5 s,一般業(yè)務(wù)處理操作不操過5s,報表查詢以及復(fù)雜查詢操作一般不操過30s。并發(fā)處理能力通過先進緩存技術(shù)。解決多用戶并發(fā)訪問瓶頸。系統(tǒng)應(yīng)支持最大并發(fā)在線客戶數(shù)為30-50個。第三章 系統(tǒng)總體設(shè)計3.1系統(tǒng)總體結(jié)構(gòu)參考軟件體系架構(gòu)采用mvc多

14、層體系的思路,本系統(tǒng)平臺架構(gòu)也體現(xiàn)這一架構(gòu)的思路,具體設(shè)計如下圖示意:圖3.1系統(tǒng)軟件結(jié)構(gòu)示意圖該體系架構(gòu)采用業(yè)界成熟和廣泛運用的j2ee技術(shù)、基于mvc(模型視圖控制器)設(shè)計范例進行架構(gòu)設(shè)計。web服務(wù)器為前端客戶瀏覽器提供表示邏輯和用戶導(dǎo)航;處于中間層的應(yīng)用服務(wù)器通過web容器和javabean提供的各組件完成業(yè)務(wù)邏輯和工作流;處于后端的數(shù)據(jù)模型層提供數(shù)據(jù)邏輯,根據(jù)具體情況的不同,采用dao連接數(shù)據(jù)庫。mvc(模型視圖控制器)設(shè)計范例基于功能清楚地分開了代碼,因此,修改某一層上的應(yīng)用程序不會影響到其它層,整個系統(tǒng)是一個松耦合的系統(tǒng),特別適合于業(yè)務(wù)模式、用戶狀況與需求多變的應(yīng)用環(huán)境。在系統(tǒng)開

15、發(fā)上,由于它將功能清楚地進行了分解,使得需要不同技術(shù)能力的團隊可以相互獨立地工作,這種明確的分工可有效利用開發(fā)團隊成員的力量,實現(xiàn)高效優(yōu)質(zhì)的開發(fā)工作。3.1.1用戶注冊1、描述web用戶輸入指定的信息提交給服務(wù)器,成為注冊用戶2、參與者web用戶、服務(wù)器、數(shù)據(jù)庫系統(tǒng)3、條件用戶登陸網(wǎng)站4、結(jié)果注冊成功或失敗5、基本流程1.web用戶打開用戶注冊頁面2.web用戶填寫相關(guān)信息并按確定鍵確認3.系統(tǒng)驗證數(shù)據(jù)格式是否正確4.系統(tǒng)返回驗證結(jié)果,數(shù)據(jù)格式正確則轉(zhuǎn)到指定提示頁面,數(shù)據(jù)格式不正確則返回到注冊頁面6、異常由于數(shù)據(jù)格式引起的注冊失敗、訪問數(shù)據(jù)庫出錯7、數(shù)據(jù)格式用戶名、密碼、真實姓名、性別、地址、

16、電話號碼、e-mail、信用卡號碼8、返回數(shù)據(jù)注冊結(jié)果、帳號名、系統(tǒng)歡迎信息。 表3.1.1用戶注冊3.1.2用戶登錄1、描述web用戶通過輸入用戶名和密碼登錄網(wǎng)站2、參與者web用戶、服務(wù)器端、數(shù)據(jù)庫系統(tǒng)3、條件用戶登陸網(wǎng)站4、結(jié)果登錄成功或失敗5、基本流程1.web用戶進入系統(tǒng)登錄界面2.用戶填寫用戶名和密碼3.系統(tǒng)進行驗證4.系統(tǒng)返回驗證結(jié)果,用戶名和密碼正確則轉(zhuǎn)到指定提示頁面,出錯則返回到 注冊頁面6、異常由于帳號密碼錯誤或帳號不存在引起的登錄失敗、訪問數(shù)據(jù)庫出錯7、數(shù)據(jù)格式帳號、密碼8、返回數(shù)據(jù)登錄結(jié)果、帳號名、系統(tǒng)歡迎信息9、補充表3.1.2用戶登錄3.1.3求購信息發(fā)布1、描述w

17、eb用戶發(fā)布求購信息2、參與者web用戶、服務(wù)器端3、條件web用戶登錄成功4、結(jié)果發(fā)布信息成功,信息存如數(shù)據(jù)庫5、基本流程登錄選擇發(fā)布信息種類,輸入發(fā)布信息內(nèi)容,提交,轉(zhuǎn)到提交成功頁面,出現(xiàn)異常跳轉(zhuǎn)到操作出錯頁面6、異常輸入內(nèi)容有誤,數(shù)據(jù)庫異常7、數(shù)據(jù)格式信息種類、信息名稱、發(fā)布內(nèi)容、發(fā)布日期、發(fā)布用戶8、返回數(shù)據(jù)9、補充表3.1.3求購信息發(fā)布3.1.4 出售信息發(fā)布1、描述web發(fā)布出售信息2、參與者web用戶、服務(wù)器端、數(shù)據(jù)庫3、條件web用戶登錄成功4、結(jié)果發(fā)布信息成功,信息存入數(shù)據(jù)庫5、基本流程登錄選擇發(fā)布信息種類,輸入發(fā)布信息內(nèi)容,提交,轉(zhuǎn)到提交成功頁面,出現(xiàn)異常跳轉(zhuǎn)到操作出錯頁

18、面6、異常輸入內(nèi)容有誤7、數(shù)據(jù)格式信息種類、信息名稱、發(fā)布內(nèi)容、發(fā)布日期、發(fā)布用戶表2.1.4 出售信息發(fā)布3.1.5用戶注銷1、描述web用戶注銷離開2、參與者web用戶,服務(wù)器端3、條件web用戶登錄成功4、結(jié)果退出系統(tǒng),返回首頁5、基本流程1.用戶點擊注銷按鈕2.系統(tǒng)清除登錄信息并轉(zhuǎn)到首頁表3.1.5用戶注銷3.1.6系統(tǒng)管理員注冊1、描述系統(tǒng)管理員輸入指定的信息提交給服務(wù)器,成為注冊系統(tǒng)管理員2、參與者web用戶、服務(wù)器、數(shù)據(jù)庫系統(tǒng)3、條件能正常的進入后臺管理頁面4、結(jié)果注冊成功或失敗5、基本流程1.系統(tǒng)管理員打開系統(tǒng)管理員注冊頁面2.系統(tǒng)管理員填寫相關(guān)信息并按確定鍵確認3.系統(tǒng)驗證數(shù)

19、據(jù)格式是否正確4.系統(tǒng)返回驗證結(jié)果,數(shù)據(jù)格式正確則轉(zhuǎn)到指定提示頁面,數(shù)據(jù)格式不正確則 返回到注冊頁面6、異常由于數(shù)據(jù)格式引起的注冊失敗、訪問數(shù)據(jù)庫出錯7、數(shù)據(jù)格式用戶名、密碼、真實姓名、性別、地址、電話號碼、e-mail、信用卡號碼8、返回數(shù)據(jù)注冊結(jié)果、帳號名、系統(tǒng)歡迎信息。9、補充表3.1.6系統(tǒng)管理員注冊3.1.7系統(tǒng)管理員登陸1、描述系統(tǒng)管理員通過輸入用戶名和密碼登錄網(wǎng)站2、參與者web用戶、服務(wù)器端、數(shù)據(jù)庫系統(tǒng)3、條件能正常的進入后臺管理頁面4、結(jié)果登錄成功或失敗5、基本流程1.管理員進入系統(tǒng)登錄界面2.用戶填寫用戶名和密碼3.系統(tǒng)進行驗證4.系統(tǒng)返回驗證結(jié)果,用戶名和密碼正確則轉(zhuǎn)到指

20、定提示頁面,出錯則返回到注冊頁面6、異常由于帳號密碼錯誤或帳號不存在引起的登錄失敗、訪問數(shù)據(jù)庫出錯7、數(shù)據(jù)格式帳號、密碼8、返回數(shù)據(jù)登錄結(jié)果、帳號名、系統(tǒng)歡迎信息表3.1.7系統(tǒng)管理員登陸3.1.8web用戶管理1、描述管理員對web用戶進行處理2、參與者管理員、服務(wù)器端、數(shù)據(jù)庫系統(tǒng)3、條件管理員登錄成功4、結(jié)果5、基本流程1. 管理員選種要操作的用戶2. 管理員執(zhí)行對用戶的增加或刪除6、異常數(shù)據(jù)庫異常7、數(shù)據(jù)格式用戶名、密碼、真實姓名、性別、地址、電話號碼、e-mail、信用卡號碼表3.1.8web用戶管理3.1.9系統(tǒng)信息發(fā)布1、描述管理員發(fā)布系統(tǒng)信息2、參與者管理員、服務(wù)器端、數(shù)據(jù)庫系統(tǒng)

21、3、條件管理員登錄成功4、結(jié)果管理員發(fā)布系統(tǒng)信息顯示5、基本流程1.管理員進入系統(tǒng)信息發(fā)布的頁面2.管理員發(fā)布系統(tǒng)信息,并提交6、異常數(shù)據(jù)庫異常7、數(shù)據(jù)格式前臺所顯示內(nèi)容表3.1.9系統(tǒng)信息發(fā)布3.1.10管理員注銷1、描述管理員注銷離開2、參與者管理員、服務(wù)器端3、條件管理員登錄成功4、結(jié)果登錄注銷,返回首頁。5、基本流程1.管理員點擊注銷按鈕2.系統(tǒng)清除登錄信息并轉(zhuǎn)到首頁6、異常7、數(shù)據(jù)格式表3.1.10管理員注銷3.2 系統(tǒng)實現(xiàn)系統(tǒng)劃分為兩部分功能實現(xiàn):面向網(wǎng)絡(luò)用戶的功能和面向系統(tǒng)管理的系統(tǒng)管理功能。圖3.1 系統(tǒng)功能模塊示意圖以下所有功能模塊的需求分析將基于這個模塊劃分原則進行,并展開

22、詳細的需求分析說明。功能實現(xiàn)上應(yīng)能做到:操作簡便;具有使用護航;可操作性好;對關(guān)鍵數(shù)據(jù)輸入有即時提示;并且做到界面及提示用詞統(tǒng)一、通俗易懂、不使用專業(yè)技術(shù)用語。3.3 系統(tǒng)管理平臺系統(tǒng)管理平臺面向整個網(wǎng)站管理it系統(tǒng)的系統(tǒng)管理員,管理員通過該平臺可以完成系統(tǒng)的用戶管理、權(quán)限分配、以及性能分析、安全日志查詢等系統(tǒng)級管理功能。圖3.2 系統(tǒng)管理平臺功能模塊圖3.4前提和約束管理員權(quán)限為系統(tǒng)內(nèi)置權(quán)限,只能訪問管理平臺,不能進行業(yè)務(wù)操作。通過用戶組設(shè)置,減少批量相同權(quán)限用戶的設(shè)置重復(fù)工作量。權(quán)限模型按照用戶用戶組權(quán)限可訪問資源(包含數(shù)據(jù)訪問控制),進行設(shè)定。3.5系統(tǒng)管理功能為了方便顧客的使用、操作和

23、維護以及根據(jù)顧客要求,我工作室將房產(chǎn)交易網(wǎng)分做前臺和后臺兩個控制功能模塊。前臺的內(nèi)容發(fā)布給廣大的網(wǎng)民,而后臺部分則是便于顧客修改數(shù)據(jù)庫,更新網(wǎng)頁內(nèi)容。也就是說,網(wǎng)民通過網(wǎng)絡(luò)可瀏覽網(wǎng)頁,而顧客將用有一個獨立于客戶端的控制頁面,由顧客授權(quán)管理。網(wǎng)頁雛形 根據(jù)顧客提出的要求,計劃將網(wǎng)頁制作成如下形式:1、 首頁頂部房產(chǎn)交易網(wǎng)名稱,并以建筑圖片做修飾,添加導(dǎo)航條,導(dǎo)航條內(nèi)容有:首頁、租房、二手房、新房、商業(yè)用房、精品樓盤、中介之家、相關(guān)法規(guī)共8條;2、 其中首頁將放置最新房產(chǎn)信息,便于推銷用客的新增或熱點房產(chǎn)。3、 首頁左邊將放置幫助信息及功能模塊;4、 在首頁下部是一些其他房產(chǎn)信息網(wǎng)的超鏈接。5、

24、用戶點擊相應(yīng)的功能模塊按鈕進入功能頁面,幫助用戶完成功能操作。6、 用戶點擊客戶管理,進行注冊、登陸、修改個人信息等操作,并配有各功能的獨立頁面,操作不成功彈出操作不成功的提醒頁面。7、 后臺內(nèi)容中,提供了系統(tǒng)管理員的登陸,操作頁面。操作主頁面提供對數(shù)據(jù)庫內(nèi)容的增刪改查四個功能的按鍵,管理員選擇用戶或用戶信息后對內(nèi)容進行更新或修改。每個功能按鍵對應(yīng)一組成功與出錯的頁面。第四章 系統(tǒng)詳細設(shè)計與實現(xiàn)4.1 系統(tǒng)主要業(yè)務(wù)實現(xiàn)流程圖4.1.1 用戶信息發(fā)布流程圖4.1.2 信息回復(fù)流程圖4.1.3 系統(tǒng)管理員流程4.2系統(tǒng)主要功能模塊圖4.2.1 房屋出租信息圖 4.2.2 求購房屋信息圖4.2.3

25、出售房屋信息4.3系統(tǒng)主要功能代碼4.3.1實現(xiàn)注冊功能1、創(chuàng)建前臺頁面。新建javaweb工程。在新建工程的webroot下創(chuàng)建jsp頁面,如圖1.1所示圖頁面創(chuàng)建好以后,需要在頁面里面編寫注冊的腳本,代碼如下:<% page language="java" import="java.util.*" pageencoding="gbk"%><%string path = request.getcontextpath();string basepath = request.getscheme()+&qu

26、ot;:/"+request.getservername()+":"+request.getserverport()+path+"/"%><!doctype html public "-/w3c/dtd html 4.01 transitional/en"><html> <head> <base href="<%=basepath%>"> <title>my jsp 'registe.jsp' starting

27、page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,key

28、word2,keyword3"><meta http-equiv="description" content="this is my page"> </head> <body> <form action="registe" method="get" > 用戶名:<input type="text" name="username" /><br> 密碼:<input type="

29、;password" name="password" /><br> email:<input type="text" name="email" /><br> <input type="submit" value="注冊" /><br> </form><br> </body></html>注意:這里的注冊提交地址是:<%=basepath%>+register也就

30、是說:<base href="<%=basepath%>">表示的是當前頁面所在工程路徑。表單form的提交目標是工程下個registe資源,所以下面第二步就創(chuàng)建registe對應(yīng)的資源2、創(chuàng)建registe,右鍵單擊工程,new servlet。步驟如圖1.2所示圖在彈出界面創(chuàng)建registe對應(yīng)的servlet程序如圖1.3所示圖在新的彈出窗口,如圖1.4所示,將選中部分修改為:registe如圖1.5所示。圖圖因為在前臺頁面請求的資源就是registe,他們是對應(yīng)關(guān)系,他們之間對應(yīng)關(guān)系的建

31、立是通過web.xml配置文件建立起來的。在頁面發(fā)出請求以后,請求目標在web.xml匹配對應(yīng)的處理資源。即為他們在web.xml中的對應(yīng)關(guān)系<servlet> <servlet-name>registe</servlet-name> <servlet-class>registe</servlet-class> </servlet> <servlet-mapping> <servlet-name>registe</servlet-name> <url-pattern>/reg

32、iste</url-pattern></servlet-mapping>這時,我們對應(yīng)的registe資源就已經(jīng)創(chuàng)建好了,但這個資源沒有任何的作用,需要我們給這個資源添加處理的功能代碼如下:重寫doget方法,即為將doget方法的內(nèi)容修改為:public void doget(httpservletrequest request, httpservletresponse response)throws servletexception, ioexception response.setcontenttype("text/html");string

33、username = request.getparameter("username");string password = request.getparameter("password");string email = request.getparameter("email");if("zhangsan".equals(username)request.setattribute("registepass", "注冊成功");request.getrequestdispatch

34、er("registepass.jsp").forward(request, response);elserequest.setattribute("registenotpass", "不是張三不能注冊");request.getrequestdispatcher("registenotpass.jsp").forward(request, response);在這里,我對注冊用戶的判斷是只有用戶名為zhangsan 才可以注冊,注冊成功以后轉(zhuǎn)到registepass.jsp頁面,注冊失敗轉(zhuǎn)到registenotp

35、ass.jsp頁面,這兩個頁面都沒有創(chuàng)建,所有需要創(chuàng)建這連個頁面。registepass.jsp頁面代碼如下:<% page language="java" import="java.util.*" pageencoding="gb18030"%><%string path = request.getcontextpath();string basepath = request.getscheme()+":/"+request.getservername()+":"+reque

36、st.getserverport()+path+"/"%><!doctype html public "-/w3c/dtd html 4.01 transitional/en"><html> <head> <base href="<%=basepath%>"> <title>my jsp 'registepass.jsp' starting page</title><meta http-equiv="pragma&

37、quot; content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="d

38、escription" content="this is my page"><!-<link rel="stylesheet" type="text/css" href="styles.css">-> </head> <body> <%=request.getattribute("registepass") %><br> </body></html>這里面所要添加的就是獲取存放在req

39、uest里面的信息,通過<%=request.getattribute("registepass") %>。注意:要獲取的信息,一定要先將信息設(shè)置進去,就比如要拿自己衣服里的錢去買東西,就必須確定之前已經(jīng)將錢放到自己的衣服里面了。注冊失敗頁面,也只需要添加<%=request.getattribute("registenotpass") %>即可3、連接數(shù)據(jù)庫進行動態(tài)注冊上面的步驟只有用戶名為zhangsan可以注冊,接下來需要連接數(shù)據(jù)庫將用戶注冊信息添加到數(shù)據(jù)庫里面。創(chuàng)建userinfo,該表下有4個字段,分別為:id、user

40、name、password、email。建立數(shù)據(jù)庫連接類,代碼如下:public class dbconnect static connection conn;/*jdbc連接*/public static connection getconnection()string driver = "com.mysql.jdbc.driver"string user = "root"string password = ""string url = "jdbc:mysql:/localhost:3306/trade"try

41、class.forname(driver);conn = drivermanager.getconnection(url, user, password);catch(exception e)e.printstacktrace();return conn;該類的作用是提供一個靜態(tài)方法,連接數(shù)據(jù)庫。連接數(shù)據(jù)庫以后,導(dǎo)入數(shù)據(jù)庫驅(qū)動包,步驟如圖1.6所示,在彈出框中選擇mysql的驅(qū)動包。這是我就可以進行數(shù)據(jù)庫連接了,針對每個表進行的操作,對象一個dao對象,dao的作用是數(shù)據(jù)庫連接操作,在userinfo表對應(yīng)的dao類中,進行相關(guān)的數(shù)據(jù)庫操作。創(chuàng)建一個userinfodao類圖us

42、erinfo類代碼如下:public class userinfodao /* 用戶注冊數(shù)據(jù)庫操作 */public string registe(userinfo user)string result = "注冊失敗"string userexist = "select username from userinfo " +"where username='" + user.getusername()+"'"connection conn = dbconnect.getconnection();tr

43、y statement st = conn.createstatement();resultset rs = st.executequery(userexist);if(rs.next()result = "用戶已經(jīng)存在"elsestring insertsql = "insert into userinfo " +"(username, userpass,email) " +"values('"+user.getusername()+"'," +"'"

44、;+user.getpassword()+"'," +"'"+user.getemail()+"');"st.executeupdate(insertsql);result = "注冊成功"rs.close();st.close();conn.close(); catch (sqlexception e) / todo auto-generated catch blocke.printstacktrace();return result; 在registe方法中,傳遞了userinfo類的對

45、象,userinfo類的作用是封裝用戶的注冊信息,所有userinfo類滿足javabean的規(guī)范。創(chuàng)建userinfo類,該類有4個私有的成員變量,分別是對應(yīng)數(shù)據(jù)庫表中的每個字段。完成上述操作以后,還需要將registe資源的處理過程修改,修改后的doget方法的代碼如下:public void doget(httpservletrequest request, httpservletresponse response)throws servletexception, ioexception response.setcontenttype("text/html");str

46、ing username = request.getparameter("username");string password = request.getparameter("password");string email = request.getparameter("email");userinfo user = new userinfo();user.setusername(username);user.setpassword(password);user.setemail(email);userinfodao userdao

47、= new userinfodao();string re = userdao.registe(user);request.setattribute("registepass", re);request.getrequestdispatcher("registepass.jsp").forward(request, response);4.3.2數(shù)據(jù)庫主要代碼:create table userinf (uid int unsigned auto_increment not null ,username varchar(50) not null ,password varchar(50) not null , pwd_question varchar(50) not null

溫馨提示

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

評論

0/150

提交評論