家庭理財系統(tǒng)的設計與實現(xiàn)畢業(yè)論文_第1頁
已閱讀1頁,還剩47頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  畢 業(yè) 論 文(設計)</p><p> 論文(設計)題目家庭理財系統(tǒng)的設計與實現(xiàn)</p><p> 院系名稱</p><p> 專業(yè)(班級)</p><p> 姓名(學號)</p><p> 指導教師</p><p> 系負責人</p><p> 

2、完成時間</p><p>  家庭理財系統(tǒng)的設計與實現(xiàn)</p><p>  中 文 摘 要</p><p>  家庭財務管理系統(tǒng)就是我們常說的管理信息系統(tǒng)MIS(Management Information System)中的一種,它是一個計算機軟硬件資源以及數(shù)據(jù)庫的人-機系統(tǒng)。隨著信息技術,計算機技術的發(fā)展,在社會各領域都已經離不開信息系統(tǒng)的支持。</

3、p><p>  本系統(tǒng)是在對當代社會家庭財務狀況進行了全面分析的基礎上,制做的關于處理家庭財產,家庭副業(yè),家庭生活,家庭經營等方面的管理系統(tǒng)可以完成對各類信息的查看、查詢、添加、刪除、編輯、報表等功能。該系統(tǒng)是典型的財務管理系統(tǒng),包括“賬簿管理”、“家庭成員管理”、“收支項目管理”、“報表統(tǒng)計”四個項目模型,可對家庭成員、收支項目、收支金額等進行管理統(tǒng)計,配有多個快捷按鈕使用簡單。</p><p&

4、gt;  其開發(fā)主要包括后臺數(shù)據(jù)庫的建立鏈接和維護以及前端應用程序的開發(fā)兩個方面。對于前者建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。經過分析以微軟公司的SQL Server 2000、以及 MyEclipse和Tomcat為工具開發(fā)出來的系統(tǒng),它有著最為靈活的數(shù)據(jù)庫結構,對數(shù)據(jù)庫應用有著良好的支持。本系統(tǒng)采用的是基于B/S模式的體系結構。</p><p>  關

5、鍵詞:家庭財務管理系統(tǒng);SQL Server 2000;JSP ;B/S </p><p>  The Management System of the Family Finance</p><p><b>  ABSTRACT</b></p><p>  The management system of the family finance

6、is the management information system(MIS)that we often say. It is a human-machine system of hardware and software resources as well as database. Along with information technology, computer technology development, we are

7、not all already got away from support of the information system in the social various domains.</p><p>  This system is the basis of a comprehensive analysis of contemporary social and family financial situat

8、ion, making for dealing with family property in household sideline production, family life, family-run management system can complete all kinds of information to view, query,add, delete, edit, report and other functions.

9、 The system is typical of the financial management system, including the "books", "family management", the balance of payments project management, statistical reports four proje</p><p>  

10、Includes the development of back-end database to establish the link, and maintenance, and front-end application development aspects. For the former to establish data consistency and integrity, data security, a good libra

11、ry. For the latter requires the application fully functional, easy to use features. Microsoft SQL Server 2000, as well as MyEclipse and Tomcat as a tool to develop systems through analysis, it has the most flexible datab

12、ase structure, have a good support for database applications</p><p>  Key word:family financial management system,structured query language server 2000 database,javascript,browser/server</p><p>

13、<b>  目 錄</b></p><p><b>  中文摘要I</b></p><p>  ABSTRACTII</p><p><b>  第一章 緒論1</b></p><p>  1.1 課題簡介1</p><p>  1.2 系

14、統(tǒng)可行性分析1</p><p>  1.3 MyEclipse的介紹2</p><p>  1.4 SQL Server 2000數(shù)據(jù)庫2</p><p>  1.5 B/S體系結構3</p><p>  1.6 環(huán)境需求3</p><p>  1.6.1 軟件環(huán)境需求3</p><p&

15、gt;  1.6.2 硬件環(huán)境需求4</p><p>  第二章 系統(tǒng)需求分析5</p><p>  2.1 系統(tǒng)結構分析初步5</p><p>  2.2 系統(tǒng)設計思想5</p><p>  2.3 系統(tǒng)架構5</p><p>  2.4 數(shù)據(jù)庫需求分析6</p><p>  第三

16、章 系統(tǒng)總體設計7</p><p>  3.1 系統(tǒng)功能模塊細分7</p><p>  3.2 數(shù)據(jù)庫設計8</p><p>  3.2.1 數(shù)據(jù)庫概念結構設計8</p><p>  3.2.2 數(shù)據(jù)庫邏輯結構設計9</p><p>  3.2.3 數(shù)據(jù)庫建表10</p><p> 

