版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 編號(hào) </p><p> 畢 業(yè) 論文(設(shè) 計(jì)) </p><p> 論文題目 網(wǎng)上購(gòu)物系統(tǒng) </p><p> 系 (部) 計(jì)算機(jī)與信息工程系</p><p> 專 業(yè) 計(jì)算機(jī)信息管理 </p>
2、;<p> 班 級(jí) 計(jì)信0701班 </p><p> 學(xué) 號(hào) </p><p> 學(xué)生姓名 </p><p> 指導(dǎo)教師 </p><p> 職 稱 講 師
3、 </p><p><b> 目 錄</b></p><p> 第1章 緒 論5</p><p> 1.1 課題的來源5</p><p><b> 1.2設(shè)計(jì)思想5</b></p><p> 1.3系統(tǒng)的開發(fā)意義5</p>&l
4、t;p> 1.4開發(fā)工具的選用及介紹6</p><p> 1.5 開發(fā)、測(cè)試與運(yùn)行環(huán)境8</p><p><b> 1.5.1設(shè)備8</b></p><p> 1.5.2支持軟件8</p><p> 第2章 系統(tǒng)需求分析8</p><p> 2.1 系統(tǒng)的初步調(diào)查8&
5、lt;/p><p> 2.2 系統(tǒng)可行性分析9</p><p> 2.3 系統(tǒng)開發(fā)的綜合需求10</p><p> 2.3.1系統(tǒng)的功能需求10</p><p> 2.3.2 系統(tǒng)的運(yùn)行需求10</p><p> 2.4 系統(tǒng)開發(fā)應(yīng)解決的問題11</p><p> 第3章 系統(tǒng)
6、設(shè)計(jì)11</p><p> 3.1 系統(tǒng)設(shè)計(jì)目的12</p><p> 3.2 功能模塊設(shè)計(jì)12</p><p> 3.2.1 模塊匯總13</p><p> 3.2.2 模塊之間的關(guān)系14</p><p> 3.3 數(shù)據(jù)庫設(shè)計(jì)概述15</p><p> 3.3.1 數(shù)據(jù)
7、庫環(huán)境說明15</p><p> 3.3.2 數(shù)據(jù)庫命名規(guī)則16</p><p> 3.3.3 合理的設(shè)計(jì)數(shù)據(jù)庫16</p><p> 3.3.4 設(shè)計(jì)約束19</p><p> 3.4 防錯(cuò)與出錯(cuò)處理19</p><p> 第4章 系統(tǒng)實(shí)現(xiàn)與測(cè)試20</p><p>
8、4.1 系統(tǒng)實(shí)現(xiàn)20</p><p> 4.2 實(shí)現(xiàn)基本功能和一些特殊功能的操作22</p><p> 4.3 代碼的說明22</p><p> 4.4 系統(tǒng)測(cè)試25</p><p> 第5章 總 結(jié)26</p><p><b> 致 謝27</b></p>&
9、lt;p><b> 參考文獻(xiàn)27</b></p><p><b> 網(wǎng)上購(gòu)物系統(tǒng)</b></p><p><b> 摘 要</b></p><p> 伴隨著Internet的蓬勃發(fā)展,網(wǎng)上購(gòu)物作為電子商務(wù)的一種形式,正以其高效、低成本的優(yōu)勢(shì),逐步成為新興的經(jīng)營(yíng)模式和理念,人們已經(jīng)不再
10、滿足用途信息的瀏覽和發(fā)布,而是渴望著能夠充分享受網(wǎng)絡(luò)所帶來的更加多的便利。網(wǎng)上購(gòu)物正適應(yīng)了當(dāng)今社會(huì)快節(jié)奏的生活需要,使顧客足不出戶便可以方便快捷輕松地選購(gòu)自己喜歡的商品。</p><p> 本系統(tǒng)是采用JSP技術(shù)的一個(gè)動(dòng)態(tài)的電子商務(wù)網(wǎng)站,它是在Windows 操作系統(tǒng)下,以SQL Server 2005 為數(shù)據(jù)庫開發(fā)平臺(tái),Tomcat5.5作為應(yīng)用服務(wù)器,采用JSP(Java Server Pages)技術(shù)開發(fā)
11、的B/S模式的網(wǎng)上購(gòu)物系統(tǒng)。它分為前臺(tái)部分和后臺(tái)部分,前臺(tái)部分由用戶通過瀏覽器進(jìn)行訪問,主要包括用戶注冊(cè)、商品展示、商品搜索、商品留言、購(gòu)物車功能、二手商品信息發(fā)布等功能;后臺(tái)部分由管理員操作和管理,主要包括用戶信息管理、商品信息管理、留言信息管理、管理員信息修改等功能。</p><p> 建站后的網(wǎng)站系統(tǒng)是一個(gè)動(dòng)態(tài)、交互式、具有商品展示、系統(tǒng)管理、用戶留言等功能的電子商務(wù)網(wǎng)站。</p><
12、p> 關(guān)鍵詞:JSP B/S SQL server 2005</p><p> Online Shopping System</p><p><b> Abstract</b></p><p> With the vigorous development of Internet shopping online, as a for
13、m of e-commerce, with its high efficiency and low cost advantage, and gradually become the emerging business mode and concept, people have no longer meet USES the information release, but to browse and eager to be able t
14、o enjoy fully network brings more convenient. Internet shopping is adapted to the fast pace of life in today's society, make customer indoors can choose convenient easily like commodities.</p><p> This
15、system is a dynamic techniques JSP ecommerce sites, it is in the Windows operating system on SQL Server, database development platform for 2005, application Server, Tomcat5.5 as by the JSP (Java Server technology develop
16、ment of mix) B/s-based Internet shopping system. Its front and back into the front part, in part by the user through the browser visit, mainly including the user registration, commodity exhibition, search, messages, cart
17、 function, second-hand goods released information funct</p><p> After the establishment of the website system is a dynamic, interactive, commodity exhibition, system management, user message function of e-c
18、ommerce sites.</p><p> Keywords: JSP B/S SQL server 2005</p><p><b> 第1章 緒 論</b></p><p><b> 1.1 課題的來源</b></p><p> 網(wǎng)上購(gòu)物系統(tǒng)是一個(gè)基于Internet,采用B2C(
19、Business to Consumers)模式,并根據(jù)現(xiàn)有的網(wǎng)上購(gòu)物系統(tǒng)的現(xiàn)狀而設(shè)計(jì)開發(fā)的電子商務(wù)平臺(tái)。隨著現(xiàn)代社會(huì)的迅速發(fā)展,人們的生活節(jié)奏不斷加快,傳統(tǒng)的商場(chǎng)購(gòu)物不僅耗時(shí),而且消費(fèi)者不易找到自己滿意的商品,而網(wǎng)上購(gòu)物恰恰滿足了現(xiàn)代社會(huì)人們購(gòu)物的需求,它不僅提高了交易速度,而且消費(fèi)者可以足不出戶就完成商品的選購(gòu),并且通過對(duì)所需商品的搜索能過很快找到自己需要的商品。對(duì)于廠家來說,大大降低了投資的成本和資源的消耗,可以靈活的通過Inte
20、rnet進(jìn)行商品的更新和管理。</p><p><b> 1.2設(shè)計(jì)思想</b></p><p> 通過網(wǎng)上購(gòu)物可以全面的展示廠家的基本信息和商品信息,增強(qiáng)了廠家與消費(fèi)者的聯(lián)系,方便快捷地在Internet上完成相關(guān)的交易。因此,開發(fā)一個(gè)集準(zhǔn)確性、高效性、安全性為一體的實(shí)現(xiàn)商品展示、信息瀏覽和網(wǎng)上交易功能的網(wǎng)上購(gòu)物系統(tǒng),對(duì)推動(dòng)整個(gè)社會(huì)經(jīng)濟(jì)的發(fā)展和實(shí)現(xiàn)廠家和顧客的需
21、要具有重要的現(xiàn)實(shí)意義。</p><p> 1.3系統(tǒng)的開發(fā)意義</p><p> Internet的發(fā)展,為改變傳統(tǒng)的商業(yè)運(yùn)作模式提供了一種技術(shù)上的可行性的方案:利用Internet的技術(shù)和協(xié)議,建立各種企業(yè)內(nèi)部網(wǎng)Intranet,企業(yè)外部網(wǎng)Extranet,通過廉價(jià)的通訊手段,將買家與賣家、廠商和合作伙伴緊密結(jié)合在了一起,消除時(shí)間與空間帶來的障礙,從而大大的節(jié)約了交易成本,擴(kuò)大了交易
22、范圍,同時(shí)也提高了商家的知名度和顧客的滿意度。而在實(shí)際的生活中,這種方案已經(jīng)被廣泛的運(yùn)用到了實(shí)際的商業(yè)活動(dòng)中了,人們將這種交易模式稱為:電子商務(wù)。 當(dāng)今比較流行的網(wǎng)上購(gòu)物系統(tǒng)有“淘寶網(wǎng)”和“當(dāng)當(dāng)網(wǎng)”。它們都是相當(dāng)優(yōu)秀的電子商務(wù)網(wǎng)站,對(duì)其他的網(wǎng)站提供了良好的典范。設(shè)計(jì)中可以學(xué)習(xí)參考他們的思想,了解和熟悉整個(gè)網(wǎng)站的開發(fā)流程及完整的電子商務(wù)網(wǎng)站應(yīng)有的功能和注意事項(xiàng)。 </p><p> 1.4開發(fā)工具的選用及介紹&l
23、t;/p><p> JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。 用JSP開發(fā)的Web應(yīng)用是跨平臺(tái)的,既能在Linux下運(yùn)行,也能在其他操作系
24、統(tǒng)上運(yùn)行。 </p><p><b> JSP技術(shù)特點(diǎn):</b></p><p> ?。?)一次編寫,到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。</p><p> ?。?)系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易
25、見的。 </p><p> (3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。 </p><p> ?。?)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)
26、得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。</p><p><b> JSP應(yīng)用范圍:</b></p><p> JSP頁面通常被編譯成為Java Servlets,這是一個(gè)標(biāo)準(zhǔn)的Java擴(kuò)展。頁面開發(fā)人員能夠訪問全部的Java應(yīng)用環(huán)境,以利用Java技術(shù)的擴(kuò)展性和可移植性。當(dāng)JSP頁面第一次被調(diào)用時(shí),如果它還不存在,就會(huì)被編譯成為一個(gè)Java Serv
27、lets類,并且存儲(chǔ)在服務(wù)器的內(nèi)存中。這就使得在接下來的對(duì)該頁面的調(diào)用中,服務(wù)器會(huì)有非??斓捻憫?yīng)(這避免了CGI-BIN為每個(gè)HTTP請(qǐng)求生成一個(gè)新的進(jìn)程的問題)。 </p><p> JSP頁面可以包含在多種不同的應(yīng)用體系結(jié)構(gòu)或者模型中,可以用于由不同協(xié)議、組件和格式所組成的聯(lián)合體中。基于JSP的動(dòng)態(tài)信息發(fā)布技術(shù)是一個(gè)開放的、可擴(kuò)展的建立動(dòng)態(tài)Web頁面的標(biāo)準(zhǔn)。不論采用什么創(chuàng)建工具,開發(fā)人員都可以使用JSP頁面
28、來創(chuàng)建可移植的Web應(yīng)用,在不同的Web應(yīng)用服務(wù)器上運(yùn)行。在本網(wǎng)上購(gòu)物系統(tǒng)中,將采用通行的MVC模式來構(gòu)建應(yīng)用。這種結(jié)構(gòu)通過企業(yè)級(jí)高端J2EE應(yīng)用服務(wù)器實(shí)現(xiàn)MVC開發(fā)模型。</p><p> MVC的邏輯圖如下圖:</p><p> (1) MVC的邏輯圖</p><p> Model(模型)層:由EJB組件來實(shí)現(xiàn),EJB將具體的業(yè)務(wù)封裝在組件內(nèi)部,具備安全、
29、高性能、可重用等優(yōu)秀的特征。</p><p> View(視圖)層:由JSP、HTML組成。這一層次的特點(diǎn)是能夠真實(shí)地展示和客戶交互的界面,具備可描繪的功能。同時(shí)能夠嵌套動(dòng)態(tài)數(shù)據(jù),可以進(jìn)行動(dòng)態(tài)頁面的展示。</p><p> Controller(控制器)層:是非常重要的一層,這一層是連接View和Model的紐帶,同時(shí)也是將這兩層進(jìn)行最大限度分離的工具。通常由Servlet來實(shí)現(xiàn)。&l
30、t;/p><p> 通過這種模型的建立,我們的應(yīng)用系統(tǒng)具備了非常好的性能和可擴(kuò)展性。將業(yè)務(wù)組件和展示頁面進(jìn)行分離,并通過Controller來描述調(diào)用關(guān)系,一方面可以提高效率,另一方面也可以增加系統(tǒng)擴(kuò)充的能力,使我們的系統(tǒng)可以進(jìn)行最快速度的業(yè)務(wù)擴(kuò)展,以滿足不同用戶、不同階段、各種各樣的業(yè)務(wù)需求。</p><p> 1.5 開發(fā)、測(cè)試與運(yùn)行環(huán)境</p><p> 合
31、理的選擇開發(fā)技術(shù),對(duì)于網(wǎng)站開發(fā)的完成情況有著非常重要的影響。要開發(fā)一個(gè)網(wǎng)站,首先要選擇一個(gè)動(dòng)態(tài)網(wǎng)頁開發(fā)技術(shù)。本網(wǎng)上購(gòu)物系統(tǒng)運(yùn)用Myeclipse6.0 集成開發(fā)環(huán)境,采用Java Server Pages技術(shù)和SQL server2005數(shù)據(jù)庫進(jìn)行開發(fā)工作。</p><p><b> 1.5.1設(shè)備 </b></p><p> 系統(tǒng)具體硬件配置如下:</p&
32、gt;<p> 1、WWW服務(wù)器:INTER P4 2.4 512M DDR ROM 80GB 硬盤或者以上。</p><p> 2、數(shù)據(jù)庫服務(wù)器:INTER P4 2.4 512M DDR ROM 80GB 硬盤或者以上。</p><p> 3、客戶機(jī):目前流行的PC兼容機(jī)。</p><p> 系統(tǒng)具體軟件配置如下:</p>&
33、lt;p> 1、操作系統(tǒng):客戶機(jī) WINDOWS XP、 LINUX。</p><p> 2、WWW服務(wù)器:Tomcat5.5</p><p> 3、數(shù)據(jù)庫軟件:SQL SERVER 2005。</p><p> 4、開發(fā)工具:Myeclipse6.0 </p><p><b> 1.5.2支持軟件</b>
34、;</p><p> Power Designer Visio studio 2003 Photoshop Dreamweaver</p><p> 第2章 系統(tǒng)需求分析</p><p> 2.1 系統(tǒng)的初步調(diào)查</p><p> 系統(tǒng)初步調(diào)查是系統(tǒng)分析階段的第一項(xiàng)活動(dòng),它的主要目標(biāo)是從系統(tǒng)分析人員和管理人員的角度看新項(xiàng)目開
35、發(fā)有無必要和可能。</p><p> 網(wǎng)上購(gòu)物系統(tǒng)是公司為拓展公司業(yè)務(wù)所建立的商業(yè)網(wǎng)站。隨著經(jīng)濟(jì)的發(fā)展行業(yè)之間的競(jìng)爭(zhēng)日益激烈,公司現(xiàn)有的銷售渠道是制約公司不能長(zhǎng)遠(yuǎn)發(fā)展的重要問題,公司希望通過電子購(gòu)物系統(tǒng)的建立,改善公司的運(yùn)營(yíng)結(jié)構(gòu)和作業(yè)方式,使之能適應(yīng)信息化的發(fā)展戰(zhàn)略和將來的行業(yè)競(jìng)爭(zhēng),同時(shí)提高公司員工的信息化意識(shí),使公司能在將來的發(fā)展過程中不斷壯大。</p><p> 公司現(xiàn)行管理工作存
36、在的主要問題是:</p><p> 1、業(yè)務(wù)管理工作缺乏規(guī)范性,隨意性很大,對(duì)人的經(jīng)驗(yàn)和水平有很大依賴性,因此具體職能操作往往因人而異。</p><p> 2、重要的客戶信息和市場(chǎng)渠道分散在各個(gè)部門,各個(gè)銷售人員手中,無法集中統(tǒng)一的管理和實(shí)現(xiàn)信息共享。</p><p> 3、對(duì)潛在客戶的銷售過程也沒有一種有效的手段進(jìn)行有效的跟蹤,導(dǎo)致各種信息不同程度的浪費(fèi),無
37、法充分利用。</p><p> 4、公司的商品體系,價(jià)格體系及服務(wù)體系龐大復(fù)雜、變動(dòng)頻繁,缺乏統(tǒng)一的控制和協(xié)調(diào)。</p><p> 5、營(yíng)銷部門手工化的管理方式,缺乏標(biāo)準(zhǔn)化、系統(tǒng)化的管理方法,越來越不適應(yīng)營(yíng)銷業(yè)務(wù)的運(yùn)營(yíng),也和信息化的社會(huì)競(jìng)爭(zhēng)不相符。</p><p> 因此,為了改變現(xiàn)有狀況,適應(yīng)入世以及以后更多的行業(yè)競(jìng)爭(zhēng),公司希望通過網(wǎng)上購(gòu)物系統(tǒng)的建立,改善公
38、司的運(yùn)營(yíng)結(jié)構(gòu)和作業(yè)方式,使之能適應(yīng)信息化的發(fā)展戰(zhàn)略和將來的行業(yè)競(jìng)爭(zhēng)。</p><p> 2.2 系統(tǒng)可行性分析</p><p> 隨著計(jì)算機(jī)技術(shù)的發(fā)展和網(wǎng)絡(luò)人口的增加,網(wǎng)絡(luò)世界也越來越廣博,越來越豐富,電子商務(wù)已經(jīng)成為網(wǎng)上的一股潮流。我們相信要不了太長(zhǎng)有時(shí)間,顧客就可以在網(wǎng)絡(luò)世界上獲得他們?cè)诂F(xiàn)實(shí)世界上可以獲得的相同的商品和服務(wù)。</p><p> 可行性研究是
39、為了弄清楚系統(tǒng)開發(fā)的項(xiàng)目是不是可以實(shí)現(xiàn)和值得進(jìn)行研究的過程,實(shí)際上是一次大大簡(jiǎn)化系統(tǒng)分析和系統(tǒng)設(shè)計(jì)的過程,所以,進(jìn)行可行性的分析是非常必要的,也是很重要的,經(jīng)過最初的設(shè)計(jì)目標(biāo)和進(jìn)行的市場(chǎng)調(diào)查得出以下四點(diǎn)的可行性分析:</p><p> ?。?)經(jīng)濟(jì)可行性:該系統(tǒng)的設(shè)計(jì)只是作為本人的畢業(yè)設(shè)計(jì),沒有什么大的相關(guān)經(jīng)濟(jì)投入。</p><p> ?。?)技術(shù)可行性:JSP+Servlet+JavaB
40、ean以及MVC三層架構(gòu)技術(shù)已經(jīng)較為成熟。</p><p> ?。?)運(yùn)行可行性:該系統(tǒng)用Myeclipse6.0開發(fā)工具進(jìn)行開發(fā),只要配置好與數(shù)據(jù)庫的連接即可正常運(yùn)行。</p><p> ?。?)法律可行性:該系統(tǒng)是作為畢業(yè)設(shè)計(jì)與商業(yè)無關(guān),又因?yàn)槭亲灾鏖_發(fā)設(shè)計(jì),因此不會(huì)構(gòu)成侵權(quán),在法律上是可行的。</p><p> 2.3 系統(tǒng)開發(fā)的綜合需求</p>
41、<p> 經(jīng)過以上的初步調(diào)查和研究,并且確定了該系統(tǒng)的可行性,并決定開發(fā)本系統(tǒng),為了能夠?qū)ΜF(xiàn)行的系統(tǒng)內(nèi)容進(jìn)行充分了解,使所要開發(fā)的系統(tǒng)更具有實(shí)用性和適應(yīng)性,通過實(shí)習(xí)調(diào)查,設(shè)計(jì)出該平臺(tái)功能需要滿足商品的展示和更新以及能夠收集消費(fèi)者對(duì)商品的意見反饋,同時(shí),還要生成訂單,方便用戶進(jìn)行商品的選購(gòu),真正實(shí)現(xiàn)在網(wǎng)上就可以完成商品的交易和更新。另外,還要為一些用戶提供二手商品信息的發(fā)布功能。</p><p>
42、 2.3.1系統(tǒng)的功能需求</p><p> 1. 能夠?qū)崿F(xiàn)新用戶的注冊(cè)和用戶登錄后的基本個(gè)人信息的修改。</p><p> 2. 能夠通過商品的名稱和其他信息實(shí)現(xiàn)商品搜索功能。</p><p> 3. 能夠通過查看購(gòu)物車對(duì)所選商品進(jìn)行確定、刪減,并能顯示所選商品的主要信息和價(jià)格信息。</p><p> 4. 還可以對(duì)商品進(jìn)行留言,并
43、顯示出所有用戶的留言信息。</p><p> 5. 提供二手商品的簡(jiǎn)單發(fā)布信息平臺(tái)。</p><p> 6. 管理員可以靈活的對(duì)各項(xiàng)前臺(tái)信息進(jìn)行添加和更新(商品添加、商品更新)、用戶管理(用戶審查),以及常規(guī)設(shè)置(友情鏈接)的功能并提供安全機(jī)制進(jìn)行管理。</p><p> 2.3.2 系統(tǒng)的運(yùn)行需求</p><p> 1.JAVA虛擬
44、機(jī)的安裝</p><p> JDK(Java Development Kit )是一切java應(yīng)用程序的基礎(chǔ),可以說,所有的java應(yīng)用程序是構(gòu)建在這個(gè)之上的。它是一組API,也可以說是一些java Class。目前已經(jīng)正式發(fā)布的最新版本是JDK1.6。Windows下,直接運(yùn)行.exe文件,安裝到一個(gè)目錄,如C:/jdk1.6,安裝完成后就是環(huán)境變量的設(shè)置。</p><p> 桌面上
45、選擇“我的電腦”(右鍵) -->高級(jí) -->環(huán)境變量 -->在“系統(tǒng)變量”-->“新建” ->在變量名中輸入:JAVA_HOME,變量值中輸入: C:/jdk1.6 ,同樣再新建一個(gè)變量名CLASSPATH,變量值中輸入.;C:\jdk1.6\lib; 還需要在Path變量的前面添加一個(gè)值:.;C:\jdk1.6\bin。至此JAVA環(huán)境安裝成功。我們可以在命令行中敲入命令java 如果顯示java幫助,則
46、證明環(huán)境設(shè)置成功。</p><p> 2. Tomcat環(huán)境搭建</p><p> 安裝TOMCAT5.5,直接使用默認(rèn)安裝就可以了,然后打開Myeclipse6.0選擇Window-->preference-->Myeclipse-->Server-->Tomcat-->Tomcat5.x-->Enable選中后選擇Tomcat的安裝路徑即可。&l
47、t;/p><p> 至此,系統(tǒng)運(yùn)行所需要的基本運(yùn)行環(huán)境已經(jīng)配置完成了。</p><p> 2.4 系統(tǒng)開發(fā)應(yīng)解決的問題</p><p> 1. 要注意代碼的可讀性和可維護(hù)性,以便遇到問題能夠及時(shí)的檢查出來。</p><p> 2.同時(shí)還要注意系統(tǒng)的安全性,防止和避免一些非法用戶對(duì)系統(tǒng)的破壞性攻擊。</p><p>
48、 3.解決好商品的價(jià)格運(yùn)算,減少誤差,不斷對(duì)系統(tǒng)進(jìn)行調(diào)試和測(cè)試。</p><p> 4.由于是基于B/S的系統(tǒng),網(wǎng)頁在其中就承擔(dān)著非常大的工作,包括向服務(wù)端后臺(tái)寫入和修改數(shù)據(jù),以及服務(wù)端響應(yīng)客戶端的請(qǐng)求,向客戶端頁面返回?cái)?shù)據(jù),這些工作不可能只由幾個(gè)網(wǎng)頁來完成,但網(wǎng)頁數(shù)量一多又必然結(jié)構(gòu)混亂,造成開發(fā)過程難以控制。為解決這個(gè)問題,我采用了現(xiàn)代軟件開發(fā)過程的模塊化思想,采用MVC三層架構(gòu)的模式,使得系統(tǒng)的開發(fā)工作更
49、具模塊性和可審查性,便于功能的實(shí)現(xiàn),提高了開發(fā)效率和質(zhì)量。</p><p><b> 第3章 系統(tǒng)設(shè)計(jì)</b></p><p> 系統(tǒng)設(shè)計(jì)是在系統(tǒng)分析的基礎(chǔ)上由抽象到具體的過程,同時(shí),還應(yīng)考慮到系統(tǒng)所實(shí)現(xiàn)的內(nèi)外環(huán)境和主客觀條件,本著實(shí)事求是的態(tài)度進(jìn)行這一階段的工作。</p><p> 這一階段的主要任務(wù)就是從系統(tǒng)的總體目標(biāo)出發(fā),根據(jù)系統(tǒng)分
50、析階段對(duì)系統(tǒng)的邏輯功能的要求,并考慮到經(jīng)濟(jì)、技術(shù)和運(yùn)行環(huán)境等方面的條件,確定系統(tǒng)的總體結(jié)構(gòu)和系統(tǒng)各組成部分的技術(shù)方案,合理選擇計(jì)算機(jī)和通信的軟、硬件設(shè)備,提出系統(tǒng)的實(shí)施計(jì)劃,確保系統(tǒng)總體目標(biāo)的實(shí)現(xiàn)。</p><p> 3.1 系統(tǒng)設(shè)計(jì)目的</p><p> 系統(tǒng)設(shè)計(jì)階段的主要目的是將系統(tǒng)分析階段所提出的反映用戶信息需求的系統(tǒng)邏輯方案轉(zhuǎn)換成可以實(shí)施的基于計(jì)算機(jī)與通信系統(tǒng)的物理方案。并通過
51、文檔的形式記錄系統(tǒng)的詳細(xì)設(shè)計(jì),供以后的審閱和維護(hù)等操作。</p><p> 1、系統(tǒng)設(shè)計(jì)階段,大量工作是技術(shù)性的。</p><p> 2、允許用戶對(duì)已提出的需求信息做非原則性的修改或補(bǔ)充。</p><p> 3、用戶在操作使用和運(yùn)行環(huán)境等方面的具體要求也要在系統(tǒng)設(shè)計(jì)階段加以明確并在系統(tǒng)的技術(shù)方案中得到反映,因此系統(tǒng)設(shè)計(jì)人員還要同管理環(huán)境打交道。</p&g
52、t;<p> 4、系統(tǒng)設(shè)計(jì)工作的環(huán)境是管理環(huán)境和技術(shù)環(huán)境的結(jié)合,是系統(tǒng)設(shè)計(jì)工作的重要特點(diǎn),要統(tǒng)籌好設(shè)計(jì)階段的軟、硬件環(huán)境的利用情況。</p><p> 系統(tǒng)設(shè)計(jì)分為兩部分:系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)和系統(tǒng)詳細(xì)設(shè)計(jì)。</p><p> 3.2 功能模塊設(shè)計(jì)</p><p> 網(wǎng)上購(gòu)物系統(tǒng)是一個(gè)基于Internet,采用B2C(Business to Con
53、sumers)模式,并根據(jù)現(xiàn)有的網(wǎng)上購(gòu)物系統(tǒng)的現(xiàn)狀而設(shè)計(jì)開發(fā)的電子商務(wù)平臺(tái)。它不但可以擴(kuò)大商家的規(guī)模和市場(chǎng)影響力,而且可以減少企業(yè)的經(jīng)營(yíng)成本,提高工作效率。本系統(tǒng)主要為用戶提供了用戶注冊(cè),購(gòu)物車管理,商品展示,用戶留言,商品搜索,用戶資料修改以及發(fā)布二手商品信息專欄等功能,為管理員提供了商品信息管理、用戶信息管理、留言信息管理等功能。在設(shè)計(jì)方面,本系統(tǒng)采用B/S三層結(jié)構(gòu),同時(shí)使用JSP技術(shù)進(jìn)行動(dòng)態(tài)頁面的設(shè)計(jì),從系統(tǒng)的安全性和代碼的可重用
54、性方面考慮,運(yùn)用Java Bean對(duì)程序的關(guān)鍵代碼進(jìn)行封裝,采用MVC三層架構(gòu)技術(shù)和JSTL標(biāo)簽。后臺(tái)數(shù)據(jù)庫選用Microsoft Sqlserver2005數(shù)據(jù)庫進(jìn)行數(shù)據(jù)存儲(chǔ)和管理。</p><p> 網(wǎng)上購(gòu)物系統(tǒng)的功能總體上來說主要包括:前臺(tái)功能和后臺(tái)功能。前臺(tái)功能主要包括:新用戶注冊(cè)、商品展示、購(gòu)物車功能、商品搜索功能、生成訂單功能和二手商品信息發(fā)布功能等;后臺(tái)功能主要包括:管理員信息修改、商品信息修改、
55、訂單信息查詢、留言信息管理等。</p><p> 3.2.1 模塊匯總</p><p> 為對(duì)本系統(tǒng)有一個(gè)系統(tǒng)全面的理解和認(rèn)識(shí),方便在項(xiàng)目的開發(fā)過程中給予實(shí)現(xiàn)和參考,有必要對(duì)各模塊的功能及其之間的相互聯(lián)系做一下匯總,提高項(xiàng)目開發(fā)工作的清晰度,便于理清思路,提高開發(fā)效率。網(wǎng)上購(gòu)物系統(tǒng)功能模塊劃分如下圖:</p><p><b> (3)功能模塊劃分&l
56、t;/b></p><p> 前臺(tái)功能,主要包括:</p><p><b> 1.用戶注冊(cè)</b></p><p> 為方便用戶注冊(cè),注冊(cè)頁面采用Ajax技術(shù)來驗(yàn)證用戶名是否可用,并運(yùn)用JavaScript代碼驗(yàn)證用戶的輸入信息,使頁面更具人性化。</p><p><b> 2.用戶登錄</
57、b></p><p><b> 3.用戶信息修改</b></p><p> 用戶可以根據(jù)自己的需要修改自己的個(gè)人信息。</p><p><b> 4.商品展示</b></p><p> 該模塊實(shí)現(xiàn)商品信息的分類顯示,提供最新商品的推薦顯示,便于引導(dǎo)購(gòu)物取向。并可以根據(jù)用戶喜好的商品查看
58、其詳細(xì)信息和商品留言信息。</p><p><b> 5.商品搜索 </b></p><p> 根據(jù)用戶所需商品的信息進(jìn)行商品搜索,方便用戶查找自己所需的商品,提高交易效率。</p><p><b> 6.商品評(píng)價(jià)</b></p><p> 為方便消費(fèi)者發(fā)表商品的質(zhì)量、性能等方面的信息,登錄
59、的用戶可以對(duì)商品進(jìn)行評(píng)價(jià)和留言。</p><p><b> 7.購(gòu)物車功能</b></p><p> 用于對(duì)每一個(gè)進(jìn)入系統(tǒng)的用戶所對(duì)應(yīng)的購(gòu)物車進(jìn)行跟蹤。將用戶所選購(gòu)的商品信息,包括價(jià)格、數(shù)量等信息記錄到對(duì)應(yīng)的購(gòu)物車上,便于進(jìn)行結(jié)帳處理。同時(shí)在此模塊中,用戶還可以方便的實(shí)現(xiàn)修改購(gòu)物車中物品的數(shù)量并查看購(gòu)物車等操作。</p><p><b
60、> 8.生成訂單</b></p><p> 通過用戶選購(gòu)的商品信息系統(tǒng)會(huì)幫助用戶自動(dòng)生成訂單。</p><p> 9.二手商品發(fā)布功能</p><p> 后臺(tái)功能:主要對(duì)前臺(tái)所對(duì)應(yīng)的信息和內(nèi)容進(jìn)行添加、修改和刪除等操作,并可以通過訂單號(hào)進(jìn)行訂單的查詢操作。</p><p> 3.2.2 模塊之間的關(guān)系</p&
61、gt;<p> 各模塊是相輔相成的,總的來說是后臺(tái)數(shù)據(jù)庫為前臺(tái)界面提供基礎(chǔ),前臺(tái)負(fù)責(zé)把后臺(tái)的數(shù)據(jù)信息通過人性化和個(gè)性化的形式展示給用戶,使得交易雙方能夠通過本系統(tǒng)進(jìn)行溝通和交易,提高交易的效率,同時(shí)也可以通過本系統(tǒng)讓經(jīng)營(yíng)者及時(shí)了解消費(fèi)者的反饋信息,及時(shí)改善經(jīng)營(yíng)方式和提高服務(wù)質(zhì)量。通過管理員對(duì)后臺(tái)的操作,來修改和更新前臺(tái)的數(shù)據(jù)顯示,通過用戶對(duì)商品的留言和選購(gòu)來動(dòng)態(tài)的更新后臺(tái)的信息內(nèi)容。</p><p&g
62、t;<b> ?。?)系統(tǒng)簡(jiǎn)單流程</b></p><p> 3.3 數(shù)據(jù)庫設(shè)計(jì)概述</p><p> 數(shù)據(jù)庫設(shè)計(jì)要遵循一些規(guī)則,一個(gè)好的數(shù)據(jù)庫滿足一些嚴(yán)格的約束和要求。盡量分離各實(shí)體對(duì)應(yīng)的表,一個(gè)實(shí)體對(duì)應(yīng)一個(gè)表,搞清楚該實(shí)體有哪些屬性,對(duì)應(yīng)有些什么字段,以及各實(shí)體之間有何種聯(lián)系。實(shí)體、屬性與聯(lián)系是進(jìn)行概念設(shè)計(jì)時(shí)要考慮的三個(gè)元素,也是一個(gè)好的數(shù)據(jù)庫設(shè)計(jì)的核心。&l
63、t;/p><p> 3.3.1 數(shù)據(jù)庫環(huán)境說明</p><p> SQL是英文Structured Query Language的縮寫,意思為結(jié)構(gòu)化查詢語言。</p><p> SQL語言的主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進(jìn)行溝通。按照ANSI(美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì))的規(guī)定,SQL被作為關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言。SQL語句可以用來執(zhí)行各種各樣的操作,例如更新數(shù)
64、據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)等。</p><p> 目前,絕大多數(shù)流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),如Oracle、Sybase、Microsoft SQL Server、Access等都采用了SQL語言標(biāo)準(zhǔn)。雖然很多數(shù)據(jù)庫都對(duì)SQL語句進(jìn)行了再開發(fā)和擴(kuò)展,但是包括Select、Insert、Update、Delete、Create以及Drop在內(nèi)的標(biāo)準(zhǔn)的SQL命令仍然可以被用來完成幾乎所有的數(shù)據(jù)庫操作。<
65、/p><p> 在眾多的SQL命令中,select語句應(yīng)該算是使用最頻繁的。select語句主要被用來對(duì)數(shù)據(jù)庫進(jìn)行查詢并返回符合用戶查詢標(biāo)準(zhǔn)的結(jié)果數(shù)據(jù)。select語句中位于select關(guān)鍵詞之后的列名用來決定哪些列將作為查詢結(jié)果返回。用戶可以按照自己的需要選擇任意列,還可以使用通配符“*”來設(shè)定返回表格中的所有列。select語句中位于from關(guān)鍵詞之后的表格名稱用來決定將要進(jìn)行查詢操作的目標(biāo)表格。</p&
66、gt;<p> 除了上面所提到的運(yùn)算符外,LIKE運(yùn)算符在where條件從句中也非常重要。LIKE運(yùn)算符的功能非常強(qiáng)大,通過使用LIKE運(yùn)算符可以設(shè)定只選擇與用戶規(guī)定格式相同的記錄。</p><p> 3.3.2 數(shù)據(jù)庫命名規(guī)則</p><p> 數(shù)據(jù)庫名稱要與系統(tǒng)的功能及屬性相對(duì)應(yīng),以便在后期的編碼工作中能夠在較短的時(shí)間內(nèi)完成相關(guān)代碼的設(shè)計(jì)。而表名和其中的字段全部大寫
67、,并用全英文來表示,對(duì)于太長(zhǎng)的信息字段,我們用其英文縮寫字母進(jìn)行代替。對(duì)于復(fù)合型命名的表名,采用前綴_后綴名的形式,目的是為了提高代碼的可讀性和可維護(hù)性,方便后期的編碼和調(diào)試工作。</p><p> 3.3.3 合理的設(shè)計(jì)數(shù)據(jù)庫</p><p> 在建設(shè)網(wǎng)站系統(tǒng)之前,我們必須對(duì)系統(tǒng)所用到的數(shù)據(jù)進(jìn)行大致的分類和具體的結(jié)構(gòu)設(shè)計(jì),既要做到清晰明了,又要能適應(yīng)系統(tǒng)各項(xiàng)功能的調(diào)用,而不至于產(chǎn)生結(jié)
68、構(gòu)上的邏輯混亂,保證關(guān)鍵數(shù)據(jù)在意外情況下不會(huì)被破壞,可以說數(shù)據(jù)庫是系統(tǒng)的重中之重。</p><p> 盡管在需求分析中,商品類別僅僅是商品的一個(gè)屬性,但數(shù)據(jù)庫設(shè)計(jì)中一般將其分離出去創(chuàng)建單獨(dú)的表。事實(shí)上,這是一種面向?qū)ο蟮乃枷?,這種做法有利于系統(tǒng)的擴(kuò)展。</p><p> 由于訂單可能包括多種商品,而且數(shù)量不一,所以用兩個(gè)表來共同體現(xiàn)訂單這個(gè)實(shí)體。在ORDER_MASTER表中存放訂單的
69、基本信息:訂單號(hào)、所屬用戶的編號(hào)、下訂單的時(shí)間和總價(jià)錢。而在ORDER_DETAIL表中則存放訂單的具體信息,每條記錄體現(xiàn)某個(gè)訂單所包含的某種商品的購(gòu)買信息。具體的數(shù)據(jù)庫設(shè)計(jì)及主要表的表結(jié)構(gòu)如下圖所示:</p><p><b> (2)E-R圖</b></p><p> 主要表的表結(jié)構(gòu)如下圖:</p><p> 用戶信息表主要記錄用戶的基
70、本信息。</p><p> 1.USER_INF(用戶信息表)</p><p> 商品信息表主要記錄商品的共有屬性基本信息,對(duì)于每一個(gè)商品的詳細(xì)信息都有相應(yīng)的詳細(xì)信息表進(jìn)行分別介紹。</p><p> 2.GOODS_INF(商品信息表)</p><p> 訂單主表主要記錄訂單信息的概要信息。</p><p>
71、 3.ORDER_MASTER(訂單主表)</p><p> 訂單明細(xì)表主要對(duì)訂單主表的信息進(jìn)行更詳細(xì)的描述。</p><p> 4.ORDER_DETAIL(訂單明細(xì)表)</p><p> 用戶留言信息表主要記錄用戶的留言信息,方便廠家及時(shí)了解消費(fèi)者的意愿,更好的提供服務(wù)和提高產(chǎn)品的質(zhì)量,擴(kuò)大自己的經(jīng)營(yíng)范圍,獲得最佳的經(jīng)濟(jì)效益。</p>&l
72、t;p> 5.MESSAGE(用戶留言信息表)</p><p> 3.3.4 設(shè)計(jì)約束</p><p> 在用戶注冊(cè)或者添加商品信息時(shí),要防止空值或者非法數(shù)據(jù)的輸入,應(yīng)在客戶端進(jìn)行驗(yàn)證,防止非法數(shù)據(jù)提交到服務(wù)器或者數(shù)據(jù)庫。同時(shí)也可在數(shù)據(jù)庫中設(shè)置Check約束和唯一性約束等提高系統(tǒng)的安全性和完善性。</p><p> 3.4 防錯(cuò)與出錯(cuò)處理</p&
73、gt;<p> 對(duì)表單的數(shù)據(jù)在客戶端要進(jìn)行驗(yàn)證防止錯(cuò)誤或者非法數(shù)據(jù)發(fā)送到服務(wù)器或者客戶端。在對(duì)對(duì)象命名時(shí)采用其英文含義進(jìn)行命名規(guī)范,提高代碼的可讀性和可維護(hù)性,方便在出錯(cuò)的時(shí)候能夠及時(shí)查到錯(cuò)誤原因,提高工作效率。另外,還要在編寫代碼的過程中,盡量讓系統(tǒng)自動(dòng)捕獲相關(guān)的異常信息,并給予人性化提示。</p><p> 第4章 系統(tǒng)實(shí)現(xiàn)與測(cè)試</p><p><b>
74、 4.1 系統(tǒng)實(shí)現(xiàn) </b></p><p> 本系統(tǒng)由前臺(tái)系統(tǒng)和后臺(tái)管理系統(tǒng)組成。前臺(tái)系統(tǒng)就是面向Internet上用戶的網(wǎng)站。后臺(tái)系統(tǒng)則是商店管理員對(duì)網(wǎng)站的內(nèi)容及信息進(jìn)行管理和維護(hù)的操作平臺(tái)。</p><p> 商品展示:主要展示商品的基本分類信息和詳細(xì)信息。</p><p><b> (5) 商品展示頁</b></
75、p><p><b> ?。?)詳細(xì)信息頁面</b></p><p> 購(gòu)物車頁面主要負(fù)責(zé)將用戶需要購(gòu)買的商品暫存入購(gòu)物車中,方便用戶在購(gòu)買的過程中進(jìn)行添加和刪除。</p><p><b> ?。?)購(gòu)物車頁面</b></p><p> 用戶注冊(cè)頁面主要負(fù)責(zé)新用戶的注冊(cè),采用Ajax進(jìn)行用戶名驗(yàn)證。并
76、且運(yùn)用JavaScript進(jìn)行表單數(shù)據(jù)驗(yàn)證,更具人性化。</p><p><b> ?。?)用戶注冊(cè)頁面</b></p><p> 后臺(tái)頁面,主要負(fù)責(zé)對(duì)前臺(tái)顯示的數(shù)據(jù)進(jìn)行更新和修改,對(duì)于級(jí)聯(lián)更新的數(shù)據(jù)采用事物的方法來保持?jǐn)?shù)據(jù)的一致性和準(zhǔn)確性。</p><p> ?。?)后臺(tái)數(shù)據(jù)顯示及更新</p><p> 4.2 實(shí)
77、現(xiàn)基本功能和一些特殊功能的操作</p><p> 在數(shù)據(jù)庫中,對(duì)于每個(gè)表的id字段可以使用數(shù)據(jù)庫的自增方式來自動(dòng)添加,避免了人工填入的誤操作,違反主鍵約束。對(duì)于留言時(shí)間等表中的時(shí)間字段可以采用數(shù)據(jù)庫的getdate()函數(shù)來自動(dòng)添加。另外,對(duì)于用戶或者管理員在修改密碼的時(shí)候,要提高操作的安全性,密碼框選項(xiàng)類型仍設(shè)為password,防止其他人截取,提高安全性。同時(shí),為提高系統(tǒng)的性能,在用戶注冊(cè)頁面中,采用Aja
78、x技術(shù)來驗(yàn)證用戶名是否存在,大大提高了系統(tǒng)的性能和效率。</p><p> 4.3 代碼的說明 </p><p><b> 1. 連接數(shù)據(jù)庫:</b></p><p> public class ConnectionFactory {</p><p><b> 使用單列模式創(chuàng)建</b><
79、;/p><p> private static ConnectionFactory instance=new ConnectionFactory();</p><p> private ConnectionFactory()</p><p><b> {</b></p><p><b> try {<
80、/b></p><p> 加載驅(qū)動(dòng)類,放在try-catch中捕獲異常,方便查找異常Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");</p><p> } catch (ClassNotFoundException e) {</p><p> 捕獲異常,并輸
81、出相關(guān)路徑信息</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p><b> 創(chuàng)建連接方法</b></p><p> public static
82、 Connection createConnection()</p><p><b> {</b></p><p> Connection conn = null;</p><p> 設(shè)置數(shù)據(jù)庫連接的字符串,要符合一定的規(guī)范和標(biāo)準(zhǔn)</p><p> String url = "jdbc:sqlserve
83、r://localhost:1433;databasename=shopping";</p><p><b> try</b></p><p><b> {</b></p><p> 通過驅(qū)動(dòng)管理器,創(chuàng)建數(shù)據(jù)庫連接</p><p> conn = DriverManager.get
84、Connection(url,"sa","sa");</p><p> } catch (SQLException e)</p><p><b> {</b></p><p> // TODO Auto-generated catch block</p><p> e.pr
85、intStackTrace();</p><p><b> }</b></p><p><b> 返回?cái)?shù)據(jù)庫連接</b></p><p> return conn;</p><p><b> }</b></p><p><b> }&
86、lt;/b></p><p> 2. 從數(shù)據(jù)庫提取數(shù)據(jù)</p><p> public List getGoodsinf(){</p><p> 創(chuàng)建一個(gè)List對(duì)象來存儲(chǔ)結(jié)果集</p><p> List list = new ArrayList();</p><p><b> 創(chuàng)建數(shù)據(jù)庫連
87、接</b></p><p> Connection conn = ConnectionFactory.createConnection();</p><p> 需要查詢的sql語句</p><p> String sql ="select * from GOODS_INF";</p><p><b&
88、gt; try {</b></p><p> Statement stmt = conn.createStatement();</p><p> 執(zhí)行sql語句的查詢操作</p><p> ResultSet rs = stmt.executeQuery(sql);</p><p><b> 判斷結(jié)果集是否為空
89、</b></p><p> while(rs.next()){</p><p> 創(chuàng)建一個(gè)實(shí)體對(duì)象進(jìn)行封裝</p><p> Goodsinf good = new Goodsinf();</p><p> good.setG_ID(rs.getInt("G_ID"));</p><
90、p> good.setGName(rs.getString("G_NAME"));</p><p> good.setGModel(rs.getString("G_MODEL"));</p><p> good.setGPreprice(rs.getDouble("G_PREPRICE"));</p>&
91、lt;p> good.setGNowprice(rs.getDouble("G_NOWPRICE"));</p><p> good.setGTime(rs.getString("G_TIME"));</p><p> good.setGType(rs.getInt("G_TYPE"));</p><
92、;p> good.setGImage(rs.getString("G_IMAGE"));</p><p> good.setGBand(rs.getInt("G_BRTYPEID"));</p><p> 通過循環(huán)體把每個(gè)實(shí)體對(duì)象都放在結(jié)果集中</p><p> list.add(good);</p>
93、<p><b> }</b></p><p> } catch (SQLException e) {</p><p> // TODO 自動(dòng)生成 catch 塊</p><p> e.printStackTrace();</p><p><b> }finally{</b>&
94、lt;/p><p> 最后關(guān)閉數(shù)據(jù)庫連接,釋放資源</p><p><b> try {</b></p><p> conn.close();</p><p> } catch (SQLException e) {</p><p> // TODO 自動(dòng)生成 catch 塊</p>
95、;<p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p> 返回結(jié)果集list,通過dao層的調(diào)用,使得后臺(tái)的數(shù)據(jù)在前臺(tái)顯示</p><p> return list;</p>
96、<p><b> }</b></p><p><b> 3. 頁面上顯示</b></p><p> <table width="100%" cellspacing=0 border=0></p><p><b> <%</b></p&g
97、t;<p> 創(chuàng)建類的對(duì)象,來調(diào)用其中的方法</p><p> GoodsinfDAO dao = new GoodsinfDAO();</p><p> List goods = dao.getGoodsinf();</p><p> 將返回的結(jié)果集放在session中,供后面的頁面訪問</p><p> sessi
98、on.setAttribute("goods", goods);</p><p> List list = dao.getTopCGoodsinf();</p><p> 通過for循環(huán)逐個(gè)輸出對(duì)象的內(nèi)容到前臺(tái)</p><p> for (int i = 0; i < list.size(); i++) {</p>&l
99、t;p> Goodsinf good = (Goodsinf) list.get(i);</p><p> if (i % 4 == 0) {</p><p><b> %> </b></p><p> 4. 運(yùn)用事物進(jìn)行數(shù)據(jù)提交</p><p> Connection conn = Conne
100、ctionFactory.createConnection();</p><p> String sql="update goods_inf set g_name=?,g_model=?,g_preprice=?,g_nowprice=?,g_time=? where g_id=?";</p><p><b> try {</b></p
101、><p> //設(shè)置自動(dòng)提交為false</p><p> conn.setAutoCommit(false);</p><p> PreparedStatement ps = conn.prepareStatement(sql);</p><p> ps.setString(1, good.getGName());</p>
102、<p> ps.setString(2, good.getGModel());</p><p> ps.setDouble(3, good.getGPreprice());</p><p> ps.setDouble(4, good.getGNowprice());</p><p> ps.setString(5, good.getGTime()
103、);</p><p> ps.setInt(6, good.getG_ID());</p><p> //執(zhí)行更新但不提交</p><p> ps.executeUpdate();</p><p> String sql1 ="update c_detail set cpu=?,ram=?,cache=?,hard=?,gr
104、aphics=?,drive=?,other=? where g_id=?";</p><p> PreparedStatement ps1 = conn.prepareStatement(sql1);</p><p> ps1.setString(1, cdetail.getCpu());</p><p> ps1.setString(2, cde
105、tail.getRam());</p><p> ps1.setString(3, cdetail.getCache());</p><p> ps1.setString(4, cdetail.getHard());</p><p> ps1.setString(5, cdetail.getGraphics());</p><p>
106、ps1.setString(6, cdetail.getDrive());</p><p> ps1.setString(7, cdetail.getOther());</p><p> ps1.setInt(8, cdetail.getGId());</p><p> ps1.executeUpdate();</p><p> //
107、提交開始,通過這樣的方式可以避免數(shù)據(jù)庫中數(shù)據(jù)不一致的情況發(fā)生</p><p> conn.commit();</p><p><b> 4.4 系統(tǒng)測(cè)試</b></p><p> 編寫完程序后,就要對(duì)系統(tǒng)進(jìn)行測(cè)試。因?yàn)楸揪W(wǎng)上購(gòu)物系統(tǒng)是用JSP和腳本語言編寫的,最常見的是出現(xiàn)腳本錯(cuò)誤。主要有:語法錯(cuò)誤、運(yùn)行時(shí)錯(cuò)誤、邏輯錯(cuò)誤??梢酝ㄟ^程序調(diào)試
108、、功能測(cè)試、數(shù)據(jù)庫調(diào)試、安全測(cè)試等方式來解決程序出現(xiàn)的漏洞和錯(cuò)誤。</p><p> 系統(tǒng)測(cè)試和系統(tǒng)設(shè)計(jì)是同步的。首先,可以通過預(yù)覽功能對(duì)網(wǎng)頁進(jìn)行瀏覽,如果能出現(xiàn)正常的頁面,基本就可以排除錯(cuò)誤了,但是如果需要的功能不能實(shí)現(xiàn),這時(shí)就要認(rèn)真查看代碼,并根據(jù)功能要求對(duì)代碼進(jìn)行分析和研究,可以設(shè)置斷點(diǎn)等方式來查找錯(cuò)誤原因。</p><p> 經(jīng)過一段時(shí)間的運(yùn)行和調(diào)試, 經(jīng)過模塊測(cè)試和組裝測(cè)試,
109、排除了系統(tǒng)的大部分錯(cuò)誤,整個(gè)系統(tǒng)情況符合設(shè)計(jì)功能要求,效果良好,各模塊能夠正常高效的完成相應(yīng)的功能。當(dāng)然排除所有錯(cuò)誤是不太可能的,我想應(yīng)該還有些不易檢測(cè)到的錯(cuò)誤還沒有被發(fā)現(xiàn),需要在使用的過程中進(jìn)一步的完善。另外,數(shù)據(jù)庫的加密是一個(gè)重要的概念,在實(shí)際的應(yīng)用過程中是一個(gè)尚待解決的問題。同時(shí)還應(yīng)做好數(shù)據(jù)庫的完善工作,特別是備份和安全工作。</p><p><b> 第5章 總 結(jié)</b><
110、/p><p> 在本項(xiàng)目的軟件開發(fā)的過程中,我全面地實(shí)踐了動(dòng)態(tài)網(wǎng)站JSP系統(tǒng)的開發(fā)過程,學(xué)習(xí)了很多相關(guān)的知識(shí)。通過這個(gè)項(xiàng)目使我對(duì)之前所學(xué)的知識(shí)包括數(shù)據(jù)庫、Java程序設(shè)計(jì)、JSP、管理信息系統(tǒng)等內(nèi)容有了更加深刻的認(rèn)識(shí),同時(shí)也是一次綜合性很高的實(shí)踐。通過實(shí)踐運(yùn)用,有些知識(shí)點(diǎn)可能比較生手,但通過自己的鉆研,使我對(duì)其概念和知識(shí)點(diǎn)有了更加深刻的理解和認(rèn)識(shí),激發(fā)了我學(xué)習(xí)的興趣和動(dòng)力,提高了自己理論聯(lián)系實(shí)際的能力,為今后的進(jìn)一
111、步學(xué)習(xí)新技術(shù)打下一個(gè)很好的基礎(chǔ)。</p><p> 另外我還認(rèn)識(shí)到了開發(fā)思路的重要性,如果沒有思路,那么在開發(fā)的時(shí)候就是一頭霧水,不明不白的。只有思路清晰,才能比較好而且效率高的完成項(xiàng)目的開發(fā)工作。同時(shí)在開發(fā)的過程中還要注重錯(cuò)誤的總結(jié),對(duì)于常犯并且比較容易忽視的問題,我們可以將其記錄下來,方便以后進(jìn)行查找和糾正。同時(shí)還要對(duì)代碼進(jìn)行封裝,提高其可移植性,將一些套路或者關(guān)鍵核心代碼,都“打包”起來,這樣將來我們遇到
112、同樣的開發(fā)任務(wù),就可以高效率的完成任務(wù),提高工作效率,減輕自己的工作量。當(dāng)然,在前期,我們還是要多加練習(xí)的,因?yàn)橹挥芯毩?xí)了我們才能發(fā)現(xiàn)問題,解決問題,才能不斷的進(jìn)步。在開發(fā)的過程中,還要注意注釋的重要性,它是后期維護(hù)和更新的重要信息,只有做好了這方面的工作,后期的維護(hù)工作才會(huì)比較容易。如果只追求眼前的功能實(shí)現(xiàn)而忽視以后的代碼維護(hù),這對(duì)以后的排錯(cuò)和升級(jí)都會(huì)帶來很大的不便。并且在一些變量的命名時(shí),要盡量使用能體現(xiàn)其功能或者用途的變量名,這樣
113、,不僅提高了代碼的可讀性,而且,也方便代碼的排錯(cuò)和維護(hù)。</p><p> 雖然,經(jīng)過幾個(gè)月的努力,項(xiàng)目的開發(fā)工作已經(jīng)完成,但是還有很多的缺陷和不足,比如,在數(shù)據(jù)容量方面,由于沒有經(jīng)過大量數(shù)據(jù)的測(cè)試,數(shù)據(jù)庫能承受多大的負(fù)荷還不能確定,在美工方面,由于缺乏經(jīng)驗(yàn),所以一些頁面可能不太美觀,在一些細(xì)小的處理上可能還缺少進(jìn)一步的考慮等。不過,我會(huì)在今后的工作和學(xué)習(xí)中,不斷提高自己,培養(yǎng)良好的工作作風(fēng),認(rèn)真總結(jié),不斷進(jìn)步
114、,為將來進(jìn)入社會(huì)奠定堅(jiān)實(shí)而有力的基礎(chǔ)。</p><p><b> 致 謝</b></p><p> 經(jīng)過幾個(gè)月的努力,自己終于完成了畢業(yè)設(shè)計(jì)和畢業(yè)論文的寫作工作,在這里我要感謝我的指導(dǎo)老師***老師,是她在論文的選題及技術(shù)方向上給我提出許多寶貴的設(shè)計(jì)意見,在最后的測(cè)試修改階段又在百忙之中抽出時(shí)間為我提供了必要的幫助,這樣使得我得以順利的完成畢業(yè)設(shè)計(jì)開發(fā)工作,老師淵
115、博的知識(shí)、敏銳的思路和實(shí)事求是的工作作風(fēng)給我留下了深刻的印象,這將使得我終身受益,謹(jǐn)此向老師表示衷心的感謝。</p><p> 另外,感謝在校的老師們,在我大學(xué)時(shí)間里對(duì)我的諄諄教誨和無私幫助,在實(shí)際的開發(fā)工作中,我深深體會(huì)到了基礎(chǔ)理論知識(shí)的重要性,在大學(xué)階段只有好好學(xué)習(xí),掌握好扎實(shí)的理論基礎(chǔ),這樣才能在將來的工作中更快的學(xué)習(xí),從而得心應(yīng)手,有所成就,真正成為一個(gè)對(duì)社會(huì)和他人有用的人。</p>&l
116、t;p> 最后還要感謝我的同學(xué)們,在這次畢業(yè)設(shè)計(jì)及論文寫作中給我的支持和幫助。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]Java程序設(shè)計(jì)應(yīng)用教程:電子工業(yè)出版社,2007.8</p><p> [2]開發(fā)基于JSP/Servlet/JavaBean的網(wǎng)上交易系統(tǒng):科學(xué)技術(shù)文獻(xiàn)出版社</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)論文---- 網(wǎng)上購(gòu)物系統(tǒng)
- 網(wǎng)上購(gòu)物系統(tǒng)畢業(yè)設(shè)計(jì)論文
- jsp網(wǎng)上購(gòu)物系統(tǒng)畢業(yè)設(shè)計(jì)論文
- jsp網(wǎng)上購(gòu)物系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)論文正文----網(wǎng)上購(gòu)物系統(tǒng)
- 畢業(yè)設(shè)計(jì)論文正文----網(wǎng)上購(gòu)物系統(tǒng)
- 網(wǎng)上商城購(gòu)物系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 網(wǎng)上商城購(gòu)物系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 網(wǎng)上購(gòu)物系統(tǒng)畢業(yè)設(shè)計(jì)
- 網(wǎng)上購(gòu)物系統(tǒng)-畢業(yè)設(shè)計(jì)
- 網(wǎng)上購(gòu)物系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----網(wǎng)上購(gòu)物系統(tǒng)
- 網(wǎng)上購(gòu)物系統(tǒng)畢業(yè)設(shè)計(jì)
- 網(wǎng)上購(gòu)物系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---網(wǎng)上購(gòu)物系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---網(wǎng)上購(gòu)物系統(tǒng)設(shè)計(jì)
- 基于jsp技術(shù)網(wǎng)上購(gòu)物系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 基于jsp技術(shù)網(wǎng)上購(gòu)物系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 網(wǎng)上購(gòu)物系統(tǒng)畢業(yè)設(shè)計(jì) 8
- 網(wǎng)上購(gòu)物系統(tǒng)畢業(yè)設(shè)計(jì) (2)
評(píng)論
0/150
提交評(píng)論