版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 基于JavaBean的在線日常事務(wù)管理系統(tǒng)</p><p> [摘要] 隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,計(jì)算機(jī)技術(shù)在信息管理中的應(yīng)用也越來(lái)越普及。人們可以脫離傳統(tǒng)的記事本,通訊錄,越來(lái)越多的靠計(jì)算機(jī)來(lái)幫助人們完成這些功能,非常的快捷方便。所以使用計(jì)算機(jī)來(lái)實(shí)現(xiàn)記事本,通訊錄以及類似的其他功能也是大勢(shì)所趨的。本系統(tǒng)是一個(gè)在線的日常事務(wù)管理系統(tǒng),采用J2EE,JavaBean,Jsp,MySql等技術(shù)
2、來(lái)實(shí)現(xiàn)。系統(tǒng)包括了記事本,通訊錄,資源的上傳下載,收藏夾這幾個(gè)主要功能,還有用戶登錄以及后臺(tái)管理的輔助功能,界面友好,操作簡(jiǎn)單。本系統(tǒng)集成了這幾個(gè)日常常用的功能,幫助人們擺脫使用傳統(tǒng)記事本等帶來(lái)的麻煩,方便了人們的日常生活。</p><p> [關(guān)鍵詞] J2EE MySql 管理系統(tǒng)</p><p> Online Management System Of Daily Routine
3、 Based on JavaBean</p><p> [Abstract] With the rapid development of computer technology, computer technology is becoming increasingly popular in information management applications. People can get rid of tr
4、aditional notepad and address book, rely on computers to help them accomplish these functions more and more, very quick and easy. So the use of computers to achieve notepad, address book and other features is the general
5、 trend. This system is an online management system of daily routine, using J2EE,JavaBean,Jsp,MySql an</p><p> [Key words] J2EE MySql Management System </p><p><b> 目 錄</b></p>
6、;<p><b> 1 引言1</b></p><p> 1.1 項(xiàng)目開(kāi)發(fā)背景和意義1</p><p> 1.2 論文研究的內(nèi)容1</p><p> 2 系統(tǒng)解決方案2</p><p> 2.1 需求分析2</p><p> 2.1.1 功能需求2</p
7、><p> 2.1.2 系統(tǒng)實(shí)現(xiàn)過(guò)程分析2</p><p> 2.1.3 開(kāi)發(fā)環(huán)境分析3</p><p> 2.2 技術(shù)簡(jiǎn)介3</p><p> 2.2.1 Java Enterprise Edition簡(jiǎn)介3</p><p> 2.2.2 JavaBean簡(jiǎn)介4</p><p>
8、; 2.2.3 Jsp 簡(jiǎn)介4</p><p> 3 系統(tǒng)總體設(shè)計(jì)6</p><p> 3.1 系統(tǒng)結(jié)構(gòu)圖6</p><p> 3.2 系統(tǒng)模塊劃分6</p><p> 3.2.1 用戶注冊(cè)和登錄模塊6</p><p> 3.2.2通訊錄功能模塊6</p><p> 3
9、.2.3 記事本功能模塊7</p><p> 3.2.4 收藏夾功能模塊7</p><p> 3.2.5 存儲(chǔ)模塊7</p><p> 3.2.6 后臺(tái)管理模塊7</p><p><b> 4 數(shù)據(jù)庫(kù)設(shè)計(jì)8</b></p><p> 4.1 數(shù)據(jù)庫(kù)分析8</p>
10、<p> 4.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)8</p><p> 4.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)10</p><p> 5 系統(tǒng)詳細(xì)設(shè)計(jì)13</p><p> 5.1 用戶注冊(cè)和登錄模塊13</p><p> 5.1.1 登錄功能13</p><p> 5.1.2 注冊(cè)功能15</p>
11、;<p> 5.2 通訊錄功能模塊16</p><p> 5.2.1 添加聯(lián)系人16</p><p> 5.2.2 刪除聯(lián)系人17</p><p> 5.2.3 查詢聯(lián)系人18</p><p> 5.3 記事本功能模塊19</p><p> 5.3.1添加事件19</p>
12、;<p> 5.3.2 查詢事件19</p><p> 5.4 收藏夾功能模塊20</p><p> 5.4.1 添加收藏20</p><p> 5.4.2 修改收藏21</p><p> 5.5 存儲(chǔ)資源模塊22</p><p> 5.5.1 上傳文件22</p>
13、<p> 5.5.2 下載文件23</p><p> 5.5.3 刪除文件24</p><p> 5.6 后臺(tái)管理模塊24</p><p> 5.6.1 管理員登錄24</p><p> 5.6.2 刪除注冊(cè)用戶26</p><p> 5.6.3 修改管理員信息27</p&g
14、t;<p> 5.7 數(shù)據(jù)庫(kù)操作模塊28</p><p> 5.7.1 數(shù)據(jù)庫(kù)操作28</p><p> 5.7.2 分頁(yè)技術(shù)28</p><p> 6系統(tǒng)測(cè)試與維護(hù)30</p><p> 6.1系統(tǒng)測(cè)試30</p><p> 6.2系統(tǒng)維護(hù)32</p><p&
15、gt;<b> 7 結(jié)論33</b></p><p><b> 致 謝34</b></p><p><b> 參考文獻(xiàn)35</b></p><p><b> 1 引言</b></p><p> 1.1 項(xiàng)目開(kāi)發(fā)背景和意義</p>
16、<p> 隨著時(shí)代的發(fā)展,科技也在不斷地改變和發(fā)展。作為21世紀(jì)的新人類,網(wǎng)絡(luò)已經(jīng)成為我們生活中不可或缺的一部分。越來(lái)越多的人依賴網(wǎng)絡(luò),需要網(wǎng)絡(luò)的各種服務(wù)來(lái)為自己的生活提供便利?,F(xiàn)在網(wǎng)絡(luò)上的各種服務(wù)和不同功能的網(wǎng)站也越來(lái)越多,發(fā)展也在日趨成熟。我們可以在網(wǎng)絡(luò)上購(gòu)物,充話費(fèi),也可以利用網(wǎng)絡(luò)分享資源,可以在網(wǎng)絡(luò)上或者利用云來(lái)存儲(chǔ)我們的日常信息和資源。而且網(wǎng)絡(luò)可以讓我們更快的獲取資訊,能夠?qū)崟r(shí)的觀測(cè)某些數(shù)據(jù)的變化,能夠隨時(shí)隨地
17、的實(shí)現(xiàn)某些需求,如查詢信息,查詢路況等。</p><p> 而隨著網(wǎng)絡(luò)的普及和這些功能的需求的增長(zhǎng),有很多不同的網(wǎng)站出現(xiàn),紛繁復(fù)雜。當(dāng)我們想要使用它們來(lái)完善日常的生活和辦公時(shí),可能需要登錄不同的網(wǎng)站和系統(tǒng),來(lái)滿足自己的各種不同的需求。而這個(gè)系統(tǒng)的開(kāi)發(fā),就是為了方便人們的生活和工作,將一部分人們?nèi)粘S玫谋容^多的功能集合在一個(gè)系統(tǒng)平臺(tái)上,這樣,人們就能使用同一個(gè)賬戶,在同一個(gè)平臺(tái)上,實(shí)現(xiàn)不同的需求操作。</p
18、><p> 本系統(tǒng)主要集合的功能有四個(gè),包括通訊錄,收藏夾,存儲(chǔ)資源,事件記錄。而且這幾個(gè)功能一般都是以客戶端單機(jī)版的形式出現(xiàn)。這幾個(gè)功能在生活中比較常用,而且,有時(shí)候,我們會(huì)遇到想要使用其中某個(gè)功能,但是由于沒(méi)有攜帶的原因而無(wú)法實(shí)現(xiàn)。而這個(gè)系統(tǒng)就是為了解決人們的這些麻煩而設(shè)計(jì)的。有了它,就可以隨時(shí)隨地的上網(wǎng)查看自己所需的信息,而且可以使用一個(gè)賬號(hào),在同一個(gè)平臺(tái)上實(shí)現(xiàn)這些不同的功能,省去了不同賬號(hào)密碼的記憶混淆等麻
19、煩。這個(gè)系統(tǒng)可以更加方便我們的生活。</p><p> 1.2 論文研究的內(nèi)容 </p><p> 要設(shè)計(jì)并實(shí)現(xiàn)這個(gè)系統(tǒng),主要要實(shí)現(xiàn)的內(nèi)容如下:</p><p> ·要能實(shí)現(xiàn)用戶的注冊(cè)和登錄,以及用戶信息的修改。</p><p> ·要能支持對(duì)聯(lián)系人的添加,刪除,修改和查詢。</p><p>
20、; ·要能支持對(duì)記事本中事件信息的添加,刪除,查詢等。</p><p> ·要能查詢,添加,刪除用戶感興趣的網(wǎng)站url地址。</p><p> ·要能支持用文件的上傳,下載和刪除的功能。</p><p> ·要能實(shí)現(xiàn)管理員對(duì)后臺(tái)的管理,包括用戶信息的修改,刪除以及管理員信息的修改。</p><p&g
21、t;<b> 2 系統(tǒng)解決方案</b></p><p><b> 2.1 需求分析</b></p><p> 本系統(tǒng)需要用戶先注冊(cè),若已有賬號(hào),則需要登錄,然后就能進(jìn)入主界面。在主界面中,用戶可以根據(jù)自己的需求選擇不同的模塊,不同模塊都有一個(gè)圖標(biāo),可以鏈接到不同模塊的主界面。而不同模塊中又有刪除,添加,查詢等不同功能,會(huì)通過(guò)鏈接以及數(shù)據(jù)提交
22、等轉(zhuǎn)到各自對(duì)應(yīng)的頁(yè)面。</p><p> 2.1.1 功能需求</p><p> 下面就是本系統(tǒng)的具體功能需求:</p><p><b> 通訊錄模塊</b></p><p> 這個(gè)模塊主要實(shí)現(xiàn)的功能是保存用戶聯(lián)系人的姓名,電話,郵箱,地址等信息,并能夠查詢,刪除,修改聯(lián)系人的信息。</p><
23、;p><b> 記事本模塊</b></p><p> 這個(gè)模塊用來(lái)記錄用戶想要記住的日常事務(wù),待辦事項(xiàng),或者一些用戶感興趣的</p><p> 信息,同時(shí)能夠查詢,刪除,修改事件的信息。</p><p><b> 收藏夾模塊</b></p><p> 這個(gè)模塊主要實(shí)現(xiàn)保存用戶感興趣的
24、網(wǎng)頁(yè)的url地址,并能查詢,添加,刪除收</p><p><b> 藏的url地址。</b></p><p><b> 存儲(chǔ)資源模塊</b></p><p> 主要實(shí)現(xiàn)文件的上傳和下載,還有刪除功能,滿足用戶文件的共享。</p><p><b> 用戶注冊(cè)和登錄</b>
25、</p><p> 用戶可以注冊(cè)成為普通用戶,然后可以登錄系統(tǒng),使用系統(tǒng)的其他功能,并且可以修改用戶自己的密碼,郵箱等信息。</p><p><b> 后臺(tái)管理模塊</b></p><p> 管理員可以登錄系統(tǒng),對(duì)后臺(tái)進(jìn)行管理,包括普通用戶信息的修改,刪除等,也可以進(jìn)行管理員信息的修改。</p><p> 2.1
26、.2 系統(tǒng)實(shí)現(xiàn)過(guò)程分析</p><p> 首先根據(jù)系統(tǒng)功能分析設(shè)計(jì)出數(shù)據(jù)庫(kù),以及數(shù)據(jù)庫(kù)中的各個(gè)數(shù)據(jù)表。在實(shí)現(xiàn)各個(gè)功能模塊時(shí),采用先模塊化,后集成的方式。即對(duì)系統(tǒng)各個(gè)功能模塊分別獨(dú)立設(shè)計(jì)和調(diào)試,在創(chuàng)建系統(tǒng)主窗體時(shí)再將各個(gè)功能模塊通過(guò)主窗體的功能按鈕集成到一起,最后進(jìn)行系統(tǒng)整體設(shè)計(jì)調(diào)試。</p><p> 在訪問(wèn)數(shù)據(jù)庫(kù)時(shí),采用公用數(shù)據(jù)模塊存放訪問(wèn)數(shù)據(jù)庫(kù)需要的對(duì)象。該模塊在各功能模塊中被直接
27、調(diào)用,避免對(duì)數(shù)據(jù)庫(kù)的反復(fù)連接,并可減少代碼編寫,從而提高系統(tǒng)開(kāi)發(fā)效率。</p><p> 2.1.3 開(kāi)發(fā)環(huán)境分析</p><p> 開(kāi)發(fā)環(huán)境:Windows 7</p><p><b> 開(kāi)發(fā)工具:Java</b></p><p> 開(kāi)發(fā)平臺(tái):MyEclipse 8.6</p><p>
28、 數(shù)據(jù)庫(kù)管理系統(tǒng):Mysql</p><p> 運(yùn)行環(huán)境:Windows 7</p><p><b> 2.2 技術(shù)簡(jiǎn)介</b></p><p> 2.2.1 Java Enterprise Edition簡(jiǎn)介</p><p> Java企業(yè)版(Java Enterprise Edition),是Sun公司為企
29、業(yè)級(jí)應(yīng)用推出的標(biāo)準(zhǔn)平臺(tái)[5]。核心是一組技術(shù)規(guī)范與指南,其中所包含的各類組件、服務(wù)架構(gòu)及技術(shù)層次,均有共同的標(biāo)準(zhǔn)及規(guī)格,讓各種依循J2EE架構(gòu)的不同平臺(tái)之間,存在良好的兼容性,解決過(guò)去企業(yè)后端使用的信息產(chǎn)品彼此之間無(wú)法兼容,企業(yè)內(nèi)部或外部難以互通的窘境。</p><p> J2EE為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制:</p><p> (1) 保留現(xiàn)存的IT
30、資產(chǎn):</p><p> J2EE架構(gòu)可以充分利用用戶原有的投資,如一些公司使用的BEA Tuxedo、IBM CICS,IBM Encina,、Inprise VisiBroker 以及Netscape Application Server。這之所以成為可能是因?yàn)镴2EE擁有廣泛的業(yè)界支持和一些重要的'企業(yè)計(jì)算'領(lǐng)域供應(yīng)商的參與。每一個(gè)供應(yīng)商都對(duì)現(xiàn)有的客戶提供了不用廢棄已有投資,進(jìn)入可移植的J
31、2EE領(lǐng)域的升級(jí)途徑。由于基于J2EE平臺(tái)的產(chǎn)品幾乎能夠在任何操作系統(tǒng)和硬件配置上運(yùn)行,現(xiàn)有的操作系統(tǒng)和硬件也能被保留使用。</p><p> (2) 高效的開(kāi)發(fā):</p><p> J2EE允許公司把一些通用的、很繁瑣的服務(wù)端任務(wù)交給中間供應(yīng)商去完成。這樣開(kāi)發(fā)人員可以集中精力在如何創(chuàng)建商業(yè)邏輯上,相應(yīng)地縮短了開(kāi)發(fā)時(shí)間。</p><p> (3) 支持異構(gòu)環(huán)境
32、:</p><p> J2EE能夠開(kāi)發(fā)部署在異構(gòu)環(huán)境中的可移植程序?;贘2EE的應(yīng)用程序不依賴任何特定操作系統(tǒng)、中間件、硬件。因此設(shè)計(jì)合理的基于J2EE的程序只需開(kāi)發(fā)一次就可部署到各種平臺(tái)。這在典型的異構(gòu)企業(yè)計(jì)算環(huán)境中是十分關(guān)鍵的。J2EE標(biāo)準(zhǔn)也允許客戶訂購(gòu)與J2EE兼容的第三方的現(xiàn)成的組件,把他們部署到異構(gòu)環(huán)境中,節(jié)省了由自己制訂整個(gè)方案所需的費(fèi)用。</p><p><b>
33、; (4) 可伸縮性:</b></p><p> 企業(yè)必須要選擇一種服務(wù)器端平臺(tái),這種平臺(tái)應(yīng)能提供極佳的可伸縮性去滿足那些在他們系統(tǒng)上進(jìn)行商業(yè)運(yùn)作的大批新客戶?;贘2EE平臺(tái)的應(yīng)用程序可被部署到各種操作系統(tǒng)上。例如可被部署到高端UNIX與大型機(jī)系統(tǒng),這種系統(tǒng)單機(jī)可支持64至256個(gè)處理器。(這是NT服務(wù)器所望塵莫及的)J2EE領(lǐng)域的供應(yīng)商提供了更為廣泛的負(fù)載平衡策略。能消除系統(tǒng)中的瓶頸,允許多臺(tái)
34、服務(wù)器集成部署。這種部署可達(dá)數(shù)千個(gè)處理器,實(shí)現(xiàn)可高度伸縮的系統(tǒng),滿足未來(lái)商業(yè)應(yīng)用的需要。</p><p> (5) 穩(wěn)定的可用性:</p><p> 一個(gè)服務(wù)器端平臺(tái)必須能全天候運(yùn)轉(zhuǎn)以滿足公司客戶、合作伙伴的需要。因?yàn)镮NTERNET是全球化的、無(wú)處不在的,即使在夜間按計(jì)劃停機(jī)也可能造成嚴(yán)重?fù)p失。若是意外停機(jī),那會(huì)有災(zāi)難性后果。J2EE部署到可靠的操作環(huán)境中,他們支持長(zhǎng)期的可用性。一些
35、J2EE部署在WINDOWS環(huán)境中,客戶也可選擇魯棒性更好的操作系統(tǒng)如Sun Solaris、IBM OS/390。魯棒性最好的操作系統(tǒng)可達(dá)到99.999%的可用性或每年只需5分鐘停機(jī)時(shí)間。這是實(shí)時(shí)性很強(qiáng)商業(yè)系統(tǒng)理想的選擇。</p><p> 2.2.2 JavaBean簡(jiǎn)介</p><p> JavaBean 是一種JAVA語(yǔ)言寫成的可重用組件[1]。用戶可以使用JavaBean將功
36、能、處理、值、數(shù)據(jù)庫(kù)訪問(wèn)和其他任何可以用java代碼創(chuàng)造的對(duì)象進(jìn)行打包,并且其他的開(kāi)發(fā)者可以通過(guò)內(nèi)部的JSP頁(yè)面、Servlet、其他JavaBean、applet程序或者應(yīng)用來(lái)使用這些對(duì)象。用戶可以認(rèn)為JavaBean提供了一種隨時(shí)隨地的復(fù)制和粘貼的功能,而不用關(guān)心任何改變。</p><p> JavaBean可分為兩種:一種是有用戶界面(UI,User Interface)的JavaBean;還有一種是沒(méi)有
37、用戶界面,主要負(fù)責(zé)處理事務(wù)(如數(shù)據(jù)運(yùn)算,操縱數(shù)據(jù)庫(kù))的JavaBean[13]。JSP通常訪問(wèn)的是后一種JavaBean[2]。</p><p> 一個(gè)bean沒(méi)有必須繼承的特定的基類或接口。可視化的bean必須繼承的類是java.awt.Component,這樣它們才能添加到可視化容器中去,非可視化bean則不需要繼承這個(gè)類。有許多bean,無(wú)論是在應(yīng)用程序構(gòu)造器工具中,還是在最后創(chuàng)建好的應(yīng)用程序中,都具有很
38、強(qiáng)的可視化特征,但這并非每個(gè)bean必須的特征。在使用Java編程時(shí),并不是所有軟件模塊都需要轉(zhuǎn)換成bean。Bean比較適合于那些具有可視化操作和定制特性的軟件組件。</p><p> 2.2.3 Jsp 簡(jiǎn)介</p><p> JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)[6]。JSP技術(shù)有點(diǎn)類
39、似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。 用JSP開(kāi)發(fā)的Web應(yīng)用是跨平臺(tái)的,既能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行[7]。</p><p> 全名為java server page,其根本是一個(gè)簡(jiǎn)化的Servlet設(shè)計(jì),他實(shí)現(xiàn)了Html語(yǔ)法中的java擴(kuò)張(以 <%
40、, %>形式)。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。Web服務(wù)器在遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶端。插入的Java程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能[4]。</p><p> JSP技術(shù)使用Java編程語(yǔ)言編寫類
41、XML的tags和scriptlets,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過(guò)tags和scriptlets訪問(wèn)存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)的顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開(kāi)發(fā)變得迅速和容易[11]。 JSP(JavaServer Pages)是一種動(dòng)態(tài)頁(yè)面技術(shù),它的主要目的是將表示邏輯從Servlet中分離出來(lái)[9]。</p><p> JSP頁(yè)
42、面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶端的瀏覽器。Java Servlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開(kāi)發(fā)需要Java Servlet和JSP配合才能完成[8]。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο?,具有平臺(tái)無(wú)關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。</p><p><b&g
43、t; 3 系統(tǒng)總體設(shè)計(jì)</b></p><p><b> 3.1 系統(tǒng)結(jié)構(gòu)圖</b></p><p> 系統(tǒng)包括了用戶登錄,管理員登錄,通訊錄,記事本,收藏夾,存儲(chǔ)資源這幾個(gè)模塊,它們相互之間會(huì)傳遞信息,實(shí)現(xiàn)整個(gè)系統(tǒng)的聯(lián)通。系統(tǒng)的結(jié)構(gòu)如圖3-1所示:</p><p> 圖3-1 系統(tǒng)結(jié)構(gòu)圖</p><p&
44、gt; 3.2 系統(tǒng)模塊劃分</p><p> 根據(jù)初期的設(shè)計(jì)思想和需求分析的結(jié)果,根據(jù)本平臺(tái)要達(dá)到的功能要求,本系統(tǒng)大致可以抽象為以下幾個(gè)模塊:</p><p> 3.2.1 用戶注冊(cè)和登錄模塊</p><p> 用戶注冊(cè)和登錄模塊是整個(gè)系統(tǒng)的開(kāi)始,一輸入本系統(tǒng)的url地址就會(huì)進(jìn)入用戶登錄的界面。如果沒(méi)有注冊(cè),需要通過(guò)鏈接進(jìn)入注冊(cè)頁(yè)面來(lái)進(jìn)行注冊(cè)。注冊(cè)后的用
45、戶名和密碼等信息會(huì)存入數(shù)據(jù)庫(kù)。若是管理員,可以選擇管理員登錄來(lái)進(jìn)行后臺(tái)的登錄。</p><p> 在用戶輸入密碼和用戶名時(shí)都不能為空,使用javascript來(lái)檢測(cè)是否為空,并給予提醒。然后系統(tǒng)會(huì)根據(jù)數(shù)據(jù)庫(kù)中查詢到的密碼與輸入密碼是否相等來(lái)判斷是否轉(zhuǎn)到主頁(yè)面,若是不相等則會(huì)彈出警告,希望用戶重新輸入。</p><p> 3.2.2通訊錄功能模塊</p><p>
46、 當(dāng)用戶進(jìn)入這個(gè)模塊相對(duì)應(yīng)的頁(yè)面時(shí),用戶可以按條件分類搜索聯(lián)系人,系統(tǒng)會(huì)使用分頁(yè)技術(shù)把相關(guān)的信息顯示在這個(gè)頁(yè)面。當(dāng)用戶想要添加或刪除聯(lián)系人時(shí),可以通過(guò)圖標(biāo)文字的鏈接,到相應(yīng)操作的頁(yè)面去。</p><p> 在添加頁(yè)面,有一個(gè)表單,用戶可以在這個(gè)表單中輸入聯(lián)系人信息,電話,姓名,地址,郵箱,分類等。然后提交表單,系統(tǒng)會(huì)將相關(guān)信息存入對(duì)應(yīng)的數(shù)據(jù)庫(kù)表中。</p><p> 刪除操作時(shí),會(huì)到
47、刪除頁(yè)面,詢問(wèn)是否刪除,確定的話就會(huì)執(zhí)行SQL語(yǔ)句,將信息刪除。</p><p> 3.2.3 記事本功能模塊</p><p> 這個(gè)模塊類似于通訊錄模塊,主要是執(zhí)行事件的添加,刪除,修改,查詢等。也是由表單來(lái)把數(shù)據(jù)提交給保存頁(yè)面,在保存頁(yè)面中會(huì)使用SQL語(yǔ)句,把事件內(nèi)容存入數(shù)據(jù)庫(kù)中,修改,刪除等都有對(duì)應(yīng)的頁(yè)面,會(huì)執(zhí)行對(duì)應(yīng)的SQL語(yǔ)句,來(lái)實(shí)現(xiàn)對(duì)應(yīng)的功能。</p><
48、p> 3.2.4 收藏夾功能模塊</p><p> 這個(gè)模塊會(huì)將用戶感興趣的網(wǎng)站的url存儲(chǔ)的到數(shù)據(jù)庫(kù)中,用戶可以查詢,刪除之前保存的地址。</p><p> 3.2.5 存儲(chǔ)模塊</p><p> 這個(gè)模塊中,可以實(shí)現(xiàn)用戶對(duì)文件的上傳下載,刪除等功能。在用戶注冊(cè)時(shí),系統(tǒng)會(huì)為每個(gè)用戶建立一個(gè)文件夾,當(dāng)有文件上傳時(shí),會(huì)上傳到那個(gè)相應(yīng)的文件夾中,當(dāng)要下載時(shí)
49、,則會(huì)下載到用戶要求的本地位置。用戶也可以通過(guò)相應(yīng)頁(yè)面的操作刪除上傳的文件。</p><p> 3.2.6 后臺(tái)管理模塊</p><p> 管理員可以在用戶登錄頁(yè)面中選擇相應(yīng)鏈接到管理員的登錄頁(yè)面。進(jìn)入后臺(tái)后,可以查看,修改,刪除普通用戶的信息。管理員也可以通過(guò)修改頁(yè)面修改管理員的相關(guān)信息,這些操作都會(huì)使用不同的SQL語(yǔ)句來(lái)對(duì)相應(yīng)的數(shù)據(jù)庫(kù)進(jìn)行操作。</p><p&g
50、t;<b> 4 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 數(shù)據(jù)庫(kù)是項(xiàng)目中非常重要的一個(gè)組成,沒(méi)有好的數(shù)據(jù)庫(kù)設(shè)計(jì)以及數(shù)據(jù)庫(kù)的選用,那么一個(gè)系統(tǒng)將可能無(wú)法真正的投入測(cè)試和使用。</p><p><b> 4.1 數(shù)據(jù)庫(kù)分析</b></p><p> 本系統(tǒng)使用MySQL數(shù)據(jù)庫(kù),它是一個(gè)開(kāi)放源碼的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)[10]
51、,開(kāi)發(fā)者為瑞典MySQL AB公司[12],現(xiàn)為Sun公司的一部分。2009年Oracle宣布收購(gòu)Sun公司,因此MySQL可能成為Oracle旗下產(chǎn)品。由于使用的是windows7的平臺(tái),而sqlserver在這個(gè)平臺(tái)上不易安裝,所以考慮使用mysql數(shù)據(jù)庫(kù),能夠安裝并且使用方便。</p><p> 4.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</p><p> 將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)
52、即概念模型的過(guò)程就是概念結(jié)構(gòu)設(shè)計(jì)[3]。它是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵。概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它比數(shù)據(jù)模型更獨(dú)立于機(jī)器、更抽象,從而更加穩(wěn)定。</p><p> 描述概念模型的有力工具是E-R模型,通過(guò)對(duì)系統(tǒng)數(shù)據(jù)庫(kù)的需求分析得知應(yīng)建立“管理員信息表”、“用戶信息表”、“通訊錄表”、“收藏夾表”、“記事本表”。</p><p> 系統(tǒng)中管理員的實(shí)體圖如圖4-1所示:</p&g
53、t;<p> 圖4-1 管理員實(shí)體圖</p><p> 系統(tǒng)的普通用戶的實(shí)體圖如圖4-2所示:</p><p> 圖4-2 用戶實(shí)體圖</p><p> 系統(tǒng)的通訊錄實(shí)體圖如圖4-3所示:</p><p> 圖4-3 通訊錄實(shí)體圖</p><p> 系統(tǒng)的記事本實(shí)體圖如圖4-4所示:</
54、p><p> 圖4-4 記事本實(shí)體圖</p><p> 系統(tǒng)的收藏夾實(shí)體圖如圖4-5所示:</p><p> 圖4-5 收藏夾實(shí)體圖</p><p> 4.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p> 關(guān)系模型主要是其中的實(shí)體和實(shí)體間的聯(lián)系均是由單一的結(jié)構(gòu)類型即關(guān)系(表)來(lái)表示的。</p><p&
55、gt; 數(shù)據(jù)庫(kù)中兩實(shí)體間1:n聯(lián)系轉(zhuǎn)換為一個(gè)與n端對(duì)應(yīng)的關(guān)系模式合并的關(guān)系模式的方法是將聯(lián)系的屬性與1端的碼加入n端作為屬性,主碼為n端實(shí)體的主碼。</p><p> 圖轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型所要解決的問(wèn)題是如何將實(shí)體和實(shí)體間的聯(lián)系轉(zhuǎn)換成關(guān)系模式,如何確定這些關(guān)系模式的屬性和碼。</p><p> 管理員信息表(admin表)用來(lái)存儲(chǔ)管理員編號(hào),管理員用戶名,管理員密碼等,如表4-1所示
56、:</p><p> 表4-1 admin表</p><p> 用戶信息表(users表)用來(lái)存儲(chǔ)用戶的編號(hào),用戶名,用戶密碼,用戶郵件地址,用戶注冊(cè)日期和用戶的qq號(hào),如表4-2所示:</p><p> 表4-2 users表</p><p> 通訊錄表(list表)用來(lái)存儲(chǔ)聯(lián)系人編號(hào),用戶編號(hào),聯(lián)系人地址,電話等信息,如表4-3所
57、示:</p><p> 表4-3 list表</p><p> ?。?)記事本表(note表)用來(lái)存儲(chǔ)事件的編號(hào),用戶姓名,事件的標(biāo)題和內(nèi)容,以及填寫該事件的時(shí)間。如表4-4所示:</p><p> 表4-4 note表</p><p> ?。?)收藏夾表(fav表)用來(lái)存儲(chǔ)用戶姓名,收藏信息的標(biāo)題和收藏的地址等信息,如表4-5所示:&l
58、t;/p><p> 表4-5 fav表</p><p><b> 5 系統(tǒng)詳細(xì)設(shè)計(jì)</b></p><p> 經(jīng)過(guò)前期的需求分析、總體設(shè)計(jì)、數(shù)據(jù)庫(kù)分析,已經(jīng)為詳細(xì)設(shè)計(jì)做好了準(zhǔn)備。本章將使用圖和部分代碼來(lái)實(shí)現(xiàn)詳細(xì)設(shè)計(jì)。</p><p> 5.1 用戶注冊(cè)和登錄模塊</p><p> 5.1.
59、1 登錄功能</p><p> 用戶登錄頁(yè)面如圖5-1所示:</p><p> 圖5-1 用戶登錄頁(yè)面</p><p> 登錄功能就是要實(shí)現(xiàn)用戶輸入用戶名和密碼后可以登錄到主頁(yè)上,若是管理員,則點(diǎn)擊圖5-1中的“管理員登錄”鏈接到管理員登錄界面,若是注冊(cè),則點(diǎn)擊注冊(cè)按鈕鏈接到注冊(cè)頁(yè)面。部分實(shí)現(xiàn)代碼和說(shuō)明如下:</p><p> //獲
60、取用戶提交的登錄名和密碼</p><p> sqlstr="select password,id from users where username='"+username+"'";</p><p> //調(diào)用conn.jsp頁(yè)面中引入的JavaBean對(duì)象iCanDb的doSelect()方法執(zhí)行查詢操作</p>
61、<p> rs=iCanDb.doSelect(sqlstr);</p><p> //將查詢得到的結(jié)果集中的密碼字段與用戶輸入的密碼進(jìn)行匹配</p><p> if(rs.next())</p><p><b> {</b></p><p> String pwd=rs.getString(&quo
62、t;password").trim();</p><p> String userid=rs.getString("id").trim();</p><p><b> }</b></p><p> //登錄成功,則轉(zhuǎn)向index.jsp頁(yè)面</p><p> 登錄成功后會(huì)進(jìn)入主頁(yè)面,
63、進(jìn)入這個(gè)主頁(yè)面后用戶可以選擇自己想要的功能模塊,完成相應(yīng)的需求。主頁(yè)面如圖5-2所示:</p><p> 圖5-2 系統(tǒng)主頁(yè)面</p><p> 在主頁(yè)面中主要是四個(gè)模塊功能的鏈接。分別鏈接到每個(gè)模塊的主頁(yè)面,左邊的菜單欄也可以鏈接到各個(gè)模塊。部分實(shí)現(xiàn)代碼如下:</p><p> //讀取存儲(chǔ)在session中的登錄用戶id查詢出登錄用戶存儲(chǔ)在通訊簿中聯(lián)系人的
64、數(shù)目</p><p> int notecount=0;</p><p> sqlstr="select id from note where user='"+iCan+"'";</p><p> rs=iCanDb.doSelect(sqlstr);</p><p> if(r
65、s.next())</p><p><b> {</b></p><p> rs.last();</p><p> notecount=rs.getRow();</p><p><b> }</b></p><p> //使用File類中的各個(gè)方法,判斷用戶空間中上
66、傳文件的個(gè)數(shù)</p><p> int boxcount=0;</p><p> long userBoxSize=0;</p><p> String iCanroot=dirPath.replace('\\','/');</p><p> File userBox=new File(iCanroot
67、+"box/"+iCan);</p><p> File userBoxfile[]=userBox.listFiles();</p><p> Boxcount=userBoxfile.length;</p><p> 5.1.2 注冊(cè)功能</p><p> 注冊(cè)頁(yè)面如圖5-3所示:</p><
68、;p> 圖5-3 用戶注冊(cè)頁(yè)面</p><p> 注冊(cè)功能要實(shí)現(xiàn)的是用戶輸入用戶名和密碼等信息,然后系統(tǒng)檢測(cè)用戶名是否已經(jīng)被注冊(cè),若沒(méi)有,則將這些信息保存到users表中,創(chuàng)建出一個(gè)新的用戶。然后會(huì)轉(zhuǎn)回到登錄頁(yè)面登錄進(jìn)入主頁(yè)面。部分實(shí)現(xiàn)代碼如下:</p><p> //將用戶輸入的注冊(cè)信息存儲(chǔ)到數(shù)據(jù)庫(kù)中</p><p> sqlstr="in
69、sert into users(id,username,password,email,qq,date) values("+iCan+"'"+username+"','"+password+"','"+email+"','"+qq+"','"+date+&qu
70、ot;')";</p><p> iCanDb.doAdd(sqlstr);</p><p> sqlstr="select id from users where username='"+username+"'"; </p><p> 保存注冊(cè)信息后要為新用戶創(chuàng)建文件夾,以便文件的上傳
71、和下載。</p><p> rs=iCanDb.doSelect(sqlstr);</p><p> rs.next();</p><p> String id=rs.getString("id");</p><p> //String dirPath="D:\\java實(shí)例\\OnlineManager
72、";</p><p> String iCanroot=dirPath.replace('\\','/');</p><p> File boxPath=new File(iCanroot+"box",username);</p><p> boxPath.mkdir();</p>&
73、lt;p> 5.2 通訊錄功能模塊</p><p> 5.2.1 添加聯(lián)系人</p><p> 通訊錄的添加頁(yè)面如圖5-4所示:</p><p> 圖5-4 添加聯(lián)系人頁(yè)面</p><p> 這個(gè)頁(yè)面可以添加聯(lián)系人的姓名,電話,地址,郵箱等信息,使用表單傳給頁(yè)面的保存操作,執(zhí)行SQL語(yǔ)句,把這些信息存入數(shù)據(jù)庫(kù)中。部分代碼如下:
74、</p><p> //如果提交的參數(shù)為save時(shí),執(zhí)行數(shù)據(jù)庫(kù)插入操作</p><p> sqlstr="insert into list([user],[sort],[name],[mobile],[home],[office],[email],[qq],[msn],[post],[address],[other]) values('"+iCan+&quo
75、t;','"+sort+"','"+name+"','"+mobile+"','"+home+"','"+office+"','"+email+"','"+qq+"','&
76、quot;+msn+"','"+post+"','"+address+"','"+other+"')";</p><p> //執(zhí)行數(shù)據(jù)庫(kù)中的插入記錄操作</p><p> iCanDb.doAdd(sqlstr);</p><p&
77、gt; 5.2.2 刪除聯(lián)系人</p><p> 刪除聯(lián)系人的頁(yè)面如圖5-5所示:</p><p> 圖5-5 刪除聯(lián)系人頁(yè)面</p><p> 刪除聯(lián)系人主要是詢問(wèn)一下是否確定刪除,若點(diǎn)提交就是確定,則會(huì)執(zhí)行刪除的SQL語(yǔ)句,把數(shù)據(jù)庫(kù)中對(duì)應(yīng)姓名的聯(lián)系人信息刪除,若返回,則放棄刪除。部分代碼如下:</p><p> //如果請(qǐng)求中的
78、參數(shù)為del,則執(zhí)行數(shù)據(jù)庫(kù)中刪除記錄的操作</p><p> sqlstr="delete from list where id="+id;</p><p> //調(diào)用JavaBean中的業(yè)務(wù)邏輯方法,進(jìn)行數(shù)據(jù)庫(kù)刪除操作</p><p> iCanDb.doDelete(sqlstr);</p><p> if(a
79、ction.equals("confirm"))</p><p><b> {</b></p><p><b> try</b></p><p><b> {</b></p><p> sqlstr="select name from li
80、st where id="+id;</p><p> rs=iCanDb.doSelect(sqlstr);</p><p> rs.next();</p><p><b> }</b></p><p><b> }</b></p><p> 5.2.3
81、查詢聯(lián)系人</p><p> 查詢聯(lián)系人的頁(yè)面如圖5-6所示:</p><p> 圖5-6 查詢聯(lián)系人頁(yè)面</p><p> 查詢聯(lián)系人頁(yè)面,是在聯(lián)系人模塊主頁(yè)面上輸入查詢的條件,然后頁(yè)面會(huì)跳轉(zhuǎn)到這個(gè)顯示頁(yè)面,顯示有關(guān)這個(gè)聯(lián)系人的所有信息。所有信息都是從數(shù)據(jù)庫(kù)中查詢出來(lái)的。部分代碼如下:</p><p> sqlstr="s
82、elect * from list where id="+id;</p><p> //調(diào)用JavaBean中的業(yè)務(wù)邏輯方法,進(jìn)行數(shù)據(jù)庫(kù)查詢操作</p><p> rs=iCanDb.doSelect(sqlstr);</p><p> //循環(huán)遍歷查詢后得到的結(jié)果集,得到記錄的每個(gè)字段</p><p> if(rs.nex
83、t())</p><p><b> {</b></p><p> String sort=rs.getString("sort");</p><p> String name=rs.getString("name");</p><p> String mobile=rs.g
84、etString("mobile");</p><p> if(mobile==null) mobile=" ";</p><p> String home=rs.getString("home");</p><p> if(home==null) home=" ";</p&
85、gt;<p> String office=rs.getString("office");</p><p> if(office==null) office=" ";</p><p> String email=rs.getString("email");</p><p> if(em
86、ail==null) email=" ";</p><p> String qq=rs.getString("qq");</p><p><b> }</b></p><p> 5.3 記事本功能模塊</p><p><b> 5.3.1添加事件</b>
87、;</p><p> 事件添加的頁(yè)面如圖5-7所示:</p><p> 圖5-7 事件添加頁(yè)面</p><p> 這個(gè)頁(yè)面用于添加事件,用戶可以輸入標(biāo)題和內(nèi)容,然后點(diǎn)提交按鈕,系統(tǒng)會(huì)將對(duì)應(yīng)的內(nèi)容存入數(shù)據(jù)庫(kù)中。部分代碼如下:</p><p> sqlstr="insert into note1([user],[title],[
88、content],[date]) values('"+iCan+"','"+title+"','"+content+"','"+date+"')";</p><p> iCanDb.doAdd(sqlstr);</p><p> 5.
89、3.2 查詢事件</p><p> 事件的查詢頁(yè)面如圖5-8所示:</p><p> 圖5-8 查詢事件頁(yè)面</p><p> 查詢頁(yè)面中會(huì)按用戶的搜索要求顯示相應(yīng)的記事本中的事件信息,顯示標(biāo)題,事件內(nèi)容和存入事件的日期。部分代碼如下:</p><p> sqlstr="select * from note where id
90、="+id;</p><p> rs=iCanDb.doSelect(sqlstr);</p><p> if(rs.next())</p><p><b> {</b></p><p> String title=rs.getString("title");</p>
91、<p> String content=rs.getString("content");</p><p> content=turn(content);</p><p> Date datetemp1=rs.getDate("date");</p><p> java.text.SimpleDateForma
92、t datetemp2=new java.text.SimpleDateFormat("yyyy-MM-dd"); </p><p> String date=datetemp2.format(datetemp1);}</p><p> 5.4 收藏夾功能模塊</p><p> 5.4.1 添加收藏</p><p&g
93、t; 添加收藏的頁(yè)面如圖5-9所示:</p><p> 圖5-9 添加收藏頁(yè)面</p><p> 收藏夾添加頁(yè)面,可以輸入標(biāo)題,要收藏的url地址,選擇url地址所屬分類,然后提交,系統(tǒng)會(huì)將數(shù)據(jù)存入數(shù)據(jù)庫(kù)。部分代碼如下:</p><p> sqlstr="insert into fav([user],[sort],[title],[urlstr])
94、 values('"+iCan+"','"+sort+"','"+title+"','"+urlstr+"')";</p><p> iCanDb.doAdd(sqlstr);</p><p><b> }</b>
95、;</p><p> 5.4.2 修改收藏</p><p> 修改收藏夾的頁(yè)面如圖5-10所示:</p><p> 圖5-10 修改收藏頁(yè)面</p><p> 修改頁(yè)面和添加頁(yè)面非常類似,操作也非常類似,用戶輸入想要修改的信息,然后系統(tǒng)會(huì)把相應(yīng)的數(shù)據(jù)使用update的SQL語(yǔ)句,更新原有的數(shù)據(jù)。部分代碼如下:</p>&
96、lt;p> sqlstr="update [fav] set [sort]='"+sort+"',[title]='"+title+"',[urlstr]='"+urlstr+"' where id="+id;</p><p> iCanDb.doUpdate(sqlstr);
97、</p><p> sqlstr="select * from fav where id="+id;</p><p> rs=iCanDb.doSelect(sqlstr);</p><p> 5.5 存儲(chǔ)資源模塊</p><p> 5.5.1 上傳文件</p><p> 上傳文件的頁(yè)面如
98、圖5-11所示:</p><p> 圖5-11 文件上傳頁(yè)面</p><p> 在這個(gè)頁(yè)面中,點(diǎn)擊文本框就會(huì)彈出文件的選擇框,用戶選擇自己想要上傳的文件,最多三個(gè)文件,點(diǎn)擊上傳按鈕提交表單到另外一個(gè)jsp文件,這個(gè)文件負(fù)責(zé)實(shí)現(xiàn)上傳。單個(gè)文件最大為5MB,若是超過(guò)了,系統(tǒng)會(huì)提示,并且要求重傳。上傳主要使用的是SmartUpload類,這個(gè)類中的upload方法可以實(shí)現(xiàn)文件上傳。部分代碼如
99、下:</p><p> // 新建一個(gè)SmartUpload對(duì)象</p><p> SmartUpload su = new SmartUpload();</p><p><b> // 上傳初始化</b></p><p> su.initialize(pageContext);</p><p
100、><b> // 設(shè)定上傳限制</b></p><p> // 1.限制每個(gè)上傳文件的最大長(zhǎng)度。</p><p> su.setMaxFileSize(5000000);//數(shù)據(jù) 以B為單位 </p><p> // 2.限制總上傳數(shù)據(jù)的長(zhǎng)度。</p><p> su.setTotalMaxFileSiz
101、e(150000000);</p><p> // 3.設(shè)定允許上傳的文件(通過(guò)擴(kuò)展名限制)。</p><p> su.setAllowedFilesList("rar,zip,txt.mp3,jpg,gif,ppt,doc,xls,bmp,wav,mid,dat");</p><p> // 4.設(shè)定禁止上傳的文件(通過(guò)擴(kuò)展名限制),禁止
102、上傳帶有exe,bat,jsp,htm,html擴(kuò)展名的文件和沒(méi)有擴(kuò)展名的文件。</p><p> su.setDeniedFilesList("exe,bat,jsp,htm,html,asp,php,com");</p><p><b> // 上傳文件</b></p><p> su.upload();</
103、p><p> // 將上傳文件全部保存到指定目錄</p><p> String iCanroot=dirPath.replace('\\','/');</p><p> su.save(iCanroot+"box/"+iCan);</p><p> 5.5.2 下載文件</p&g
104、t;<p> 文件下載的頁(yè)面如圖5-12所示:</p><p> 圖5-12 文件下載頁(yè)面</p><p> 這是資源存取的功能頁(yè)面。在這個(gè)頁(yè)面中點(diǎn)擊下載,就會(huì)把文件名傳給下載操作頁(yè)面,在下載操作頁(yè)面中執(zhí)行下載,頁(yè)面會(huì)彈出窗口讓用戶自行選擇存儲(chǔ)到哪個(gè)空間。部分代碼如下:</p><p> // 新建一個(gè)SmartUpload對(duì)象,用于上傳和下載
105、 </p><p> SmartUpload su = new SmartUpload();</p><p><b> // 初始化</b></p><p> su.initialize(pageContext);</p><p> // 設(shè)定contentDisposition為null以禁止瀏覽器自動(dòng)打開(kāi)文件
106、,</p><p> //保證點(diǎn)擊鏈接后是下載文件。而不用瀏覽器自行打開(kāi)文件 </p><p> su.setContentDisposition(null);</p><p><b> // 下載文件</b></p><p> su.downloadFile(iCanroot+"box/"+
107、iCan+"/"+filename);</p><p> 5.5.3 刪除文件</p><p> 刪除文件的頁(yè)面如圖5-13所示:</p><p> 圖5-13 文件刪除頁(yè)面</p><p> 當(dāng)用戶在資源存取主頁(yè)面上選擇刪除時(shí),系統(tǒng)就會(huì)執(zhí)行相應(yīng)代碼,把用戶文件夾中用戶想要?jiǎng)h除的文件刪除掉。部分代碼如下:</
108、p><p> //如果請(qǐng)求中的參數(shù)為del時(shí),將調(diào)用File類中的delete()方法刪除文件</p><p> if(action.equals("del"))</p><p><b> {</b></p><p> File delfile=new File(iCanroot+"bo
109、x/"+iCan+"/"+filename);</p><p> delfile.delete();}</p><p> 5.6 后臺(tái)管理模塊</p><p> 5.6.1 管理員登錄</p><p> 管理員登錄的頁(yè)面如圖5-14所示,登錄成功以后的后臺(tái)頁(yè)面如圖5-15所示:</p>&l
110、t;p> 圖5-14 管理員登錄頁(yè)面</p><p> 管理員登錄界面如圖5-14,管理員輸入用戶名和密碼,點(diǎn)擊提交按鈕,表單數(shù)據(jù)會(huì)提交給另外一個(gè)驗(yàn)證頁(yè)面,驗(yàn)證通過(guò),就會(huì)登錄進(jìn)后臺(tái),如圖5-15,在后臺(tái)中會(huì)顯示出普通用戶的使用本系統(tǒng)的相關(guān)情況,管理員可以管理普通用戶。</p><p> 圖5-15 后臺(tái)管理頁(yè)面</p><p> 這就是管理員登錄后的后
111、臺(tái)管理主頁(yè)面,輸入想要搜索的普通用戶用戶名,點(diǎn)擊搜索可得其詳細(xì)情況。部分代碼如下:</p><p> //根據(jù)管理員登錄名進(jìn)行查詢</p><p> //將查詢后得到的結(jié)果集中的密碼字段與管理員登錄密碼進(jìn)行匹配</p><p> if(rs.next())</p><p><b> {</b></p&g
112、t;<p> String pwd=rs.getString("password");//.trim();</p><p> //String id=rs.getString("id").trim();</p><p> //如果匹配成功,則表示登錄密碼正確</p><p> if(password==p
113、assword)</p><p><b> {</b></p><p> //session.setAttribute("iCanadmin",id);</p><p> response.sendRedirect("admin.jsp");</p><p><b>
114、; }</b></p><p> //否則輸出登錄錯(cuò)誤信息</p><p> 5.6.2 刪除注冊(cè)用戶</p><p> 刪除用戶的頁(yè)面如圖5-16所示:</p><p> 圖5-16 刪除用戶頁(yè)面</p><p> 在后臺(tái)管理主界面上有刪除鏈接,當(dāng)想要?jiǎng)h除某個(gè)普通用戶時(shí),就可以點(diǎn)擊其后相應(yīng)
115、的刪除字樣的鏈接,然后會(huì)跳轉(zhuǎn)到這個(gè)頁(yè)面。點(diǎn)擊提交,就執(zhí)行刪除操作,把對(duì)應(yīng)的用戶刪除掉。部分代碼實(shí)現(xiàn)如下:</p><p> //如果請(qǐng)求中包含的參數(shù)為del,則執(zhí)行刪除用戶操作</p><p> if(action.equals("del"))</p><p><b> {</b></p><p&g
116、t; //從不同的數(shù)據(jù)表中刪除該用戶的信息</p><p> sqlstr="delete from list where user='"+id+"'";</p><p> iCanDb.doDelete(sqlstr);</p><p> sqlstr="delete from note1
117、where user='"+id+"'";</p><p> iCanDb.doDelete(sqlstr);</p><p> sqlstr="delete from fav where user='"+id+"'";</p><p> iCanDb.doD
118、elete(sqlstr);</p><p> sqlstr="delete from users where id="+id;</p><p> iCanDb.doDelete(sqlstr);</p><p> //從資源區(qū)的目錄中刪除所有上傳的文件</p><p> String iCanroot=dirPa
119、th.replace('\\','/');</p><p> File userBox=new File(iCanroot+"box/"+id);</p><p> File userBoxfile[]=userBox.listFiles();</p><p> if(userBoxfile.length&g
120、t;0)</p><p><b> {</b></p><p> for(int i=0;i<userBoxfile.length;i++)</p><p><b> {</b></p><p> userBoxfile[i].delete();</p><p>
121、;<b> }</b></p><p><b> }</b></p><p> userBox.delete();</p><p><b> }</b></p><p> 5.6.3 修改管理員信息</p><p> 修改管理員信息的頁(yè)面如
122、圖5-17所示:</p><p> 圖5-17 管理員信息修改頁(yè)面</p><p> 在這個(gè)頁(yè)面中,管理員可以修改自己的信息,包括用戶名和密碼,系統(tǒng)會(huì)把數(shù)據(jù)更新進(jìn)數(shù)據(jù)庫(kù)中。部分代碼如下:</p><p> //如果請(qǐng)求中提交的參數(shù)為save,則執(zhí)行數(shù)據(jù)庫(kù)更新操作</p><p> sqlstr="update [admin]
123、 set [username]='"+username+"'";</p><p> if(!password.equals(""))</p><p><b> {</b></p><p> sqlstr=sqlstr+",[password]='"
124、;+password+"'";</p><p><b> }</b></p><p> sqlstr=sqlstr+" where id="+(String)session.getAttribute("iCanadmin");</p><p><b> try&
125、lt;/b></p><p><b> {</b></p><p> //如果管理員用戶名和密碼都正確,則執(zhí)行數(shù)據(jù)庫(kù)更新操作</p><p> iCanDb.doUpdate(sqlstr);</p><p><b> }</b></p><p><b&
126、gt; }</b></p><p> 5.7 數(shù)據(jù)庫(kù)操作模塊</p><p> 5.7.1 數(shù)據(jù)庫(kù)操作</p><p> 本系統(tǒng)使用JavaBean來(lái)進(jìn)行數(shù)據(jù)庫(kù)操作的封裝,其中封裝了數(shù)據(jù)庫(kù)的連接,添加數(shù)據(jù),刪除數(shù)據(jù),更新數(shù)據(jù),查詢數(shù)據(jù),以及關(guān)閉數(shù)據(jù)庫(kù)等的操作。使用時(shí),在其他頁(yè)面的頂部使用java的usebean元素把這個(gè)數(shù)據(jù)庫(kù)JavaBean引用
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)(論文)-基于javabean的在線日常事務(wù)管理系統(tǒng)
- 企業(yè)員工日常事務(wù)管理表格
- 企業(yè)員工日常事務(wù)管理表格
- 企業(yè)員工日常事務(wù)管理表格
- 關(guān)于職院校教學(xué)日常事務(wù)管理
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---校園日常事務(wù)管理系統(tǒng)
- 埃森哲日常事務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 綜合部日常事務(wù)管理工作流程
- 53658.基于android的高校學(xué)生日常事務(wù)管理系統(tǒng)研究
- 公司人事行政部門日常事務(wù)工作總覽
- 企業(yè)在線事務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 事務(wù)管理系統(tǒng)
- 基于.net的學(xué)生事務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 考試事務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 企業(yè)事務(wù)管理系統(tǒng)vfp課程設(shè)計(jì)
- 杭州就業(yè)事務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- vc課程設(shè)計(jì)報(bào)告--教學(xué)事務(wù)管理系統(tǒng)
- 基于工程設(shè)計(jì)的事務(wù)管理及研究.pdf
- 基于Web的事務(wù)管理系統(tǒng)的研究與實(shí)現(xiàn).pdf
- 基于Javabean的在線視頻點(diǎn)播系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論