17、 3.3. 系統(tǒng)整體詳細設計12</p><p>  第四章 系統(tǒng)實現(xiàn)13</p><p>  4.1 JDBC建立數(shù)據(jù)庫連接的設計13</p><p>  4.2 系統(tǒng)登錄界面的設計15</p><p>  4.3 主界面的設計17</p><p>  4.4 賬簿管理模塊的設計19</p>

18、<p>  4.4.1. 新增收支記錄20</p><p>  4.4.2. 編輯收支記錄22</p><p>  4.4.3. 查找收支記錄24</p><p>  4.4.4. 刪除收支記錄26</p><p>  4.5 家庭成員管理模塊的設計26</p><p>  4.5.1.

19、 新增用戶27</p><p>  4.5.2. 刪除已有用戶29</p><p>  4.5.3. 編輯用戶信息29</p><p>  4.6 收支項目模塊的設計31</p><p>  4.7 報表統(tǒng)計模塊的設計33</p><p>  第五章 系統(tǒng)測試38</p><p>

20、;  5.1 測試環(huán)境38</p><p>  5.1.1 軟件環(huán)境38</p><p>  5.1.2 硬件環(huán)境38</p><p>  5.2 系統(tǒng)測試38</p><p>  5.2.1 測試的目的38</p><p>  5.2.2 測試的方法及內容39</p><p>&l

21、t;b>  結論41</b></p><p><b>  參考文獻42</b></p><p><b>  致 謝43</b></p><p><b>  第一章 緒論</b></p><p><b>  1.1 課題簡介</b&g

22、t;</p><p>  隨著社會的飛速發(fā)展,隨著生活和文化水平的提高,現(xiàn)代家庭在理財上所要面對的項目和事物越來越多,需要處理的信息急劇增加。現(xiàn)在我國的家庭財務管理水平還停留在紙介質的基礎上,這樣的機制已經不能適應時代的發(fā)展,因為它浪費了許多人力和物力,在信息時代這種傳統(tǒng)的管理方法必然被計算機為基礎的信息管理所取代。為了適應現(xiàn)代化的快節(jié)奏生活,也為了可以對如此多的信息實現(xiàn)科學的管理,家庭財務管理系統(tǒng)的需求也就應運

23、而生。</p><p>  本系統(tǒng)是一個小型家庭財務管理軟件,系統(tǒng)目標是把適合家庭化管理的各種理財手段及家庭日常收支管理實現(xiàn)計算機化管理,使對家庭及家庭成員的收支活動更好地進行記錄并加以統(tǒng)計分析成為可能,也使家庭理財變得方便,快捷,全面,適應社會不同階層,不同行業(yè)人士的應用。其界面友好,操作簡單,除具備基本的財務信息管理外,還提供了用戶管理,數(shù)據(jù)查詢,報表統(tǒng)計等。它多方面把握用戶的財務情況,科學的統(tǒng)計數(shù)據(jù)。<

24、;/p><p>  家庭財務管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。</p><p>  本系統(tǒng)采用MyEclipse、Tomcat以及SQL Server 開發(fā)環(huán)境,是一個提供家庭理財功能的軟件,它主要使用于家庭成員對財

25、務狀況的掌握和管理,解決了日常的收支項目、收支金額、按時間統(tǒng)計等管理需求。主要的功能包括:</p><p>  1.賬簿管理,包括日常收入與支出的記錄,以及費用的經手人和記錄時間同時給出備注以便查看。</p><p>  2.家庭成員管理,包括賬戶的新建、修改、查詢等操作,可以很方便地實現(xiàn)系統(tǒng)用戶管理。</p><p>  3.收支項目管理,對家庭主要的收入支出項目

26、進行記錄,供查詢修改,一目了然。</p><p>  4.報表統(tǒng)計,可以設置時間段,對整個家庭在這一指定的時間段內進行收支統(tǒng)計,給出詳細盈虧結論。</p><p>  1.2 系統(tǒng)可行性分析</p><p>  現(xiàn)在,人們的生活水平和文化素質普遍提高,并且開始注重生活質量。隨著市場經濟的快速發(fā)展,觀念的不斷更新,個人理財意識普遍增強,特別是家庭理財意識得到很大發(fā)展,

27、在意識上,一方面,人們對家庭和個人的各方面消費有想進行統(tǒng)計和分析的愿望,以便更好地做好家庭收支計劃,和家庭財務管理。另一方面,各種理財手段不斷豐富,如何把各種理財手段統(tǒng)一起來,并且能更加方便的操作成為要求。在物質基礎上,計算機的應用開始普及,人們購置計算機和使用計算機的能力增強,人均計算機擁有量將快速提高。這些條件說明,人們有購買一個家庭化財務軟件的要求。在一個可接受的價格范圍內,將購買這種軟件,因此具有市場潛力。開發(fā)一個小型財務軟件,

