畢業(yè)論文--電子商品展示網(wǎng)站設(shè)計(jì)_第1頁
已閱讀1頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)論文(設(shè)計(jì))</b></p><p>  題 目 品紅電子商品展示網(wǎng)站設(shè)計(jì) </p><p>  院 系 電子工程系 </p><p>  專 業(yè) 電子信息工程 </p><p>  二O 一0 年 六月 一日</p>&

2、lt;p><b>  目錄</b></p><p><b>  1、緒論3</b></p><p><b>  2、 設(shè)計(jì)目的3</b></p><p><b>  3、 技術(shù)基礎(chǔ)3</b></p><p>  3.1 J2EE體系架構(gòu)3&l

3、t;/p><p>  3.2 Struts框架4</p><p>  3.2.1 Struts的MVC工作機(jī)制4</p><p>  3.2.2 Struts的工作流程5</p><p><b>  3.3 攔截器6</b></p><p>  3.4 CSS樣式7</p>&

4、lt;p><b>  4、項(xiàng)目模塊7</b></p><p>  4.1 首頁展示8</p><p>  4.2 商品展示9</p><p>  4.3 站內(nèi)新聞10</p><p>  4.4 在線聊天11</p><p>  4.5 留言簿13</p><

5、p>  4.6 后臺管理15</p><p>  4.6.1 系統(tǒng)管理16</p><p>  4.6.2 新聞管理18</p><p>  4.6.3 商品管理20</p><p>  5、數(shù)據(jù)庫設(shè)計(jì)22</p><p>  5.1 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)23</p><p> 

6、 5.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)24</p><p>  6、開發(fā)中用到的知識點(diǎn)與遇到的問題25</p><p>  6.1 分頁的sql語句寫法25</p><p>  6.2 亂碼問題26</p><p>  6.3 滾動條置底26</p><p>  6.4 Java中獲得系統(tǒng)當(dāng)前時(shí)間并以一定格式顯示26

7、</p><p>  6.5 頁面跳轉(zhuǎn)問題26</p><p>  6.6 session的注意點(diǎn)27</p><p>  6.7 刷新頁面27</p><p>  6.8 空指針異常問題27</p><p>  6.9 Servlet中獲取session和application27</p>

8、<p>  6.10 日期的顯示(jquery)27</p><p><b>  7、系統(tǒng)測試28</b></p><p><b>  8、結(jié)論28</b></p><p><b>  參考文獻(xiàn):29</b></p><p><b>  致謝30

9、</b></p><p><b>  英文摘要31</b></p><p>  品紅電子商品展示網(wǎng)站設(shè)計(jì)</p><p>  摘要:本設(shè)計(jì)以myeclipse為開發(fā)工具,采用當(dāng)前比較流行的java編程語言進(jìn)行編碼,數(shù)據(jù)庫采用的是mysql。本文詳細(xì)地描述了電子商品展示網(wǎng)站設(shè)計(jì)的各個(gè)組成部分,以及這一信息平臺所實(shí)現(xiàn)的功能和性能,對各

10、項(xiàng)業(yè)務(wù)提供詳細(xì)、準(zhǔn)確的描述。此設(shè)計(jì)分為三層:商品展示層,中間服務(wù)層,數(shù)據(jù)庫層;</p><p>  關(guān)鍵詞:信息平臺;java;sql數(shù)據(jù)庫;</p><p><b>  1、緒論</b></p><p>  在當(dāng)今忙碌的時(shí)代,可以節(jié)省時(shí)間的工具一定會受到廣大群眾的支持。隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的發(fā)展,因特網(wǎng)越來越成為商家和客戶的必不可少的工具。通

11、過網(wǎng)絡(luò)可以節(jié)省時(shí)間提高效率,因此設(shè)計(jì)了這個(gè)品紅網(wǎng)上宣傳網(wǎng)站,它的主要作用在于展示電子產(chǎn)品(手機(jī)、筆記本、數(shù)碼相機(jī)等等)并提供參考圖和產(chǎn)品的其它基本信息。另外還有一些附加功能以便于客戶和商家的聯(lián)系,如:在線聊天、和留言簿。如果有需要,用戶只要在進(jìn)入該網(wǎng)站就可以了解足夠多的信息,并且更方便了客戶與客戶之間的溝通和客戶與商家的溝通。一個(gè)很實(shí)用的電子產(chǎn)品網(wǎng)上展示平臺。</p><p><b>  設(shè)計(jì)目的<

12、;/b></p><p>  本文主要設(shè)計(jì)目的是將只能在商場里才能見到的電子商品搬家,搬到網(wǎng)站上,讓更多的人看到這些商品更多的人了解這些商品,也讓商家多一條銷售門道。本設(shè)計(jì)以myeclipse為開發(fā)工具,采用當(dāng)前比較流行的java編程語言進(jìn)行編碼,數(shù)據(jù)庫采用的是mysql。</p><p><b>  技術(shù)基礎(chǔ)</b></p><p> 

