版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 本科生畢業(yè)論文(設(shè)計(jì))</p><p> 題目:“xx”海景小區(qū)車輛智能管理系統(tǒng) </p><p> 年 月 日</p><p> 摘 要 </p><p> 隨著小區(qū)物業(yè)水平
2、的提高,小區(qū)車輛管理系統(tǒng)已經(jīng)成為目前實(shí)際應(yīng)用中的常見而重要的一種運(yùn)作系統(tǒng)體系。本文以小區(qū)的發(fā)展現(xiàn)狀為背景,分析了以往小區(qū)對車輛管理方面的不足,及推廣小區(qū)車輛管理系統(tǒng)的必要性和可行性。小區(qū)車輛管理系統(tǒng)是典型的管理信息系統(tǒng),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備、界面友好、容易使用等特點(diǎn)。</p><p
3、> 作為對經(jīng)典的MVC設(shè)計(jì)模式的一種具體實(shí)現(xiàn),Struts是建立在當(dāng)前動態(tài)網(wǎng)站設(shè)計(jì)中jsp,servlet,xml等相關(guān)開發(fā)技術(shù)基礎(chǔ)之上的一種主流的開發(fā)架構(gòu),它跟Tomcat、Turbine等諸多Apache項(xiàng)目一樣,是開源軟件,這是它的一大優(yōu)點(diǎn)。使開發(fā)者能更深入的了解其內(nèi)部實(shí)現(xiàn)機(jī)制。另外,就目前國內(nèi)的JSP開發(fā)者而言,除了使用JSP自帶的常用標(biāo)記外,很少開發(fā)自己的標(biāo)記,或許Struts是一個(gè)很好的起點(diǎn)。雖然它現(xiàn)在還有不少缺點(diǎn),
4、但它是一種非常優(yōu)秀的J2EE MVC實(shí)現(xiàn)方式。</p><p> 關(guān)鍵詞:Struts,J2EE,MVC</p><p><b> Abstract</b></p><p> This thesis takes current state of the development of the residence industry as th
5、e background, has analysed the deficiency under the traditional management mode of my State Residence industry, have explained the necessity of the housekeeping informationization of the residential area.</p><
6、p> The management system of vehicles is management system is a typical managing information system (MIS). It's development is composed of two parts, including the establishment and maintenance of the database at
7、the background as well as the programming exploitation at the front platform. This vehicles management system, designed to improve the managing efficiency, has accomplished many functions such as the normative and scient
8、ific management of the cars information, looking up the cars’ informati</p><p> Nowadays,In the software developing field,Java plus Jsp is the Mainstream technology. As the classics MVC design pattern one k
9、ind of concreterealization, struts is the establishment in the current dynamicwebsite design jsp, servlet, correlation development technology baseand so on the above xml one kind of mainstream development overheadconstru
10、ction, is one kind based on the MVC classics MVC design patternframe. Struts with Tomcat, Turbine and so on many Apache project is same,operates source so</p><p> Key Words:Struts,J2EE,MVC</p><p&
11、gt;<b> 目 錄</b></p><p><b> 1 引言1</b></p><p> 2 開發(fā)技術(shù)介紹2</p><p> 2.1 B/S模式2</p><p> 2.1.1 何為B/S模式2</p><p> 2.1.2 B/S模式的優(yōu)點(diǎn)2&
12、lt;/p><p> 2.2 Struts架構(gòu)2</p><p> 2.2.1 Struts架構(gòu)的由來與發(fā)展2</p><p> 2.2.2 Struts架構(gòu)的前景3</p><p> 2.3 開發(fā)環(huán)境3</p><p> 2.3.1 硬件環(huán)境3</p><p> 2.2.2
13、軟件環(huán)境3</p><p> 3 程序設(shè)計(jì)的主體內(nèi)容4</p><p> 3.1 數(shù)據(jù)庫設(shè)計(jì)4</p><p> 3.1.1 數(shù)據(jù)庫分析4</p><p> 3.1.2 數(shù)據(jù)庫實(shí)體關(guān)系設(shè)計(jì)4</p><p> 3.1.3 系統(tǒng)數(shù)據(jù)字典5</p><p> 3.2 系統(tǒng)概要
14、設(shè)計(jì)6</p><p> 3.3 系統(tǒng)詳細(xì)設(shè)計(jì)7</p><p> 3.3.1 登陸模塊的設(shè)計(jì)7</p><p> 3.3.2 車輛信息模塊的設(shè)計(jì)7</p><p> 3.3.2 車輛付費(fèi)方式模塊的設(shè)計(jì)8</p><p> 3.3.3 用戶信息模塊的設(shè)計(jì)8</p><p>
15、 3.3.4 日志模塊的設(shè)計(jì)9</p><p> 4 系統(tǒng)功能的實(shí)現(xiàn)與結(jié)果10</p><p> 4.1 登錄模塊的實(shí)現(xiàn)與結(jié)果10</p><p> 4.2 主要信息版塊的實(shí)現(xiàn)與結(jié)果10</p><p> 4.2.1 車輛信息模塊的實(shí)現(xiàn)10</p><p> 4.2.2 車輛付費(fèi)方式模塊的實(shí)現(xiàn)1
16、2</p><p> 4.2.3 用戶信息模塊的實(shí)現(xiàn)13</p><p> 4.2.4 日志模塊的實(shí)現(xiàn)16</p><p> 5 系統(tǒng)開發(fā)難點(diǎn)與技巧19</p><p> 5.1 系統(tǒng)開發(fā)中遇到的問題19</p><p> 5.1.1 中文亂碼問題的解決方法19</p><p&g
17、t; 5.1.2 在JSP和Bean中加載數(shù)據(jù)庫驅(qū)動19</p><p> 5.1.3 Java類名的命名規(guī)范19</p><p> 5.2 系統(tǒng)開發(fā)中采用的小技巧19</p><p> 5.2.1代碼進(jìn)行模塊化處理及工廠方法的應(yīng)用19</p><p> 5.2.2 單例模式20</p><p>&
18、lt;b> 6 總結(jié)21</b></p><p><b> 致 謝22</b></p><p><b> [參考文獻(xiàn)]23</b></p><p><b> 1 引言</b></p><p> 中國互聯(lián)網(wǎng)經(jīng)過10年的持續(xù)發(fā)展,目前在普及和應(yīng)用上
19、正步入嶄新的多元化應(yīng)用階段。尋求在軟件開發(fā)過程中設(shè)計(jì)級的重用的想法由來已久,這個(gè)領(lǐng)域的一個(gè)突破就是設(shè)計(jì)模式的提出。所謂設(shè)計(jì)模式,實(shí)際上就是對以往成功的解決方案的重復(fù)利用。具有低耦合和高重用性和可適用性等多種有點(diǎn)的MVC模式是應(yīng)用比較多的一種設(shè)計(jì)模式,很多的項(xiàng)目,運(yùn)用MVC這一設(shè)計(jì)思想,并已將其做成了web框架[1]。web框架有很多,這里只使用Struts框架作為研究對象。</p><p> 本課題主要運(yùn)用St
20、ruts框架結(jié)構(gòu)針對小區(qū)車輛智能管理系統(tǒng)進(jìn)行研究開發(fā)。小區(qū)車輛智能管理系統(tǒng)是典型的管理信息系統(tǒng),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng),數(shù)據(jù)安全性好的數(shù)據(jù)庫,而對于后者則要求應(yīng)用程序功能完備,界面友好,容易使用等特點(diǎn)。</p><p> 近幾年來,隨著我國經(jīng)濟(jì)的迅速發(fā)展,互聯(lián)網(wǎng)和多媒體的迅速普及,智能化的管理系統(tǒng)被引入到日常生活中。傳統(tǒng)的管理系
21、統(tǒng)采用客戶機(jī)/服務(wù)器結(jié)構(gòu),既有高度的交互性,高效的用戶界面等優(yōu)點(diǎn),但也存在數(shù)據(jù)交互和交互規(guī)則移至客戶端,代價(jià)高,維護(hù)成本高,缺少中央控制,多媒體要素不易擴(kuò)展等缺點(diǎn)?;诳蛻魴C(jī)的瀏覽器/服務(wù)器結(jié)構(gòu)克服了以上缺點(diǎn),由于web服務(wù)器將瀏覽器的界面布局,人及交互形式以及界面間邏輯關(guān)系設(shè)在服務(wù)器端定義,從而保證了界面的完整清晰易維護(hù),并且使前臺客戶機(jī)的負(fù)載減到最小[2]。目前在我國,小區(qū)的物業(yè)管理正處于一個(gè)發(fā)展的階段。小區(qū)車輛管理系統(tǒng)隸屬于小區(qū)物
22、業(yè)管理中的重要一部分,同時(shí)也是小區(qū)高度科學(xué)化,規(guī)范化管理的一個(gè)重要體現(xiàn)。隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,小區(qū)管理系統(tǒng)也將會不斷完善。</p><p> 小區(qū)車輛智能管理系統(tǒng)的引入從本質(zhì)上顛覆了以往小區(qū)車輛信息采用人工手動管理的狀態(tài)。它可以實(shí)現(xiàn)對車輛管理的科學(xué)化,規(guī)范化。同時(shí)涵蓋對用戶的注冊,顯示用戶信息,用戶信息更改及刪除的功能,使用戶信息清晰透明。車輛收費(fèi)記錄功能,明確顯示了各類型車輛的收費(fèi)標(biāo)準(zhǔn),日志功能使系統(tǒng)更加
23、完整。全面記錄了每天每時(shí)發(fā)生的信息,確保第一時(shí)間了解小區(qū)車輛及車主狀況??偟膩碚f,小區(qū)車輛智能管理系統(tǒng)有助于提高小區(qū)車輛信息管理的效率,主要是為了方便小區(qū)對車輛的實(shí)際情況進(jìn)行集中的管理工作,以提高整個(gè)小區(qū)的物業(yè)工作。</p><p><b> 2 開發(fā)技術(shù)介紹</b></p><p><b> 2.1 B/S模式</b></p>
24、<p> 2.1.1 何為B/S模式</p><p> B/S結(jié)構(gòu)(Browser/Server,瀏覽器/服務(wù)器模式):是WEB興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,WEB瀏覽器是客戶端最主要的應(yīng)用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護(hù)和使用[3]。 </p><p> 客戶機(jī)上只要安裝一個(gè)瀏覽器(Browser),如Netscap
25、e Navigator或Internet Explorer,服務(wù)器安裝Oracle、Sybase、Informix或 SQL Server等數(shù)據(jù)庫。瀏覽器通過Web Server 同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。工作原理如圖1-1所示。</p><p> 圖1-1 瀏覽器/服務(wù)器(B/S)模式工作原理</p><p> 2.1.2 B/S模式的優(yōu)點(diǎn)</p><p>
26、 B/S結(jié)構(gòu)最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展非常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個(gè)用戶名和密碼,就可以使用了。大大的減輕了服務(wù)器的負(fù)擔(dān);并增加了交互性。同時(shí),B/S模式還具有維護(hù)和升級方式簡單的優(yōu)點(diǎn)。目前,軟件系統(tǒng)的改進(jìn)和升級越來越頻繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性[4]。</p><p> 2.2 Stru
27、ts架構(gòu)</p><p> 2.2.1 Struts架構(gòu)的由來與發(fā)展</p><p> Struts最早是作為Apache Jakarta項(xiàng)目的組成部分,項(xiàng)目的創(chuàng)立者希望通過對該項(xiàng)目的研究,改進(jìn)和提高JavaServer Pages 、Servlet、標(biāo)簽庫以及面向?qū)ο蟮募夹g(shù)水準(zhǔn)。Struts這個(gè)名字來源于在建筑和舊式飛機(jī)中使用的支持金屬架。這個(gè)框架之所以叫”Struts”,是為了提醒
28、我們記住那些支撐我們房屋,建筑,橋梁,甚至我們踩高蹺時(shí)候的基礎(chǔ)支撐。這也是一個(gè)解釋Struts在開發(fā)Web應(yīng)用程序中所扮演的角色的精彩描述[5]。當(dāng)建立一個(gè)物理建筑時(shí),建筑工程師使用支柱為建筑的每一層提供支持。同樣,軟件工程師使用Struts為業(yè)務(wù)應(yīng)用的每一層提供支持。它的目的是為了幫助我們減少在運(yùn)用MVC設(shè)計(jì)模型來開發(fā)Web應(yīng)用的時(shí)間。Struts框架一經(jīng)推出,即受到了個(gè)Java開發(fā)群體的廣泛重視,從2004年開始逐漸升溫,并日漸成為
29、Java創(chuàng)建web應(yīng)用開發(fā)的最流行的框架工具,精通Struts架構(gòu)已經(jīng)成為Java web程序員必備的技能。</p><p> 2.2.2 Struts架構(gòu)的前景</p><p> 近來流行起來的Struts2在WebWork的基礎(chǔ)上有了比Struts有了更加革新的改進(jìn)。在Struts原有的優(yōu)點(diǎn)上又更加保證了它的穩(wěn)定性,而且吸收了Struts和WebWork兩者的優(yōu)勢,非常值得期待。由
30、此可見,Struts框架的發(fā)展空間依然很廣闊,無論是目前已經(jīng)成為主流框架結(jié)構(gòu)的Struts還是蓄勢待發(fā)的Struts2都將在未來幾年里成為廣大程序員的“寵兒”并將它們的優(yōu)勢發(fā)揮得淋漓盡致。</p><p><b> 2.3 開發(fā)環(huán)境</b></p><p> 2.3.1 硬件環(huán)境</p><p> 操作系統(tǒng):WindowsXP,CPU:P
31、4, 內(nèi)存:1G;</p><p> 2.2.2 軟件環(huán)境</p><p> 工具:Eclipse3.4,JDK1.5;WEB服務(wù)器:Tomcat6.0;數(shù)據(jù)庫:MySQL6.0;</p><p> 3 程序設(shè)計(jì)的主體內(nèi)容</p><p><b> 3.1 數(shù)據(jù)庫設(shè)計(jì)</b></p><p&g
32、t; 3.1.1 數(shù)據(jù)庫分析</p><p> 作為一個(gè)具有一定應(yīng)用價(jià)值的系統(tǒng),從本質(zhì)上說其操作的對象為數(shù)據(jù)庫中存儲的具體記錄。因此不僅要求所使用的數(shù)據(jù)庫具有比較高的穩(wěn)定性,安全性及高負(fù)載下保持足夠響應(yīng)的能力,還要求作出科學(xué)的數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì),以提高數(shù)據(jù)庫的利用效率和減少數(shù)據(jù)冗余。</p><p> MySQL是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),MySQL數(shù)據(jù)庫系
33、統(tǒng)使用最常用的數(shù)據(jù)庫管理語言--結(jié)構(gòu)化查詢語言(SQL)進(jìn)行數(shù)據(jù)庫管理[6]。MySQL因?yàn)槠渌俣?、可靠性和適應(yīng)性而備受關(guān)注。大多數(shù)人都認(rèn)為在不需要事務(wù)化處理的情況下,MySQL是管理內(nèi)容最好的選擇。同時(shí),MySQL 還支持在同一計(jì)算機(jī)上同時(shí)運(yùn)行多個(gè)關(guān)系數(shù)據(jù)庫實(shí)例每個(gè)實(shí)例有其獨(dú)立的系統(tǒng)和用戶數(shù)據(jù)庫集合應(yīng)用程序采用與連接不同計(jì)算機(jī)上的SQL Server 實(shí)例大致相同的方式連接同一計(jì)算機(jī)上的各個(gè)實(shí)例[7]。考慮到以上諸多優(yōu)點(diǎn),本系統(tǒng)采用M
34、ySQL作為后臺數(shù)據(jù)庫。MySQL 引進(jìn)了數(shù)據(jù)庫和服務(wù)器增強(qiáng)功能以及其它一些新的特性。</p><p> (1) XML Extensible Markup Language 擴(kuò)展標(biāo)示語言支持</p><p> (2) 新數(shù)據(jù)類型New Data Types </p><p> (3) 數(shù)據(jù)行中的Text 類型數(shù)據(jù)</p><p>
35、(4) 用戶自定義函數(shù)User-Defined Functions </p><p> (5) 索引Index 增強(qiáng)</p><p> (6) 全文檢索Full-Text Search 增強(qiáng)</p><p> 3.1.2 數(shù)據(jù)庫實(shí)體關(guān)系設(shè)計(jì)</p><p> 從系統(tǒng)設(shè)計(jì)的實(shí)際情況出發(fā),通過分析,我們可以設(shè)計(jì)出數(shù)據(jù)庫的邏輯結(jié)構(gòu)E—R圖,
36、即實(shí)體—關(guān)系圖,從而建立數(shù)據(jù)庫的物理結(jié)構(gòu)即表結(jié)構(gòu)。所謂實(shí)體反映到數(shù)據(jù)庫中即為數(shù)據(jù)表,它存儲著具體的記錄信息;所謂關(guān)系,即表與表之間的聯(lián)系,這種聯(lián)系大多是通過外鍵(Foreign Key)實(shí)現(xiàn)的。根據(jù)需求,設(shè)計(jì)了四個(gè)表系統(tǒng)數(shù)據(jù)庫(car_management):車輛信息模塊表(cars),付費(fèi)方式表(cost_style),用戶信息表(host),日志表(log),系統(tǒng)數(shù)據(jù)庫E-R圖如圖3-1所示。</p><p>
37、; 圖3-1 系統(tǒng)實(shí)體關(guān)系圖(E-R圖)</p><p> 注:上圖中實(shí)體用矩形表示,屬性用橢圓表示,各實(shí)體的主鍵屬性下方用橫線標(biāo)注。</p><p> 3.1.3 系統(tǒng)數(shù)據(jù)字典</p><p> 確定了數(shù)據(jù)庫的邏輯結(jié)構(gòu)之后,接下來需要做的就是將這些概念性的,邏輯性的東西轉(zhuǎn)化為數(shù)據(jù)庫中能夠存放信息的數(shù)據(jù)表。數(shù)據(jù)庫car_management包含以下7張表:車
38、輛信息表(cars),付費(fèi)方式表(cost_style),車輛狀態(tài)表(current_statement),用戶信息表(host),車輛進(jìn)出記錄表(in_out_record),日志表(log),管理員表(user)。</p><p><b> 1、車輛信息表</b></p><p> 車輛信息表(cars)用來保存有關(guān)車輛的基本信息,表的結(jié)構(gòu)如表3-2所示。&l
39、t;/p><p> 表3-2 車輛信息表(cars)</p><p><b> 2、收費(fèi)方式表</b></p><p> 收費(fèi)方式表(cost_style)用來保存不同停放方式的收費(fèi)信息,表的結(jié)構(gòu)如表3-3所示。</p><p> 表3-3 收費(fèi)方式表(cost_style)</p><p>
40、<b> 3、用戶信息表</b></p><p> 用戶信息表(cost_style)用來保存車主用戶的相關(guān)信息,表的結(jié)構(gòu)如表3-4所示。</p><p> 表3-4 用戶信息表(host)</p><p><b> 4、日志表</b></p><p> 日志表(log)用來保存日志的相關(guān)
41、信息,表的結(jié)構(gòu)如圖3-5所示</p><p> 表3-5 用戶信息表(host)</p><p> 3.2 系統(tǒng)概要設(shè)計(jì)</p><p> 該系統(tǒng)主要由四個(gè)模塊組成,分別是車輛信息模塊,車輛付費(fèi)方式模塊,用戶信息模塊以及日志模塊。車輛信息模塊的功能包括新入車輛的注冊,查詢,車輛信息的更改。車輛付費(fèi)方式模塊主要展示了各種付費(fèi)方式的價(jià)格標(biāo)準(zhǔn)。用戶信息模塊涵蓋了與用
42、戶相關(guān)的所有操作。包括新用戶注冊,用戶信息查詢,用戶信息更改與刪除。日志模塊包含了添加,查詢?nèi)罩?,以及對日志信息的更改和刪除功能。</p><p> 3.3 系統(tǒng)詳細(xì)設(shè)計(jì)</p><p> 3.3.1 登陸模塊的設(shè)計(jì)</p><p> 點(diǎn)擊“登錄”按鈕,進(jìn)入用戶登錄界面。輸入用戶名和密碼,判斷是否登錄成功。如果用戶名和密碼正確,進(jìn)入到主頁面(mainPage.
43、jsp)。在此頁面將顯示所有相關(guān)操作的連接。點(diǎn)擊超級鏈接,進(jìn)入相應(yīng)的模塊。如果用戶名和密碼不正確,不能完成登錄功能,系統(tǒng)報(bào)錯(cuò)。該模塊涉及到的頁面有enter.jsp。該頁面將提交一個(gè)名字為enterCheck.do的請求。再到sturts-config.xml配置文件中找到相應(yīng)的請求,執(zhí)行相應(yīng)的操作。具體流程如圖3-6所示。</p><p> 圖3-6 登錄界面流程</p><p>
44、3.3.2 車輛信息模塊的設(shè)計(jì)</p><p> 在主頁(mainPage.jsp)中點(diǎn)擊“車輛信息”鏈接,進(jìn)入到車輛信息主頁(CarsMain.jsp),這一頁面有車輛注冊和車輛信息一覽兩個(gè)相關(guān)鏈接。點(diǎn)擊“車輛一覽”進(jìn)入到一覽頁面??赏瓿绍囕v信息一覽,快速查詢,新入車輛注冊及修改功能。在CarsMain.jsp頁面點(diǎn)擊“新入車輛注冊”進(jìn)入新入車輛注冊界面,同樣可以完成車輛注冊功能。該模塊涉及到的前臺頁面有Ca
45、rsMain.jsp,CarsInformation.jsp.CarReigster.jsp,CarModify.jsp.后臺持久化層部分涉及到CarsDao.java以及相應(yīng)各個(gè)層次的Java類。具體流程如圖3-7所示。</p><p> 圖3-7 車輛信息模塊流程</p><p> 3.3.2 車輛付費(fèi)方式模塊的設(shè)計(jì)</p><p> 在主頁面(mainP
46、age.jsp)中點(diǎn)擊“付費(fèi)方式”鏈接,進(jìn)入到車輛付費(fèi)方式主頁,這一頁面將顯示與車輛付費(fèi)相關(guān)的信息。本系統(tǒng)共設(shè)計(jì)四種付費(fèi)方式。用戶通過該頁面可以清楚地了解到每種收費(fèi)方式的具體內(nèi)容。該模塊涉及到的前臺頁面有CostStyle.jsp</p><p> 3.3.3 用戶信息模塊的設(shè)計(jì)</p><p> 在主頁面(mainPage.jsp)中點(diǎn)擊“用戶信息”鏈接,進(jìn)入到用戶信息主頁(Host
47、Main.jsp),這一頁面有用戶一覽和新用戶注冊兩個(gè)相關(guān)鏈接。點(diǎn)擊“用戶一覽”進(jìn)入到一覽頁面。可完成用戶信息一覽,快速查詢用戶信息,注冊、修改和刪除用戶的功能。在HostMain.jsp頁面點(diǎn)擊“新用戶注冊”進(jìn)入新用戶注冊界面,同樣可以完成新入用戶注冊功能。該模塊涉及到的前臺代碼有HostMain.jsp,HostsInfromation.jsp,HostsInformationFast.jsp,HostRegister.jsp,Ho
48、stModify.jsp,后臺涉及到從持久化層(dao)到Service層,form層和控制層(action)各個(gè)包中與Host有關(guān)的所有Java類。具體流程如圖3-8所示。</p><p> 圖3-8 用戶信息模塊流程</p><p> 3.3.4 日志模塊的設(shè)計(jì)</p><p> 在主頁面(mainPage.jsp)中點(diǎn)擊“日志”鏈接,進(jìn)入到日志信息主頁(
49、LogMain.jsp),點(diǎn)擊“日志一覽”進(jìn)入到一覽頁面。在LogMain.jsp頁面點(diǎn)擊“新用戶注冊”同樣可以完成新入用戶注冊功能。該模塊涉及到的前臺代碼包括LogsMain.jsp,LogsDisplay.jsp,LogsInformatinFast.jsp,LogInsert.jsp,后臺涉及到從持久化層(dao)到Service層,form層和控制層(action)各個(gè)包中與Log有關(guān)的所有Java類。具體流程如圖3-9所示。&
50、lt;/p><p> 圖3-9 日志模塊流程</p><p> 4 系統(tǒng)功能的實(shí)現(xiàn)與結(jié)果</p><p> 4.1 登錄模塊的實(shí)現(xiàn)與結(jié)果</p><p> 為了保證系統(tǒng)的安全性,設(shè)置一個(gè)登陸界面,輸入用戶名和密碼。使得用戶只能通過登陸界面進(jìn)行登陸,無法直接瀏覽系統(tǒng)。系統(tǒng)登錄的具體效果如圖4-1所示。</p><p>
51、; 圖4-1 系統(tǒng)登錄界面</p><p> 4.2 主要信息版塊的實(shí)現(xiàn)與結(jié)果</p><p> 4.2.1 車輛信息模塊的實(shí)現(xiàn)</p><p> 登錄成功后,進(jìn)入到mainPage.jsp頁面。通過這一版塊中的<a href=”CarsMain.jsp”>可鏈接到車輛資源CarsMain.jsp,點(diǎn)擊超級鏈接”車輛信息”后便進(jìn)入到車輛信息模塊主
52、頁CarsMain.jsp頁面。系統(tǒng)功能主頁如圖4-2所示。車輛信息模塊主頁如圖4-3所示。</p><p> 圖4-2 系統(tǒng)功能主頁</p><p> 圖4-3 車輛信息模塊主頁</p><p> 1、車輛信息一覽頁面</p><p> 在CarsMain.jsp頁面中存在兩個(gè)超級鏈接。當(dāng)點(diǎn)擊超級鏈接”車輛一覽”時(shí)進(jìn)入車輛信息一覽頁
53、面,在這一頁面可以實(shí)現(xiàn)對車輛信息的顯示與更改(查詢,和刪除)功能。車輛信息顯示結(jié)果如圖4-4所示,車輛信息更改頁面如圖4-5所示。</p><p> 圖4-4 車輛信息顯示頁面</p><p> 圖4-5 車輛信息更改頁面</p><p> 2、新入車輛注冊頁面</p><p> 同樣,在CarsMain.jsp頁面當(dāng)點(diǎn)擊超級鏈接”新
54、入車輛注冊”時(shí)進(jìn)入到車輛注冊界面。頁面如圖4-6所示。</p><p> 圖4-6 新入車輛注冊頁面</p><p> 4.2.2 車輛付費(fèi)方式模塊的實(shí)現(xiàn)</p><p> 點(diǎn)擊mainPage.jsp頁面的超級鏈接”CostStyle.jsp”進(jìn)入到車輛收費(fèi)方式界面,這一頁面顯示了各種收費(fèi)方式的詳細(xì)信息。詳細(xì)內(nèi)容如圖4-7所示。</p><
55、;p> 圖4-7 車輛收費(fèi)方式頁面</p><p> 4.2.3 用戶信息模塊的實(shí)現(xiàn)</p><p> 登錄成功后,進(jìn)入到mainPage.jsp頁面。通過這一版塊中的<a href=”HostMain.jsp”>可鏈接到車輛資源HostMain.jsp,點(diǎn)擊超級鏈接”用戶信息”后便進(jìn)入到用戶信息模塊主頁HostMain.jsp頁面。如圖4-8所示。</p&g
56、t;<p> 圖4-8 用戶信息模塊主頁</p><p> 1、用戶信息一覽頁面</p><p> 在HostMain.jsp頁面同樣存在兩個(gè)超級鏈接。當(dāng)點(diǎn)擊超級鏈接”用戶一覽”時(shí)進(jìn)入用戶信息一覽頁面,在這一頁面可以實(shí)現(xiàn)對用戶信息的顯示、查詢、更改和刪除的功能。用戶信息一覽結(jié)果如圖4-9所示,用戶信息查詢頁面如圖4-10所示,查詢結(jié)果結(jié)果如圖4-11所示,用戶信息更改頁
57、面如圖4-12所示。當(dāng)管理員要?jiǎng)h除某一用戶信息時(shí)系統(tǒng)會彈出對話框讓管理員確認(rèn)是否刪除,界面如圖4-13所示。</p><p> 圖4-9 用戶信息一覽頁面</p><p> 圖4-10 用戶信息查詢頁面</p><p> 圖4-11 用戶信息查詢結(jié)果顯示頁面</p><p> 圖4-12 用戶信息更改頁面</p><
58、;p> 圖4-13 用戶信息刪除頁面</p><p><b> 2、新用戶注冊頁面</b></p><p> 同樣,在HostMain.jsp頁面當(dāng)點(diǎn)擊超級鏈接”新用戶注冊”時(shí)進(jìn)入用戶注冊界面。頁面如圖4-14所示。</p><p> 圖4-14 新入用戶注冊頁面</p><p> 4.2.4 日志模塊的
59、實(shí)現(xiàn)</p><p> 登錄成功后,進(jìn)入到mainPage.jsp頁面。通過這一版塊中的<a href=”LogMain.jsp”>可鏈接到日志資源LogMain.jsp,點(diǎn)擊超級鏈接”日志空間”后便進(jìn)入到日志模塊主頁LogMain.jsp頁面。如圖4-15所示。</p><p> 圖4-15 日志信息模塊主頁</p><p><b>
60、1、日志一覽頁面</b></p><p> 在LogMain.jsp頁面中存在兩個(gè)超級鏈接。當(dāng)點(diǎn)擊超級鏈接”日志一覽”時(shí)進(jìn)入日志一覽頁面,在這一頁面可以實(shí)現(xiàn)對用日志的顯示、查詢、更改和刪除的功能。日志一覽結(jié)果如圖4-16所示,日志查詢?nèi)鐖D4-17所示,查詢結(jié)果如圖4-18所示,日志更改頁面如圖4-19所示。當(dāng)管理員要?jiǎng)h除某一日志信息時(shí)系統(tǒng)會彈出對話框讓管理員確認(rèn)是否刪除,界面如圖4-20所示。<
61、;/p><p> 圖4-16 日志一覽頁面</p><p> 圖4-17 日志查詢頁面</p><p> 圖4-18 查詢結(jié)果顯示頁面</p><p> 圖4-19 日志更改頁面</p><p> 圖4-20 日志刪除頁面</p><p><b> 2、添加新日志頁面</
62、b></p><p> 同樣,當(dāng)點(diǎn)擊超級鏈接”添加日志信息”時(shí)進(jìn)入添加日志界面。頁面如圖4-21所示。</p><p> 圖4-21 添加日志頁面</p><p> 5 系統(tǒng)開發(fā)難點(diǎn)與技巧</p><p> 5.1 系統(tǒng)開發(fā)中遇到的問題</p><p> 在系統(tǒng)的開發(fā)過程中,我遇到了一些問題和難點(diǎn)。通過
63、查閱書籍請教老師這些問題基本都得到解決,現(xiàn)將系統(tǒng)開發(fā)過程中遇到的問題與解決技巧總結(jié)如下:</p><p> 5.1.1 中文亂碼問題的解決方法</p><p> 在JSP頁面中首先,在HTML的head標(biāo)簽內(nèi)加入meta信息為<meta HTTP-EQUIV=”content-type” CONTENT=”text/html; charset=utf-8” >其作用是告訴客
64、戶端瀏覽器,這個(gè)HTML為utf-8編碼文件。在JSP中加入以下的一句編譯指令,定義JSP程序使用字符集為utf-8<%@ page contentype=”text/html; charset= utf-8”%>這樣就保證了JSP服務(wù)器引擎將會把JSP的輸出以utf-8編碼的形式輸出。</p><p> 5.1.2 在JSP和Bean中加載數(shù)據(jù)庫驅(qū)動</p><p> 加
65、載數(shù)據(jù)驅(qū)動需要三個(gè)JAVA包 ,下載后放在Tomcat目錄下的commom/lib文件夾下即可。接著使用JDBC驅(qū)動中的DriverManager類中的getconnectin()方法與數(shù)據(jù)庫建立連接。Connection conn=Driver Manager.getConnection(url,user,password)。</p><p> 5.1.3 Java類名的命名規(guī)范</p><
66、;p> 建立Bean類的時(shí)候注意。Java的類名必須與類的文件名稱相同,否則編譯會出錯(cuò)。在編寫一個(gè)JSP程序時(shí)一定注意不要將大小寫混淆。另外,在瀏覽器的地址欄中輸入地址也是區(qū)分大小寫的。</p><p> 5.2 系統(tǒng)開發(fā)中采用的小技巧</p><p> 5.2.1代碼進(jìn)行模塊化處理及工廠方法的應(yīng)用</p><p> 對代碼進(jìn)行模塊化處理,可以提高代碼
67、的復(fù)用性及提高開發(fā)速度[8]。代碼的模塊化處理,包括將需要的進(jìn)行復(fù)用的代碼編寫成一個(gè)子程序后者函數(shù),或者一個(gè)類,以便使用時(shí)進(jìn)行調(diào)用。將代碼太長的函數(shù)按功能分解為幾個(gè)函數(shù)的調(diào)用,這些會大大提高程序的可讀性和維護(hù)性。工廠方法(FactoryMethod)模式是類的創(chuàng)建模式,其用意是定義一個(gè)創(chuàng)建產(chǎn)品對象的工廠接口,將實(shí)際創(chuàng)建工作推遲到子類中。</p><p> 工廠方法模式是簡單工廠模式的進(jìn)一步抽象和推廣。由于使用了
68、多態(tài)性,工廠方法模式保持了簡單工廠模式的優(yōu)點(diǎn),而且克服了它的缺點(diǎn)[9]。</p><p> 在工廠方法模式中,核心的工廠類不再負(fù)責(zé)所有產(chǎn)品的創(chuàng)建,而是將具體創(chuàng)建工作交給子類去做。這個(gè)核心類僅僅負(fù)責(zé)給出具體工廠必須實(shí)現(xiàn)的接口,而不接觸哪一個(gè)產(chǎn)品類被實(shí)例化這種細(xì)節(jié)。這使得工廠方法模式可以允許系統(tǒng)在不修改工廠角色的情況下引進(jìn)新產(chǎn)品。例如,本系統(tǒng)在com.car_management.util包下的DbUtil類中編寫
69、了一個(gè)工廠方法getConnectin(),用來獲得與數(shù)據(jù)庫的連接。這樣,每個(gè)模塊都可以調(diào)用這個(gè)工廠方法來實(shí)現(xiàn)與數(shù)據(jù)庫的連接操作。這樣,減少了代碼量也高度實(shí)現(xiàn)了代碼的重用。</p><p> 5.2.2 單例模式</p><p> 單例模式(Singleton),也叫單子模式,是一種常用的軟件設(shè)計(jì)模式。在應(yīng)用這個(gè)模式時(shí),單例對象的類必須保證只有一個(gè)實(shí)例存在。許多時(shí)候整個(gè)系統(tǒng)只需要擁有一
70、個(gè)的全局對象,這樣有利于我們協(xié)調(diào)系統(tǒng)整體的行為[10]。比如在某個(gè)服務(wù)器程序中,該服務(wù)器的配置信息存放在一個(gè)文件中,這些配置數(shù)據(jù)由一個(gè)單例對象統(tǒng)一讀取,然后服務(wù)進(jìn)程中的其他對象再通過這個(gè)單例對象獲取這些配置信息。這種方式簡化了在復(fù)雜環(huán)境下的配置管理。</p><p> 實(shí)現(xiàn)單例模式的思路是:一個(gè)類能返回對象一個(gè)引用(永遠(yuǎn)是同一個(gè))和一個(gè)獲得該實(shí)例的方法(必須是靜態(tài)方法,通常使用getInstance這個(gè)名稱);
71、當(dāng)我們調(diào)用這個(gè)方法時(shí),如果類持有的引用不為空就返回這個(gè)引用,如果類保持的引用為空就創(chuàng)建該類的實(shí)例并將實(shí)例的引用賦予該類保持的引用;同時(shí)我們還將該類的構(gòu)造函數(shù)定義為私有方法,這樣其他處的代碼就無法通過調(diào)用該類的構(gòu)造函數(shù)來實(shí)例化該類的對象,只有通過該類提供的靜態(tài)方法來得到該類的唯一實(shí)例。由此可見,單例模式有著如下的優(yōu)點(diǎn):實(shí)例控制:單例模式防止其它對象對自己的實(shí)例化,確保所有的對象都訪問一個(gè)實(shí)例;伸縮性:因?yàn)橛深愖约簛砜刂茖?shí)例化進(jìn)程,類就在改
72、變實(shí)例化進(jìn)程上有相應(yīng)的伸縮性。誠然,在系統(tǒng)開銷上單例模式也存在著它的弊端。雖然這個(gè)系統(tǒng)開銷看起來很小,但是每次引用這個(gè)類實(shí)例的時(shí)候都要進(jìn)行實(shí)例是否存在的檢查。這個(gè)問題可以通過靜態(tài)實(shí)例來解決。同時(shí),當(dāng)使用一個(gè)單例模式的對象的時(shí)候(特別是定義在類庫中的),開發(fā)人員必須要記住不能使用new關(guān)鍵字來實(shí)例化對象。因?yàn)殚_發(fā)者看不到在類庫中的源代碼,所以當(dāng)他們發(fā)現(xiàn)不能實(shí)例化一個(gè)類的時(shí)候會很驚訝。這樣造成的開發(fā)混淆也不容輕視。我</p>
73、<p><b> 6 總結(jié)</b></p><p> 在學(xué)習(xí)了基于Windows的在線服務(wù)器體系結(jié)構(gòu)和JSP等在線開發(fā)技術(shù)的基礎(chǔ)上,我對于在線編程思想有了較深的理解。并且在小區(qū)車輛智能系統(tǒng)的開發(fā)過程中,進(jìn)一步深化了我對于MVC及Struts框架的認(rèn)識。本文著重討論了Web服務(wù)器端的編程實(shí)現(xiàn)情況,即對整個(gè)系統(tǒng)的登錄,及各個(gè)模塊的實(shí)現(xiàn)。 </p><p>
74、 學(xué)習(xí)JSP與Struts框架的過程中,我深刻的感受到學(xué)好這項(xiàng)技術(shù)必須注意幾點(diǎn)內(nèi)容:首先要充分理解JSP的工作原理,為系統(tǒng)的建設(shè)打下堅(jiān)實(shí)的基礎(chǔ);然后在JSP中正確使用類,而且要把類當(dāng)成JavaBean來用;方法應(yīng)該設(shè)計(jì)成簡單的功能性單元并且方法應(yīng)該簡明扼要;設(shè)計(jì)應(yīng)該思路清晰,同時(shí)注釋以及一些事例也是必須的;分析,設(shè)計(jì),實(shí)施時(shí)要善于與別人進(jìn)行交流,可以避免編程中的許多誤區(qū);JSP的調(diào)試也相當(dāng)關(guān)鍵。系統(tǒng)的基本功能已經(jīng)實(shí)現(xiàn),但是仍然存在一些問
75、題沒有解決。比如試題庫的實(shí)現(xiàn),登陸界面的加密等。同時(shí),要深入了解Struts框架的思想,從分析問題到解決問題,要養(yǎng)成分層次分模塊考慮問題的思想和習(xí)慣。</p><p> JSP語言是一門非常有用和有效的語言,具有結(jié)構(gòu)清晰,維護(hù)方便,保護(hù)代碼比較好的優(yōu)點(diǎn)。同時(shí)JSP相對于其他語言來說消耗空間較多,但是其全內(nèi)存操作帶來了效率的提升,所以可以說JSP在時(shí)間與空間的平衡中尋找到了一個(gè)黃金分割點(diǎn)[11]。</p&g
76、t;<p><b> 致 謝</b></p><p> 大學(xué)四年的學(xué)習(xí)生活即將結(jié)束,在此,我要感謝所有曾經(jīng)教導(dǎo)過我的老師和關(guān)心過我的同學(xué)和朋友們,他們在我成長過程中給予了我很大的幫助。本文能夠成功的完成,要特別感謝我的導(dǎo)師的關(guān)懷和教導(dǎo)。從最初的設(shè)計(jì)階段到實(shí)際編碼階段以及最后的論文撰寫階段,每一次遇到問題,指導(dǎo)老師都會耐心地給我講解并循序漸進(jìn)地指引,不僅幫助我解決了問題還教會
77、了我解決問題的能力。同時(shí),他嚴(yán)謹(jǐn)治學(xué)的態(tài)度、誨人不倦的工作熱情和求實(shí)務(wù)實(shí)的敬業(yè)精神以及樂觀幽默的人格魅力深深地感動了我。在此向我的指導(dǎo)老師表示我最崇高的敬意和衷心的感謝。</p><p> 同時(shí),我要向我和我共同完成本系統(tǒng)的隊(duì)友表示真摯的感謝,她給了我克服困難的勇氣和解決問題的信心。也讓我懂得了團(tuán)隊(duì)合作的重要性和力量。</p><p> 最后,我還要深深感謝所有對我的論文提出寶貴意見的
78、老師、同學(xué)和朋友們。感謝你們!并祝福所有的人,愿你們身體健康,工作順利!</p><p><b> [參考文獻(xiàn)]</b></p><p> [1] 孫衛(wèi)琴.精通Struts:基于MVC的Java Web設(shè)計(jì)與開發(fā)[M].北京:電子工業(yè)出版社,2004.8</p><p> [2] 王國輝,李文立,楊亮.jsp數(shù)據(jù)庫系統(tǒng)開發(fā)完全手冊[M].
79、北京:人民郵電出版社,2006.3</p><p> [3] 白勇.用B/S模式構(gòu)建學(xué)校管理信息系統(tǒng)[J].重慶電力高等??茖W(xué)校學(xué)報(bào),1999.3 </p><p> [4] 蔡永昶,采用B/S結(jié)構(gòu)的MIS的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2006.6</p><p> [5] 張桂元,賈燕楓.struts開發(fā)入門與項(xiàng)目實(shí)踐[M].北京:人民郵電出版社,20
80、05.9</p><p> [6] 楊曉云(議).MySQL權(quán)威指南[M].北京:人民郵電出版社,2006.12.1</p><p> [7] http://www.jz97.net/shujuku/mysql/index.html</p><p> [8] Willian K, Michener, James W. Brunt & Susan G.
81、Stafford. Environmental Information Management and Analysis: Ecosystem to Global Scales, Taylor & Franics Ltd, London, Britain,1994</p><p> [9] Thomas R. Peltier.Information Security Risk Analysis.Roths
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文--智能小區(qū)車輛統(tǒng)計(jì)技術(shù)系統(tǒng)設(shè)計(jì)
- 小區(qū)車輛管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 車輛管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文--車輛管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)(論文)-pb小區(qū)車輛管理系統(tǒng)
- 畢業(yè)論文——車輛調(diào)度管理系統(tǒng)
- 畢業(yè)論文---單位車輛管理系統(tǒng)
- 電氣畢業(yè)論文-小區(qū)智能化系統(tǒng)探討
- 智能小區(qū)視頻監(jiān)控系統(tǒng)的研究畢業(yè)論文
- 畢業(yè)論文——小區(qū)物業(yè)管理系統(tǒng)
- 畢業(yè)論文-小區(qū)物業(yè)管理系統(tǒng)
- 畢業(yè)論文-小區(qū)物業(yè)管理系統(tǒng)
- 畢業(yè)論文---小區(qū)物業(yè)收費(fèi)管理系統(tǒng)
- 小區(qū)物業(yè)管理系統(tǒng)畢業(yè)論文
- 小區(qū)物業(yè)管理系統(tǒng)---畢業(yè)論文
- 小區(qū)物業(yè)管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-小區(qū)物業(yè)管理系統(tǒng)
- 小區(qū)物業(yè)管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——小區(qū)物業(yè)管理系統(tǒng)
- 小區(qū)物業(yè)管理系統(tǒng) 畢業(yè)論文
評論
0/150
提交評論