28、用快速開發(fā)工具可在幾個也內由幾個人的開發(fā)小組完成。經過以上分析,開發(fā)一個通用型家庭理財軟件具有在經濟和市場可行性。</p><p>  技術上主要涉及界面設計和數(shù)據(jù)庫設計。在開發(fā)工具方面,可采用一個十分優(yōu)秀的用于開發(fā)Java, J2EE的Eclipse插件集合——MyEclipse,它的功能非常強大,支持也十分廣泛,尤其是對各種開源產品的支持十分不錯,例如使用到的Tomcat。利用它我們可以在數(shù)據(jù)庫和JavaEE

29、的開發(fā)、發(fā)布以及應用程序服務器的整合方面極大的提高工作效率。</p><p>  1.3 MyEclipse的介紹</p><p>  MyEclipse,是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產品的支持十分不錯。</p><p>  MyEclipse企業(yè)級工作平臺(

30、MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調試、測試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。</p><

31、p>  在結構上,MyEclipse的特征可以被分為7類: JavaEE模型; WEB開發(fā)工具 ;EJB開發(fā)工具 ;應用程序服務器的連接器 ;JavaEE項目部署服務 ;數(shù)據(jù)庫服務 ;MyEclipse整合幫助 。</p><p>  對于以上每一種功能上的類別,在Eclipse中都有相應的功能部件,并通過一系列的插件來實現(xiàn)它們。MyEclipse結構上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任

32、一模塊進行單獨的擴展和升級。 </p><p>  簡單而言,MyEclipse是Eclipse的插件,也是一款功能強大的JavaEE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯,MyEclipse 6.0以前版本需先安裝Eclipse。MyEclipse 6.0以后版本安裝時不需安裝Eclipse,開發(fā)本系統(tǒng)的工具為MyEclipse 8.5。</p><p>  1.4 SQL Se

33、rver數(shù)據(jù)庫</p><p>  SQL 的全稱是Structured Query Language,即結構化查詢語言。SQL語句可以從關系數(shù)據(jù)庫中獲得數(shù)據(jù),也可以建立數(shù)據(jù)庫、增加數(shù)據(jù)、修改數(shù)據(jù)。1986年ANSI采用SQL語言作為關系數(shù)據(jù)庫系統(tǒng)的標準語言,后被國際化標準組織(ISO)采納為國際標準。SQL語言使用方便、功能豐富、簡潔易學,是操作數(shù)據(jù)庫的工業(yè)標準語言,得到廣泛地應用。例如關系數(shù)據(jù)庫產品DB2、O

34、RACLE等都實現(xiàn)了SQL語言。同時,其它數(shù)據(jù)庫產品廠家也紛紛推出各自的支持SQL的軟件或者與SQL的接口軟件。這樣SQL語言很快被整個計算機界認可。</p><p>  SQL語言是一種非過程化語言,它一次處理一個記錄集合,對數(shù)據(jù)提供自動導航。SQL語言允許用戶在高層的數(shù)據(jù)結構上工作,而不對單個記錄進行操作。SQL語言不要求用戶指定數(shù)據(jù)的存取方法,而是使用查詢優(yōu)化器,由系統(tǒng)決定對指定數(shù)據(jù)存取的最快速手段。當設計

35、者在關系表上定義了索引時,系統(tǒng)會自動利用索引進行快速檢索,用戶不需知道表上是否有索引或者有什么類型的索引等細節(jié)。</p><p>  1.5 B/S體系結構</p><p>  瀏覽器/服務器模式(Browser/Server,簡稱C/S模式),三層結構,它的運行環(huán)境分客戶端、應用服務器端和數(shù)據(jù)庫服務器端三部分。</p><p><b>  其原理圖如下:

36、</b></p><p>  圖1-1 B/S 模式原理圖</p><p>  B/S結構是WEB興起后的一種網(wǎng)絡結構模式,WEB瀏覽器是客戶端最主要的應用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實現(xiàn)的核心部分集中到服務器上,簡化了系統(tǒng)的開發(fā)、維護和使用??蛻魴C上只要安裝一個瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服

37、務器安裝Oracle、Sybase、Informix或 SQL Server等數(shù)據(jù)庫。瀏覽器通過Web Server 同數(shù)據(jù)庫進行數(shù)據(jù)交互。在這種結構下,用戶界面完全通過WWW瀏覽器實現(xiàn),一部分事務邏輯在前端實現(xiàn),但是主要事務邏輯在服務器端實現(xiàn)。瀏覽器通過Web Server 同數(shù)據(jù)庫進行數(shù)據(jù)交互。</p><p><b>  1.6 環(huán)境需求</b></p><p>

38、;  1.6.1 軟件環(huán)境需求</p><p>  本系統(tǒng)開發(fā)需求的軟件有:</p><p>  (1)Windows xp 操作系統(tǒng)。</p><p>  (2)MyEclipse 8.5</p><p> ?。?)SQL Server 2005數(shù)據(jù)庫</p><p>  1.6.2 硬件環(huán)境需求</p>