13、 3.1 J2EE體系架構(gòu)</p><p>  本論文采用J2EE體系架構(gòu)開發(fā),J2EE應(yīng)用程序是有組件構(gòu)成的。J2EE組件是具有獨(dú)立功能的軟件單元,它們通過相關(guān)的類和文件組裝成J2EE應(yīng)用程序,并與其他組件交互。J2EE包括四部分組件:客戶端、Web層組件、業(yè)務(wù)邏輯層和企業(yè)信息系統(tǒng)層??蛻舳私M件通過IE瀏覽器運(yùn)行HTML,JavaScript,CSS,XML,Ajax;Web層組件通過Web容器運(yùn)行JSP,Se

14、rvlet,JavaBean,Struts;業(yè)務(wù)邏輯層通過tomcat容器運(yùn)行Session Bean,Entity Bean,MDB,Spring,Habernate;企業(yè)信息層系統(tǒng)可以通過MySQL,DB2,Oracle,SQL Server ,Sybase容器運(yùn)行SQL,Stored Procedure,Tigger。</p><p>  J2EE具有以下優(yōu)點(diǎn):</p><p>  

15、1.保留現(xiàn)有的IT資產(chǎn):基于J2EE平臺的產(chǎn)品幾乎能夠在任何操作系統(tǒng)和硬件配置上運(yùn)行,現(xiàn)有操作系統(tǒng)和硬件也能被保留使用。</p><p>  2.高效的開發(fā):J2EE允許把一些通用的、很繁瑣的服務(wù)端任務(wù)交給中間件供應(yīng)商去完成。這樣開發(fā)人員可以集中精力在如何創(chuàng)建商業(yè)邏輯上,相應(yīng)的減短了開發(fā)時(shí)間。</p><p>  3.支持異構(gòu)環(huán)境:J2EE能夠開發(fā)部署在異構(gòu)環(huán)境中的可移植程序?;贘2EE

16、的應(yīng)用程序不依賴任何特定的操作系統(tǒng)、中間件、硬件。</p><p>  4.可伸縮性:基于J2EE平臺的應(yīng)用程序可被部署到各種操作系統(tǒng)上,這種部署可達(dá)數(shù)千個(gè)處理器,實(shí)現(xiàn)可高度伸縮的系統(tǒng),滿足未來商業(yè)應(yīng)用的需求。</p><p>  5.穩(wěn)定的可用性:J2EE部署到可靠的操作環(huán)境中,他們支持長期的可用性。</p><p>  3.2 Struts框架</p>

17、;<p>  本系統(tǒng)采用的是struts 框架,Struts是一個(gè)基于SunJ2EE平臺的MVC框架,主要是采用Servlet和JSP技術(shù)來實(shí)現(xiàn)的。由于Struts能充分滿足應(yīng)用開發(fā)的需求,簡單易用,敏捷迅速,在過去的一年中頗受關(guān)注。Struts把Servlet、JSP、自定義標(biāo)簽和信息資源(messageresources)整合到一個(gè)統(tǒng)一的框架中,開發(fā)人員利用其進(jìn)行開發(fā)時(shí)不用再自己編碼實(shí)現(xiàn)全套MVC模式,極大的節(jié)省了時(shí)間

18、,所以說Struts是一個(gè)具有組件的模塊化,靈活性和重用性的的應(yīng)用框架。</p><p>  Struts 的ActionServlet 控制導(dǎo)航流。 其他Struts 類,比如Action, 用來訪問業(yè)務(wù)邏輯類。 當(dāng) ActionServlet 從容器接收到一個(gè)請求,它使用URI (或者路徑“path”) 來決定哪個(gè)Action 將用來處理請求。一個(gè) Action可以校驗(yàn)輸入,并且訪問業(yè)務(wù)層以從數(shù)據(jù)庫或其他數(shù)據(jù)

19、服務(wù)中檢索信息。所有這些細(xì)節(jié),關(guān)于Action,ActionForm,ActionForward, ActionMapping,以及其他一些東西,都在struts-config.xml 文件中定義。 ActionServlet 在啟動時(shí)讀取這個(gè)配置文件,并創(chuàng)建一個(gè)配置對象數(shù)據(jù)庫。在運(yùn)行時(shí),Struts 應(yīng)用根據(jù)的是文件創(chuàng)建的配置對象,而不是文件本身。</p><p>  3.2.1 Struts的MVC工作機(jī)制&

20、lt;/p><p>  Model:Struts沒有提供model類。這個(gè)商業(yè)邏輯必須由Web應(yīng)用程序的開發(fā)者以JavaBean或EJB的形式提供</p><p>  View:Struts提供了action form創(chuàng)建form bean, 用于在controller和view間傳輸數(shù)據(jù)。此外,Struts提供了自定義JSP標(biāo)簽庫,輔助開發(fā)者用JSP創(chuàng)建交互式的以表單為基礎(chǔ)的應(yīng)用程序,應(yīng)用程