39、<p>  本系統(tǒng)開發(fā)需求的硬件有:</p><p> ?。?)Intel奔騰系列以上CPU;</p><p> ?。?)硬盤數(shù)據(jù)量配置為120G;</p><p>  (3)計算機內存要求為2G以上;</p><p>  第二章 系統(tǒng)需求分析</p><p>  2.1 系統(tǒng)結構分析初步</p&g

40、t;<p>  整個家庭財務管理系統(tǒng)的所有用戶都是全部的家庭成員,考慮到使用該系統(tǒng)的是家庭主要管理成員(父母),其管理地位基本平等,在管理訴求上有著眾多相同點,所以系統(tǒng)設計放寬用戶權限的約束。用戶基本都可以進行系統(tǒng)功能的使用。系統(tǒng)用戶需要定時的對家庭財務進行管理,包括賬目管理、收支項目管理、報表管理等。因為這是一個家庭財務管理系,所以不需要編寫注冊界面,可以由已有用戶直接建立新用戶分配給具有操作能力的家庭成員。</p

41、><p>  利用數(shù)據(jù)庫作為數(shù)據(jù)源,通過程序圖形化界面的操作轉化成對數(shù)據(jù)庫的讀寫,這樣便于數(shù)據(jù)管理。更重要的是在系統(tǒng)使用一段時間后同樣可以憑借數(shù)據(jù)庫讀寫速度快的優(yōu)勢保證系統(tǒng)反應速度滿足用戶需求。</p><p>  2.2 系統(tǒng)設計思想</p><p>  考慮到該小型家庭財務管理軟件的系統(tǒng)要求,本系統(tǒng)采用Microsoft SQL Server數(shù)據(jù)庫加JDBC技術實現(xiàn)

42、對數(shù)據(jù)庫的訪問,如下圖:</p><p>  圖 2-1 系統(tǒng)數(shù)據(jù)交互結構圖</p><p><b>  2.3 系統(tǒng)架構</b></p><p>  通過對家庭財務管理系統(tǒng)功能的分析,本系統(tǒng)分為系統(tǒng)登陸界面、系統(tǒng)主界面、賬簿管理界面、家庭成員管理界面、收支項目管理界面、報表統(tǒng)計界面。</p><p>  系統(tǒng)結構設計圖

43、如下圖:</p><p>  圖 2-2 系統(tǒng)結構設計圖</p><p>  2.4 數(shù)據(jù)庫需求分析</p><p>  根據(jù)上面的系統(tǒng)分析和系統(tǒng)功能模塊圖,設計出下列數(shù)據(jù)項和數(shù)據(jù)結構。</p><p>  1.用戶信息,包括的數(shù)據(jù)項由:編號,用戶名,姓名,密碼,權限。</p><p>  2.賬簿信息,包括的數(shù)據(jù)項

44、有:編號,金額,款項日期,備注,項目編號,用戶編號。</p><p>  3.收支項目信息,包括的數(shù)據(jù)項有:編號,收支類型,備注。</p><p>  第三章 系統(tǒng)總體設計</p><p>  3.1 系統(tǒng)功能模塊細分</p><p>  根據(jù)對系統(tǒng)總體設計思想的分析,可將系統(tǒng)分為以下四大部分:</p><p>  1

45、.賬簿管理模塊:負責對家庭賬簿進行管理</p><p>  2.家庭成員管理模塊:負責對家庭成員進行管理</p><p>  3.收支項目管理管理模塊 :負責對收支項目進行管理</p><p>  4.統(tǒng)計報告管理模塊 :負責對指定時間收支進行統(tǒng)計管理</p><p>  下圖為系統(tǒng)功能模塊圖:</p><p>  圖

46、 3-1 系統(tǒng)功能模塊圖</p><p><b>  3.2 數(shù)據(jù)庫設計</b></p><p>  3.2.1 數(shù)據(jù)庫概念結構設計</p><p>  數(shù)據(jù)庫概念結構設計就是在以上數(shù)據(jù)項和數(shù)據(jù)結構的前提下,設計出滿足用戶需求的實體,以及它們之間的關系,為后面的邏輯結構設計打下基礎。</p><p>  本軟件規(guī)劃出的實

47、體有:用戶信息實體,賬簿信息實體,收支項目信息實體。</p><p>  各個實體具體的描述E-R圖如下:</p><p>  用戶信息實體E-R圖:</p><p>  圖3-2 用戶信息實體E-R圖</p><p>  賬簿信息實體E-R圖:</p><p>  圖3-3 賬簿信息實體E-R圖</p>

48、<p>  收支項目信息實體E-R圖:</p><p>  圖3-4 收支項目實體E-R圖</p><p>  3.2.2 數(shù)據(jù)庫邏輯結構設計</p><p>  根據(jù)以上的信息實體E-R圖,本系統(tǒng)數(shù)據(jù)庫中的各個表格的設計結構如下面的表:</p><p>  表3-1 用戶表User</p><p>  表

49、3-2 收支項目表 Items</p><p>  表3-3 賬目表 Account</p><p>  3.2.3 數(shù)據(jù)庫建表</p><p>  先啟動數(shù)據(jù)庫服務管理器,打開SQL Server 2000企業(yè)管理器,在企業(yè)管理器界面,右擊“數(shù)據(jù)庫”,選擇“新建數(shù)據(jù)庫”,填寫數(shù)據(jù)庫名稱:family,單擊“確定”完成新建數(shù)據(jù)庫。</p><p&

50、gt;  打開查詢分析器,在family里執(zhí)行以下數(shù)據(jù)庫建表語句完成建表:</p><p>  Create table User</p><p><b>  (</b></p><p>  userId int not null primary key,</p><p&g

51、t;  userName nvchar(50) not null,</p><p>  userTrueName varchar(8) not null,</p><p>  userPassword nvchar(50) not null</p><p><b>  );</b

52、></p><p>  Create table Items</p><p><b>  (</b></p><p>  itemsId int not null primary key,</p><p>  itemsType nvchar(50)

53、 not null,</p><p>  itemsDetails nvchar(200) not null</p><p><b>  );</b></p><p>  Create table Accout</p><p><b>  (</b></p&g

54、t;<p>  accountId int not null primary key,</p><p>  accountMoney money not null,</p><p>  accountDetails varchar(200) not null,</p>

55、<p>  accountDate datetime not null,</p><p>  itemsId int not null,</p><p>  userId int not null </p><p><

56、b>  );</b></p><p>  執(zhí)行完成之后可以看到如下3個表的結構:</p><p>  圖3-5 user表</p><p>  圖3-6 items表</p><p>  圖3-7 account表</p><p>  3.3 系統(tǒng)整體詳細設計</p><p>

57、  本系統(tǒng)只是個小型的家庭財務管理系統(tǒng),因此整體的數(shù)據(jù)流走向不會太復雜,其中最主要的模塊有賬簿管理、收支項目管理、家庭成員管理以及報表統(tǒng)計。</p><p>  系統(tǒng)整體數(shù)據(jù)流程圖如下:</p><p>  圖 3-8 系統(tǒng)整體數(shù)據(jù)流程圖</p><p><b>  第四章 系統(tǒng)實現(xiàn)</b></p><p>  4.1

58、JDBC建立數(shù)據(jù)庫連接的設計</p><p>  系統(tǒng)的核心內容是與數(shù)據(jù)庫進行的數(shù)據(jù)交互,通過與數(shù)據(jù)庫的連接,執(zhí)行查詢、插入、更改、刪除等操作。JDBC接口技術是一種通過java語言訪問數(shù)據(jù)庫的應用程序接口。主要實現(xiàn)三個功能:與一個數(shù)據(jù)庫建立連接(connection);向一個數(shù)據(jù)庫發(fā)送SQL語句(statement);處理數(shù)據(jù)庫返回的結果(result)。</p><p>  JDBC數(shù)

59、據(jù)庫連接步驟主要有:</p><p>  1.加入命令行:所有與數(shù)據(jù)庫有關的對象和方法都在java.sql包中,所以在使用JSP訪問數(shù)據(jù)庫的程序中必須加入命令行:</p><p>  <%@ page import=”java.sql.*”%></p><p>  2.加載驅動程序,使用語句:</p><p>  Class.fo

60、rName(“DataBaseDrivers”);</p><p>  Class是包java.lang中的一個類,該類通過調用靜態(tài)方法forName加載驅動程序。由于加載驅動程序時可能產生異常,所以需要異常處理程序段。</p><p><b>  try{</b></p><p><b>  …</b></p>

61、;<p>  }catch(Exception e){</p><p><b>  …</b></p><p><b>  }</b></p><p>  3.建立連接:要連接一個數(shù)據(jù)庫,必須創(chuàng)建Connection類的一個實例,使用語句:</p><p>  Connection c

62、onn = null;</p><p>  conn = DriverManager.getConnection(connStr,userName,userPass);</p><p>  調用DriverManager.getConnection方法建立與數(shù)據(jù)庫的連接,指定了數(shù)據(jù)庫的位置、用戶名和用戶密碼。一旦該方法找到了建立連接驅動程序和數(shù)據(jù)源,則通過用戶名和口令開始與DBMS建立連