21、序資源文件保留了一些文本常量和錯(cuò)誤消息,可轉(zhuǎn)變?yōu)槠渌Z言,可用于JSP中。</p><p>  Controller:Struts提供了一個(gè)核心的控制器ActionServlet,通過這個(gè)核心的控制器來調(diào)用其他用戶注冊了的自定義的控制器Action,自定義Action需要符合Struts的自定義Action規(guī)范,還需要在struts-config.xml的特定配置文件中進(jìn)行配置,接收J(rèn)SP輸入字段形成Action

22、 form,然后調(diào)用一個(gè)Action控制器。Action控制器中提供了model的邏輯接口。</p><p>  3.2.2 Struts的工作流程</p><p>  Struts模塊結(jié)構(gòu)圖</p><p>  1.初始化:struts框架的總控制器ActionServlet是一個(gè)Servlet,它在web.xml中配置成自動啟動的 Servlet,在啟動時(shí)總控制

23、器會讀取配置文件(struts-config.xml)的配置信息,為struts 中不同的模塊初始化相應(yīng)的對象。(面向?qū)ο笏枷?</p><p>  2.發(fā)送請求:用戶提交表單或通過URL向WEB服務(wù)器提交請求,請求的數(shù)據(jù)用HTTP協(xié)議傳給web服務(wù)器。</p><p>  3.form填充:struts的總控制器ActionServlet在用戶提交請求時(shí)將數(shù)據(jù)放到對應(yīng)的form對象中的成

24、員變量中。 </p><p>  4.派發(fā)請求:控制器根據(jù)配置信息對象ActionConfig將請求派發(fā)到具體的Action,對應(yīng)的formBean一并傳給這個(gè)Action中的excute()方法。</p><p>  5.處理業(yè)務(wù):Action一般只包含一個(gè)excute()方法,它負(fù)責(zé)執(zhí)行相應(yīng)的業(yè)務(wù)邏輯(調(diào)用其它的業(yè)務(wù)模塊)完畢后返回一個(gè)ActionForwar

25、d對象。服務(wù)器通過ActionForward對象進(jìn)行轉(zhuǎn)發(fā)工作。</p><p>  6.返回響應(yīng):Action將業(yè)務(wù)處理的不同結(jié)果返回一個(gè)目標(biāo)響應(yīng)對象給總控制器。</p><p>  7.查找響應(yīng):總控制器根據(jù)Action處理業(yè)務(wù)返回的目標(biāo)響應(yīng)對象,找到對應(yīng)的資源對象,一般情況下為jsp頁面。</p><p>  8.響應(yīng)用戶:目標(biāo)響應(yīng)對象將結(jié)果傳遞給資源對象,將結(jié)

26、果展現(xiàn)給用戶。</p><p><b>  3.3 攔截器</b></p><p>  攔截器,在AOP(Aspect-Oriented Programming)中用于在某個(gè)方法或字段被訪問之前,進(jìn)行攔截然后在之前或之后加入某些操作。攔截是AOP的一種實(shí)現(xiàn)策略。在 Struts2的中文文檔的解釋為——攔截器是動態(tài)攔截Action調(diào)用的對象。它提供了一種機(jī)制可以使開發(fā)者

27、可以定義在一個(gè)action執(zhí)行的前后執(zhí)行的代碼,也可以在一個(gè)action執(zhí)行前阻止其執(zhí)行。同時(shí)也是提供了一種可以提取action中可重用的部分的方式 。</p><p>  談到攔截器,還有一個(gè)詞大家應(yīng)該知道——攔截器鏈(Interceptor Chain,在Struts 2中稱為攔截器棧Interceptor Stack)。攔截器鏈就是將攔截器按一定的順序聯(lián)結(jié)成一條鏈。在訪問被攔截的方法或字段時(shí),攔截器鏈中的攔

28、截器就會按其之前定義的順序被調(diào)用 。</p><p>  攔截器實(shí)現(xiàn)原理:Struts 2的攔截器實(shí)現(xiàn)相對簡單。當(dāng)請求到達(dá)Struts 2的ServletDispatcher時(shí),Struts 2會查找配置文件,并根據(jù)其配置實(shí)例化相對的攔截器對象,然后串成一個(gè)列表(list),最后一個(gè)一個(gè)地調(diào)用列表中的攔截器 。</p><p>  Struts2中已有的攔截器:Struts 2已經(jīng)為您提供

29、豐富多樣的,功能齊全的攔截器實(shí)現(xiàn)。我們可以到struts2-all-2.0.1.jar或struts2-core-2.0.1.jar包的struts-default.xml查看關(guān)于默認(rèn)的攔截器與攔截器鏈的配置 。</p><p>  下面是從struts-default.xml文件摘取的部分內(nèi)容:</p><p>  配置和使用攔截器:在struts-default.xml中已經(jīng)配置了以上