63、接,如果連接通過則建立完成。</p><p>  4.發(fā)送SQL語句:JDBC提供了3個類向數(shù)據(jù)庫發(fā)送SQL語句:Statement、PrepareStatement和CallableStatement。主要語句:</p><p>  Connection conn = null;</p><p>  conn = DriverManager.getConnect

64、ion(connStr,userName,userPass);</p><p>  PrepareStatement pstmt=PrepareStatement(“select * from user”);</p><p>  5.創(chuàng)建結果集對象:</p><p>  Statement stmt=con.create Statement();</p>

65、<p>  ResultSet rs;</p><p>  rs=stmt.excuteQuery(“select * from user where userId =’1’”);</p><p>  6.執(zhí)行SQL語句:執(zhí)行SQL語句可選用三種方法:excuteQuery、excuteUpdate和excute。excuteQuery用于產生單個結果集的語句,excuteU

66、pdate用來執(zhí)行insert、update、delete等操作,excute用來返回多個結果集等情況。</p><p>  7.關閉對象:結束對數(shù)據(jù)庫的訪問后要關閉建立的對象,同時可能產生異常所以要加上異常處理程序語句:</p><p>  public static void closeConnection(Connection conn){</p><p> 

67、 if(conn!=null){</p><p><b>  try {</b></p><p>  conn.close();</p><p>  } catch (SQLException e) {}</p><p><b>  }</b></p><p>  /

68、/System.out.println("關閉了數(shù)據(jù)庫連接!");</p><p><b>  }</b></p><p><b>  類似的有還有: </b></p><p>  rs.close() //關閉ResultSet對象</p><p>  stmt.clos

69、e() //關閉Statement對象</p><p>  4.2 系統(tǒng)登錄界面的設計</p><p>  系統(tǒng)用戶登錄界面的設計:</p><p>  1.模塊名:系統(tǒng)用戶登錄。</p><p>  2.輸入?yún)?shù):用戶登錄名、密碼。</p><p>  3.輸出參數(shù):合法用戶信息,錯誤信息。</p>

70、<p>  用戶登錄界面的程序流程圖如下:</p><p><b>  否</b></p><p><b>  是</b></p><p><b>  否</b></p><p><b>  是</b></p><p> 

71、 圖 4-1 用戶登錄界面的程序流程圖</p><p>  登錄界面共添加2個文本框,2個按鈕。文本框用于用戶輸入用戶名及密碼。登錄按鈕提交輸入內容,查詢數(shù)據(jù)庫檢測用戶是否合法,如是系統(tǒng)用戶則進入主界面,否則報錯并要求重新輸入登錄信息。取消按鈕用于退出系統(tǒng)登陸界面。</p><p>  系統(tǒng)用戶登錄模塊的界面如下:</p><p>  圖 4-2 系統(tǒng)用戶登錄模塊的

72、界面圖</p><p><b>  主要代碼設計如下:</b></p><p>  loginAction.</p><p>  <%@page import="user.action.UserAction"%></p><p>  <%@page import="pojo

73、.UserBean"%></p><p>  <%@ page language="java"</p><p>  contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%></p><p><b>  &

74、lt;%</b></p><p>  String userName = request.getParameter("userName");</p><p>  String userPass = request.getParameter("userPass");</p><p>  String nextPage

75、 = request.getContextPath() + "/jsps/index.jsp";</p><p>  String path = request.getContextPath();</p><p>  UserBean bean = new UserAction().verifyLogin(userName, userPass);</p>

76、<p>  if(bean==null)</p><p><b>  {</b></p><p>  nextPage = path + "/login.jsp";</p><p>  session.setAttribute("errorMsg", "帳戶或密碼錯誤!");

77、</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  session.setAttribute("userRights",bean.getUserRights())

78、;</p><p>  session.setAttribute("userName",bean.getUserName());</p><p><b>  }</b></p><p>  response.sendRedirect(nextPage);</p><p><b>  %>

79、;</b></p><p>  4.3 主界面的設計</p><p>  主界面是通過登錄驗證后的功能操作界面,主體使用左右框架,左欄是功能導航欄,顯示當前登錄用戶名以及可供操作的功能選項,選中會有反顯效果。通過這樣的導航設置可以很方便地實現(xiàn)各功能間的切換,層次清晰。右欄是各功能的操作界面。使得整個系統(tǒng)在一個頁面中就完全展示出來,符合小型系統(tǒng)簡單快捷的特點。</p>

80、<p><b>  主界面設計如下:</b></p><p>  圖4-3 主界面設計圖</p><p>  主要代碼設計如下(限于篇幅,有省略):</p><p><b>  index.jsp</b></p><p><b>  ...</b></p&g

81、t;<p>  <table width="1004" height="595" border="0" cellpadding="0"cellspacing="0"></p><p><b>  <tr></b></p><p> 

82、 <td height="81"><img src="<%=path1%>/images/index_01.gif"</p><p>  width="1004" height="81"></td></p><p><b>  </tr>&l

83、t;/b></p><p><b>  <tr></b></p><p>  <td height="512" valign="top" bgcolor="#D0CCCC"></p><p>  <table width="100%&quo

84、t; height="513" border="0" cellpadding="0"</p><p>  cellspacing="0"></p><p><b>  <tr></b></p><p>  <td width="20

85、%" height="272" align="center" valign="top"></p><p>  <table width="108" border="0" cellpadding="0" cellspacing="0"</p>

86、<p>  class="mar004"></p><p><b>  <tr></b></p><p>  <td height="41" align="left" valign="bottom"</p><p>  backg

87、round="<%=path1%>/images/index_02.gif"></p><p>  <div class="mar006"><span class="text003">用戶名:</span><span</p><p>  class="text0

88、04"><%= session.getAttribute("userName")!=null?session.getAttribute("userName"):"" %><a href="<%=path1 %>/session/logout.jsp" style="font-size: 12px;tex

89、t-decoration: none;color: gray">注銷</a></span></div></td></tr></p><p>  <tr><td height="433" align="center" valign="top"</p>

90、<p>  background="<%=path1%>/images/index_03.gif" class="bg02"></p><p>  <table width="152" border="0" cellpadding="0" cellspacing="0&

91、quot;</p><p>  class="mar005"></p><p><b>  <tr></b></p><p>  <td height="41" align="left"</p><p>  background=&quo

92、t;<%=path1%>/images/index_09.gif" id="td1"><a</p><p>  href="<%=path1%>/jsps/account/account.jsp" target="mainframe"</p><p>  onClick="c

93、hange1(document.all.td1);change2(document.all.a1);"</p><p>  id="a1" class="tex001"></p><p>  <div class="mar007">賬簿管理</div></a></td>

94、;</p><p><b>  </tr></b></p><p><b>  <tr></b></p><p>  <td height="20">&nbsp;</td></tr><tr></p><p

95、>  <td height="41" align="left"background="<%=path1%>/images/index_06.gif" id="td2"><ahref="<%=path1%>/jsps/user/user.jsp" target="mainframe&

96、quot;</p><p>  onClick="change1(document.all.td2);change2(document.all.a2);"id="a2" class="tex002"></p><p><b>  …</b></p><p>  <div c

97、lass="mar008">家庭成員管理</div></p><p><b>  …</b></p><p>  <div class="mar008">收支項目管理</div></p><p><b>  …</b></p>

98、<p>  <div class="mar007">報表統(tǒng)計</div></p><p><b>  …</b></p><p>  <div class="mar007">退出系統(tǒng)</div></p><p>  4.4 賬簿管理

99、模塊的設計</p><p>  賬簿管理模塊包括家庭收支信息進行查找、添加、刪除操作。</p><p>  賬簿管理模塊的程序結構圖為:</p><p>  圖4-4 賬簿管理模塊的程序結構圖</p><p>  4.4.1. 新增收支記錄</p><p>  1.使用者:登陸進入該系統(tǒng)的用戶。</p>

100、<p>  2.目的:增加一個新的收支記錄。</p><p><b>  3.基本事件流:</b></p><p>  (1)輸入用戶名與密碼,登陸進入該系統(tǒng)。</p><p> ?。?)點擊左側的“帳簿管理”按鈕,進入帳簿管理頁面。</p><p> ?。?)單擊“新增”按鈕,進入新增頁面,如圖5-6所示,

101、提示用戶輸入收支類型、收支日期、收支家庭成員、收支金額、備注。</p><p> ?。?)輸入完畢,單擊“確定”完成新增。</p><p>  圖 4-5 賬簿管理模塊添加功能圖</p><p><b>  主要代碼設計如下:</b></p><p>  accountAdd.jsp</p><p&g

102、t;  <form action="<%=path%>/action/accountAction.jsp" method="post" id="frmAccountAdd"></p><p>  <table width="98%" border="0" cellpadding=&qu

103、ot;0" cellspacing="0"</p><p>  class="text008"></p><p>  <tr align="center"></p><p>  <td width="12%" height="35"

104、align="right">收支類型</td></p><p>  <td width="88%" align="left"><select class="inp001"</p><p>  name="itemsId" style="borde

105、r: 1px solid black;"></p><p><b>  <%</b></p><p>  for (int i = 0; i < listItems.size(); i++) {</p><p>  ItemsBean bean = (ItemsBean) listItems.get(i);</

106、p><p><b>  %></b></p><p>  <optionvalue="<%=bean.getItemsId()%>"><%=bean.getItemType()%></option></p><p><b>  <%</b><