30、的攔截器。如果您想要使用上述攔截器,只需要在應(yīng)用程序struts.xml文件中通過“<include file=”struts-default.xml“ />”將struts-default.xml文件包含進(jìn)來,并繼承其中的struts-default包(package),最后在定義Action時(shí),使用<interceptor-ref name=“xx”/>引用攔截器或攔截器棧(interceptor stack

31、)。</p><p>  一旦您繼承了struts-default包(package),所有Action都會調(diào)用攔截器棧 ---defaultStack。當(dāng)然,在Action配置中加入“<interceptor-ref name="xx" />”可以覆蓋defaultStack。</p><p>  自定義攔截器:雖然,Struts 2為我們提供如此豐富的攔

32、截器實(shí)現(xiàn),但是這并不意味我們失去創(chuàng)建自定義攔截器的能力,恰恰相反,在Struts 2自定義攔截器是相當(dāng)容易的一件事 。所有的Struts 2的攔截器都直接或間接實(shí)現(xiàn)接口com.opensymphony.xwork2.interceptor.Interceptor。除此之外,大家可能更喜歡繼承類com.opensymphony.xwork2.interceptor.AbstractInterceptor 。Struts2的攔截器是無狀態(tài)的

33、,因?yàn)镾truts 2不能保證為每一個(gè)請求或者action創(chuàng)建一個(gè)實(shí)例,所以如果攔截器帶有狀態(tài),會引發(fā)并發(fā)問題。 </p><p><b>  3.4 CSS樣式</b></p><p>  CSS是Cascading Style Sheets(層疊樣式表)的簡稱。</p><p>  CSS按其位置可以分成三種:</p><

34、;p>  內(nèi)嵌樣式(Inline Style)</p><p>  內(nèi)部樣式表(Internal Style Sheet)</p><p>  外部樣式表(External Style Sheet)</p><p>  采用CSS布局相對于傳統(tǒng)的TABLE網(wǎng)頁布局而具有以下3個(gè)顯著優(yōu)勢: </p><p>  1. 表現(xiàn)和內(nèi)容相分離將設(shè)

35、計(jì)部分剝離出來放在一個(gè)獨(dú)立樣式文件中,HTML文件中只存放文本信息。這樣的頁面對搜索引擎更加友好。 </p><p>  2. 提高頁面瀏覽速度對于同一個(gè)頁面視覺效果,采用CSS布局的頁面容量要比TABLE編碼的頁面文件容量小得多,前者一般只有后者的1/2大小。瀏覽器就不用去編譯大量冗長的標(biāo)簽。 </p><p>  3. 易于維護(hù)和改版你只要簡單的修改幾個(gè)CSS文件就可以重新設(shè)計(jì)整個(gè)網(wǎng)站

36、的頁面。</p><p><b>  4、項(xiàng)目模塊</b></p><p>  項(xiàng)目模塊主要包括6個(gè)部分:首頁展示、商品展示、站內(nèi)新聞、在線聊天、留言簿、后臺管理。如下圖所示:</p><p><b>  圖1 模塊結(jié)構(gòu)圖</b></p><p><b>  4.1 首頁展示</b&

37、gt;</p><p>  首頁頭部是一個(gè)flash動畫,下面是一個(gè)導(dǎo)航條(包括:首頁、商品展示、站內(nèi)新聞、在線聊天、留言簿、后臺管理),單擊分別可以進(jìn)入不同的模塊。再下面分別是公司新聞列表顯示,單擊標(biāo)題可以進(jìn)入新聞內(nèi)容進(jìn)行詳細(xì)閱讀。頁面最下面顯示版權(quán)信息。如圖2所示:</p><p><b>  圖2 首頁</b></p><p><b

38、>  4.2 商品展示</b></p><p>  單擊首頁導(dǎo)航條中的商品展示,進(jìn)入如圖3頁面,分頁顯示所有商品主要信息(包括:產(chǎn)品名稱、產(chǎn)品品牌、產(chǎn)品型號、產(chǎn)品價(jià)格以及圖片信息)。單擊上一頁、下一頁可以進(jìn)行頁面切換。單擊圖片會進(jìn)入如圖4所示頁面,顯示商品的所有信息(包括:產(chǎn)品名稱、產(chǎn)品品牌、產(chǎn)品型號、產(chǎn)品價(jià)格以及圖片信息、產(chǎn)品編號、產(chǎn)品描述)。</p><p><

39、b>  圖3 商品列表展示</b></p><p>  圖4 商品詳細(xì)信息展示</p><p><b>  4.3 站內(nèi)新聞</b></p><p>  單擊首頁導(dǎo)航條中的站內(nèi)新聞可以進(jìn)入新聞列表頁面。新聞列表中顯示新聞標(biāo)題和發(fā)布日期。單擊新聞標(biāo)題如圖5所示。單擊新聞標(biāo)題會進(jìn)入詳細(xì)新聞內(nèi)容頁面。如圖6所示。</p>

40、<p><b>  圖5 新聞列表頁面</b></p><p>  圖6 詳細(xì)新聞內(nèi)容頁面</p><p><b>  4.4 在線聊天</b></p><p>  單擊首頁導(dǎo)航條中的在線聊天,會彈出如圖7所示會員登錄窗口。如果不是會員,則不能登錄,需要先單擊“我要注冊”的超鏈接跳轉(zhuǎn)到注冊頁面(如圖8所示)

41、進(jìn)行會員注冊,注冊成功則跳轉(zhuǎn)到登錄頁面此時(shí)可以進(jìn)行登錄操作。在登錄窗口中輸入賬號和密碼正確即可以進(jìn)入聊天室并可以在窗口右邊顯示會員賬號信息,在下面的文本框中輸入要發(fā)送的信息,單擊發(fā)送即可以以消息列表的形式顯示在左窗口,如圖9所示。</p><p><b>  圖7 聊天登錄窗口</b></p><p><b>  圖8 聊天注冊窗口</b><

42、;/p><p><b>  圖9 聊天窗口</b></p><p><b>  4.5 留言簿</b></p><p>  單擊首頁導(dǎo)航條上的留言簿,進(jìn)入留言簿頁面,如圖10所示。該頁面有滾動的“歡迎您使用 留言本”字樣。此頁面的主要功能有兩個(gè):①顯示留言(表格形式)。對留言進(jìn)行了分頁,單擊上一頁或下一頁進(jìn)行切換。每頁顯示6條

43、留言(留言信息包括:回復(fù)條數(shù)、留言標(biāo)題、留言者、留言時(shí)間)。單擊留言的標(biāo)題可以進(jìn)入回復(fù)留言頁面,如圖11所示。②簽寫留言。單擊簽寫留言小圖,可以進(jìn)入編寫留言頁面,如圖12所示。</p><p><b>  圖10 留言簿頁面</b></p><p>  圖11 快速回復(fù)頁面</p><p>  進(jìn)入快速回復(fù)頁面,在快速回復(fù)表格中標(biāo)題直接顯示,輸

44、入姓名和內(nèi)容后,單擊提交,即可以在該頁面顯示出來。本頁面也可以進(jìn)行上下頁的切換。單擊頂部的查看留言小圖標(biāo)可以進(jìn)入留言列表頁面,如圖10所示。</p><p>  快速回復(fù)頁面的主要功能:①顯示要回復(fù)的留言和所有的回復(fù)。②快速回復(fù)</p><p>  圖12 編寫留言頁面</p><p>  在如圖12的編寫留言頁面填好相應(yīng)內(nèi)容后,單擊提交按鈕,進(jìn)入留言列表頁面,如圖

45、10所示。在那里可以看到你所編寫的留言信息。</p><p><b>  4.6 后臺管理</b></p><p>  單擊首頁導(dǎo)航條上的后臺管理,進(jìn)入管理員登錄頁面,如圖13所示。</p><p>  圖13 管理員登錄頁面</p><p>  輸入賬號和密碼,輸入錯(cuò)誤,可以單擊重置按鈕,重新輸入。輸入完畢,單擊登錄按

46、鈕。此時(shí)有三種可能性,第一、輸入的賬號和密碼不不存在,則會彈出如圖14的對話框,單擊確定重新進(jìn)入登錄界面。第二、輸入的賬號不是管理員級別的,會彈出如圖15的對話框。單擊確定進(jìn)入首頁,如圖2所示。第三、是管理員,進(jìn)入后臺的主頁面,如圖16所示。</p><p>  圖14提示信息1 圖15提示信息2</p><p><b&

47、gt;  圖16 后臺主頁面</b></p><p>  后臺主要有三方面的功能。第一、系統(tǒng)管理。第二、新聞管理。第三、商品管理。單擊返回首頁超鏈接可進(jìn)入網(wǎng)站首頁,單擊安全退出超鏈接可以進(jìn)入網(wǎng)站首頁,此時(shí)單擊瀏覽器菜單欄的后退按鈕將不能重新進(jìn)入后臺,必須再登錄。</p><p>  4.6.1 系統(tǒng)管理</p><p>  主要包括兩個(gè)模塊:添加管理員、

48、用戶管理。</p><p> ?、偬砑庸芾韱T。單擊添加管理員,進(jìn)入如圖17所示頁面。在此頁面添加用戶,單擊提交后,彈出提示對話框如圖18所示,單擊確定后返回到添加用戶頁面,可以再添加更多用戶。</p><p>  圖17 添加用戶信息</p><p><b>  圖18 提示信息3</b></p><p> ?、谟脩艄芾?/p>

49、。單擊用戶管理按鈕,進(jìn)入如圖19所示頁面。此頁面以分頁的方式顯示所有用戶的信息。單擊修改的超鏈接,進(jìn)入修改用戶信息的頁面,如圖20所示。修改相應(yīng)信息后,單擊提交,彈出如圖21所示的提示信息。單擊確定重新進(jìn)入用戶管理頁面,如圖19所示。單擊刪除的超鏈接,彈出如圖22所示提示信息。單擊確定,重新進(jìn)入用戶管理頁面,如圖19所示。</p><p><b>  圖19 用戶管理</b></p&g