107、/p><p><b>  }</b></p><p>  %></select></td></tr></p><p>  <tr align="center" class="bg04"></p><p>  <td heigh

108、t="35" align="right">收支日期</td></p><p>  <td align="left"><input name="accountDate" type="text"</p><p>  class="inp001&quo

109、t; id="accountDate" readonly="readonly"><input type="button" value="獲取日期" onclick="javascript:document.all['accountDate'].value=selectDate()"></td>

110、</p><p><b>  </tr></b></p><p>  <tr align="center"></p><p>  <td height="35" align="right">收支家庭成員</td></p>&

111、lt;p>  <td align="left"><select class="inp001" name="userId"></p><p><b>  <%</b></p><p>  for (int i = 0; i < listUser.size(); i++)

112、 {</p><p>  UserBean bean = (UserBean) listUser.get(i);</p><p><b>  %></b></p><p>  <option value="<%=bean.getUserId()%>"><%=bean.getUserName

113、()%></option></p><p><b>  <%</b></p><p><b>  }</b></p><p>  %></select></td></tr></p><p>  <tr align="c

114、enter" class="bg04"></p><p>  <td height="35" align="right">收支金額</td></p><p>  <td align="left"><input name="accountMone

115、y" type="text"</p><p>  class="inp001">(RMB)</td></tr></p><p>  <tr align="center"></p><p>  <td height="168" al

116、ign="right" valign="top"></p><p>  <div class="mar009">備注</div></p><p><b>  </td></b></p><p>  <td align="left

117、" valign="top"><textarea name="accountDetails"</p><p>  class="inp002"></textarea></td></p><p><b>  </tr></b></p>

118、<p><b>  </table></b></p><p>  <input type="hidden" name="cmd" value="add"></p><p><b>  </form></b></p><p

119、>  4.4.2. 編輯收支記錄</p><p>  1.使用者:登陸進入該系統(tǒng)的用戶。</p><p>  2.目的:編輯一個已有的收支記錄。</p><p><b>  3.基本事件流:</b></p><p> ?。?)輸入用戶名與密碼,登陸進入該系統(tǒng)。</p><p>  (2)點

120、擊左側的“帳簿管理”按鈕,進入帳簿管理頁面。</p><p> ?。?)單擊要編輯的記錄所在行的“編輯”按鈕,如圖5-7所示,進入編輯記錄的頁面。</p><p>  (4)輸入所要編輯的新內容,單擊“確定”,完成操作。</p><p>  圖 4-6 賬簿管理模塊編輯功能圖</p><p><b>  主要代碼設計如下:</

121、b></p><p>  accountEdit.jsp</p><p>  <form action="<%=path %>/action/accountAction.jsp" id="frmAccountEdit" method="post"></p><p>  <

122、table width="98%" border="0" cellpadding="0" cellspacing="0"</p><p>  class="text008"></p><p>  <tr align="center"></p>

123、<p>  <td width="12%" height="35" align="right">收支項目:</td></p><p>  <td width="88%" align="left"><select class="inp001"

124、</p><p>  name="itemsId" style="height: 19px;" ></p><p><b>  <%</b></p><p>  for (int i = 0; i < listItems.size(); i++) {</p><p&g

125、t;  ItemsBean itemsBean = (ItemsBean) listItems.get(i);</p><p><b>  %></b></p><p>  <optionvalue="<%=itemsBean.getItemsId()%>"><%=itemsBean.getItemType()%

126、></option></p><p><b>  <%</b></p><p><b>  }</b></p><p>  %></select></td></tr></p><p>  <tr align="cent

127、er" class="bg04"></p><p>  <td height="35" align="right">收支日期:</td></p><p>  <td align="left"><input name="accountDate&q

128、uot; type="text"</p><p>  class="inp001" id="accountDate" value="<%=bean.getAccountDate().substring(0,10) %>"><input</p><p>  type="butt

129、on" value="獲取日期"</p><p>  onclick="javascript: document.all['accountDate'].value = selectDate()" ></p><p>  </td></tr></p><p>  <t

130、r align="center"></p><p>  <td height="35" align="right">收支家庭成員:</td></p><p>  <td align="left"><select class="inp001" n

131、ame="userId"></p><p>  <%for (int i = 0; i < listUser.size(); i++) {</p><p>  UserBean userbean = (UserBean) listUser.get(i);%></p><p>  <optionvalue="

132、<%=userbean.getUserId()%>"><%=userbean.getUserName()%></option></p><p><b>  <%}%></b></p><p>  </select></td></tr></p><p&

133、gt;  <tr align="center" class="bg04"></p><p>  <td height="35" align="right">收支金額:</td></p><p>  <td align="left">&n

溫馨提示

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

評論

0/150

提交評論