50、t;<p>  圖20 修改用戶信息</p><p>  圖21 提示信息4 圖22 提示信息5</p><p>  4.6.2 新聞管理</p><p>  主要包括兩個(gè)模塊:添加管理員、用戶管理。</p><p>  添加新聞。單擊添加新聞按鈕,進(jìn)入如圖23所示

51、頁面。輸入新聞標(biāo)題、新聞內(nèi)容、發(fā)布時(shí)間后,單擊提交按鈕,彈出如圖24所示提示信息。單擊確定,進(jìn)入如圖26頁面,可以繼續(xù)添加新聞。</p><p>  圖23 添加新聞信息</p><p>  圖24 提示信息6 圖25 提示信息7</p><p> ?、诠芾硇侣?。單擊管理新聞按鈕,進(jìn)入如圖26所示頁面,單擊刪除的超鏈接

52、,彈出如圖25所示提示信息。單擊確定后重新進(jìn)入新聞管理頁面。</p><p>  圖26 新聞管理頁面</p><p>  4.6.3 商品管理</p><p>  主要包括兩個(gè)模塊:添加商品、管理商品。</p><p> ?、偬砑由唐?。單擊添加商品按鈕,進(jìn)入如圖27所示頁面。輸入添加商品信息后,單擊提交按鈕,彈出如圖28所示提示信息。單擊確

53、定,重新進(jìn)入添加商品頁面,可以繼續(xù)添加商品。</p><p>  圖27 添加商品信息</p><p><b>  圖28 提示信息8</b></p><p><b>  圖29 商品管理</b></p><p> ?、诠芾砩唐?。單擊商品管理進(jìn)入如圖29所示頁面,單擊修改的超鏈接進(jìn)入如圖30所示頁面

54、,可以對表格中的信息做修改,修改完畢單擊提交,彈出如圖31所示提示信息。單擊確定,重新進(jìn)入如圖29所示的商品管理頁面。單擊刪除的超鏈接,彈出如圖32所示提示信息。單擊確定后重新進(jìn)入商品管理頁面。</p><p>  圖30 修改商品信息</p><p>  圖31提示信息9 圖32 提示信息10</p><p><b>

55、  5、數(shù)據(jù)庫設(shè)計(jì)</b></p><p>  通過對整個(gè)網(wǎng)站的系統(tǒng)分析,設(shè)計(jì)如下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):</p><p> ?。?)新聞表,數(shù)據(jù)項(xiàng):新聞編號、新聞標(biāo)題、新聞內(nèi)容、發(fā)布時(shí)間。</p><p> ?。?)產(chǎn)品表,數(shù)據(jù)項(xiàng):產(chǎn)品編號、產(chǎn)品序號、產(chǎn)品名稱、產(chǎn)品商標(biāo)、產(chǎn)品型號、產(chǎn)品價(jià)格、圖片信息、產(chǎn)品描述。</p><p> ?。?/p>

56、3)留言表,數(shù)據(jù)項(xiàng):留言編號、留言標(biāo)題、留言內(nèi)容、留言者姓名、留言時(shí)間。</p><p> ?。?)回復(fù)表,數(shù)據(jù)項(xiàng):回復(fù)編號、留言編號、回復(fù)內(nèi)容、回復(fù)者姓名、回復(fù)時(shí)間。</p><p> ?。?)用戶表,數(shù)據(jù)項(xiàng):用戶編號、用戶賬號、用戶密碼、用戶級別。</p><p>  5.1 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)</p><p>  根據(jù)上述設(shè)計(jì)規(guī)劃出的實(shí)

57、體,對各個(gè)實(shí)體具體描述E-R圖如下:</p><p>  圖1 新聞 圖2 用戶</p><p><b>  圖3 留言回復(fù)</b></p><p><b>  圖4 產(chǎn)品</b></p><p>  5.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)<

58、;/p><p>  數(shù)據(jù)庫的邏輯設(shè)計(jì)從數(shù)據(jù)庫中截圖如下所示:</p><p><b> ?。?)用戶表:</b></p><p><b>  表1 用戶表</b></p><p><b> ?。?)新聞表:</b></p><p><b>  表2

59、 新聞表</b></p><p><b> ?。?)留言表:</b></p><p><b>  表3 留言表</b></p><p><b> ?。?)回復(fù)表:</b></p><p><b>  表4 回復(fù)表</b></p>

60、<p><b> ?。?)產(chǎn)品表:</b></p><p><b>  表5 產(chǎn)品表</b></p><p>  6、開發(fā)中用到的知識點(diǎn)與遇到的問題</p><p>  本次開發(fā)過程中,遇到了很多問題,通過向老師請教和與同學(xué)研究,最終問題都得到了解決?,F(xiàn)在把主要問題羅列如下:</p><p&g

61、t;  6.1 分頁的sql語句寫法</p><p>  使用DB2數(shù)據(jù)庫的寫法</p><p>  String sql="select * from product ";</p><p>  if(page>1){</p><p>  number=(page-1)*pageSize;</p>&l

62、t;p>  sql+="where productId not in (select productId from product order by productId fetch first "+number+" row only) order by productId fetch first "+pageSize+" row only";</p>&l

63、t;p><b>  }else{</b></p><p>  sql+="order by productId fetch first "+pageSize+" row only";</p><p><b>  }</b></p><p>  使用mysql數(shù)據(jù)庫的寫法&

64、lt;/p><p>  if(page==1){</p><p>  rs=stmt.executeQuery("select * from product LIMIT 0,3");</p><p>  }else if(page>1){</p><p>  rs=stmt.executeQuery("sele

65、ct * from product where productID LIMIT " + num</p><p>  + "," + size + ";");</p><p><b>  }</b></p><p><b>  6.2 亂碼問題</b></p>

66、<p>  數(shù)據(jù)庫、Servlet、JSP頁面統(tǒng)一使用GBK編碼。</p><p><b>  Servlet中:</b></p><p>  request.setCharacterEncoding("GBK");</p><p>  response.setContentType("text/ht

67、ml;setchar=GBK");</p><p>  response.setCharacterEncoding("GBK");</p><p><b>  JSP頁面中:</b></p><p>  <%@ page pageEncoding=”GBK”%></p><p>

68、<b>  6.3 滾動條置底</b></p><p>  使用JS腳本<body onload=”move()”></p><p>  <script type="text/javascript"></p><p>  function move(){</p><p>  v

69、ar top=document.body.scrollHeight;</p><p>  window.scroll(0,top);</p><p><b>  }</b></p><p><b>  </script></b></p><p>  6.4 Java中獲得系統(tǒng)當(dāng)前時(shí)間并以

70、一定格式顯示</p><p>  final String DATETIME_FORMAT="yyyy-MM-dd hh:mm:ss";</p><p>  SimpleDateFormat sdf=new SimpleDateFormat(DATETIME_FORMAT); </p><p>  //獲取系統(tǒng)當(dāng)前時(shí)間<

71、;/p><p>  Calendar cal=Calendar.getInstance();</p><p>  Date currenttime=cal.getTime();</p><p>  String ct=currenttime.toLocaleString();</p><p>  6.5 頁面跳轉(zhuǎn)問題</p><

72、;p>  (1)Response.sendRedirect("admin/AddNews.jsp");</p><p>  (2)Out.println("<scriptlanguage=’javascript’>alert(’新聞刪除成功’);location.replace(’admin/ManageNews.jsp’);</script>"

73、;);</p><p>  解釋:t.println()中嵌入js,location.replace(’admin/ManageNews.jsp’);</script>")進(jìn)入admin/ManageNews.jsp并刷新該頁面。</p><p>  也可以用history.go(-1);但是這樣不可以刷新頁面。</p><p> ?。?)re

74、quest.setAttribute("nl", newsList);</p><p>  request.getRequestDispatcher("MyIndex.jsp").forward(request, response);</p><p>  解釋:用request.setAttribute("nl", newsLis

75、t);后,如果用Response.sendRedirect("admin/AddNews.jsp");方法跳轉(zhuǎn)頁面,則用request.getAttribute("n1");不能取到它的值,必須用request.getRequestDispatcher("MyIndex.jsp").forward(request, response);來跳轉(zhuǎn)頁面。才可以取到"nl&q

76、uot;的值。</p><p>  6.6 session的注意點(diǎn)</p><p>  HttpSession session= request.getSession();</p><p>  User us=(User) session.getAttribute("users");</p><p>  解釋:在Servl

77、et中要用session.getAttribute("users")來獲得值,必須要先HttpSession session= request.getSession();用request來獲得session!!</p><p><b>  6.7 刷新頁面</b></p><p>  <meta http-equiv="refre

78、sh" content="2"></p><p>  6.8 空指針異常問題</p><p>  if(strNewsId!=null){</p><p>  newsId=Integer.parseInt(strNewsId);</p><p><b>  }</b></p&g

79、t;<p>  解釋:對從頁面取得的數(shù)據(jù)操作前,要做非空判斷??!</p><p>  6.9 Servlet中獲取session和application</p><p>  HttpSession session=request.getSession();</p><p>  ServletContext application=this.getSer

80、vletContext();</p><p>  解釋:在用session.getAttribute(" ");之前,必須先獲得session和application。</p><p>  6.10 日期的顯示(jquery)</p><p>  使用如下代碼實(shí)現(xiàn)如日期圖所示。</p><p>  Calendar.se

81、tup(</p><p><b>  {</b></p><p>  inputField : "text_newTime", // id of the input field</p><p>  ifFormat : "%Y-%m-%d", // f

82、ormat of the input field</p><p>  showsTime : true, // will display a time selector</p><p>  step : 1 // show all years in drop-down boxes (instead

83、of every other year as default)</p><p><b>  }); </b></p><p><b>  日期圖</b></p><p><b>  7、系統(tǒng)測試</b></p><p>  在本次測試中遇到了很多問題問題在這里提一個(gè)很常見卻又很

84、難避免的亂碼問題本以為是頁面的亂碼,后經(jīng)過跟蹤代碼發(fā)現(xiàn)是數(shù)據(jù)庫的亂碼問題,但是當(dāng)該數(shù)據(jù)庫時(shí)還是沒成功,于是在代碼中加上"jdbc:mysql://127.0.0.1:3306/company?characterEncoding=utf8";這句話便解決了;</p><p><b>  8、結(jié)論</b></p><p>  通過本次系統(tǒng)設(shè)計(jì),我不僅對

85、商品展示系統(tǒng)的基本知識有了一定的了解,還更加深入了解框架的使用,尤其是strut2框架的使用大大提高了開發(fā)的效率。</p><p>  商品展示系統(tǒng)是現(xiàn)代化式購物不可缺少的部分, 它的內(nèi)容對于商品生產(chǎn)者與購物者之間搭建起一座橋梁, 它能夠?yàn)橛脩籼峁┏渥愕男畔ⅰ?lt;/p><p>  本次設(shè)計(jì)的系統(tǒng)只是初步完成各個(gè)基本功能,對于安全訪問以及賬號密碼安全還有待提高。例如,同一時(shí)間不允許同一賬號在

86、不同地點(diǎn)訪問,兩個(gè)管理員同時(shí)對同一數(shù)據(jù)表進(jìn)行操作肯能會發(fā)生的數(shù)據(jù)庫安全問題等。 </p><p><b>  參考文獻(xiàn):</b></p><p>  [1] 汪濤.《java基礎(chǔ)知識》 2010年8月</p><p>  [2] 鄧良松.《軟件工程》.西安電子科技大學(xué)出版社.2004年.</p><p>  [

87、3] 薩師煊等編著.《數(shù)據(jù)庫系統(tǒng)概論》. 高等教育出版社. 2000年.</p><p>  [4]REGGIE D. Modeling and implementation of supplier selection procedures for acommerceinitiatives . Industrial Management & Data Systems . 2003. </p>

88、<p>  [5]Dan D.Gtierrez.Web數(shù)據(jù)庫開發(fā)技術(shù)與實(shí)例詳解[M].侯國鋒,譯.1版.北京:電子工業(yè)出版社.2000:205-390.</p><p>  [6]薛元昀,顧佳英.網(wǎng)頁數(shù)據(jù)庫設(shè)計(jì)與發(fā)布[M].北京:清華大學(xué)出版社.1999:132-395.</p><p>  [7]岳學(xué)軍,李曉黎.Web應(yīng)用程序開發(fā)教程——ASP.NET+SQL SERVER

89、[M].北京:人民郵電出版社</p><p><b>  致謝</b></p><p>  本論文是在我的導(dǎo)師張宏群教授的悉心指導(dǎo)下完成。從選題、定題開始,一直到最后論文的反復(fù)修改、潤色,張老師始終認(rèn)真負(fù)責(zé)地給予細(xì)致的指導(dǎo),幫助我開拓研究思路,精心點(diǎn)撥、熱忱鼓勵(lì)。正是張老師的無私幫助與熱忱鼓勵(lì),我的畢業(yè)論文才能夠得以順利完成。他啟發(fā)式的思維方式和開放式的教育方式使我在

90、學(xué)習(xí)中得到全面的鍛煉和提高,為我以后的工作和生活打下了堅(jiān)實(shí)的基礎(chǔ)。此外,張老師淵博的學(xué)識,嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,一絲不茍的科研作風(fēng)使我受益匪淺。正是在導(dǎo)師的諄諄教導(dǎo)下,我不斷克服來自于方方面面的困難,最終較為順利的完成了畢業(yè)設(shè)計(jì)工作,在此向我的指導(dǎo)老師致以誠摯的謝意! 同時(shí)感謝所有教育過我的專業(yè)老師,你們傳授的專業(yè)知識是我不斷成長的源泉也是完成本論文的基礎(chǔ)。也感謝我同一組的組員和班里的同學(xué)是你們在我遇到難題是幫我找到大量資料,解決難題。再次真

91、誠感謝所有幫助過我的老師同學(xué)。</p><p>  最后,對審閱本論文的各位老師表示衷心的感謝!</p><p><b>  英文摘</b></p><p><b>  英文摘要</b></p><p>  Design of traffic lights based on single chip&

92、lt;/p><p><b>  liujing</b></p><p>  Nanjing University of Information Science & Technology of Electronic Information Engineering,Nanjing,210044</p><p><b>  ABSTRA

93、CT</b></p><p>  He design for the myeclipse development tool , the use of current popular programming languages java code, the database used is mysql.This paper describes the electronics show the vario

94、us components of site design and implementation of this information platform functionality and performance of the business of providing detailed, accurate description. The design is divided into three layers: presentatio

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論