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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  畢業(yè)論文(設(shè)計(jì))</b></p><p>  題 目 品紅電子商品展示網(wǎng)站設(shè)計(jì) </p><p>  院 系 電子工程系 </p><p>  專(zhuān) 業(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 首頁(yè)展示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 后臺(tái)管理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ù)庫(kù)設(shè)計(jì)22</p><p>  5.1 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)23</p><p> 

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

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

8、<p>  6.10 日期的顯示(jquery)27</p><p><b>  7、系統(tǒng)測(cè)試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為開(kāi)發(fā)工具,采用當(dāng)前比較流行的java編程語(yǔ)言進(jìn)行編碼,數(shù)據(jù)庫(kù)采用的是mysql。本文詳細(xì)地描述了電子商品展示網(wǎng)站設(shè)計(jì)的各個(gè)組成部分,以及這一信息平臺(tái)所實(shí)現(xiàn)的功能和性能,對(duì)各

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

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

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

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

14、rvlet,JavaBean,Struts;業(yè)務(wù)邏輯層通過(guò)tomcat容器運(yùn)行Session Bean,Entity Bean,MDB,Spring,Habernate;企業(yè)信息層系統(tǒng)可以通過(guò)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平臺(tái)的產(chǎn)品幾乎能夠在任何操作系統(tǒng)和硬件配置上運(yùn)行,現(xiàn)有操作系統(tǒng)和硬件也能被保留使用。</p><p>  2.高效的開(kāi)發(fā):J2EE允許把一些通用的、很繁瑣的服務(wù)端任務(wù)交給中間件供應(yīng)商去完成。這樣開(kāi)發(fā)人員可以集中精力在如何創(chuàng)建商業(yè)邏輯上,相應(yīng)的減短了開(kāi)發(fā)時(shí)間。</p><p>  3.支持異構(gòu)環(huán)境:J2EE能夠開(kāi)發(fā)部署在異構(gòu)環(huán)境中的可移植程序。基于J2EE

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

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

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

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

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

21、序資源文件保留了一些文本常量和錯(cuò)誤消息,可轉(zhuǎn)變?yōu)槠渌Z(yǔ)言,可用于JSP中。</p><p>  Controller:Struts提供了一個(gè)核心的控制器ActionServlet,通過(guò)這個(gè)核心的控制器來(lái)調(diào)用其他用戶(hù)注冊(cè)了的自定義的控制器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中配置成自動(dòng)啟動(dòng)的 Servlet,在啟動(dòng)時(shí)總控制

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

24、員變量中。 </p><p>  4.派發(fā)請(qǐng)求:控制器根據(jù)配置信息對(duì)象ActionConfig將請(qǐng)求派發(fā)到具體的Action,對(duì)應(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對(duì)象。服務(wù)器通過(guò)ActionForward對(duì)象進(jìn)行轉(zhuǎn)發(fā)工作。</p><p>  6.返回響應(yīng):Action將業(yè)務(wù)處理的不同結(jié)果返回一個(gè)目標(biāo)響應(yīng)對(duì)象給總控制器。</p><p>  7.查找響應(yīng):總控制器根據(jù)Action處理業(yè)務(wù)返回的目標(biāo)響應(yīng)對(duì)象,找到對(duì)應(yīng)的資源對(duì)象,一般情況下為jsp頁(yè)面。</p><p>  8.響應(yīng)用戶(hù):目標(biāo)響應(yīng)對(duì)象將結(jié)果傳遞給資源對(duì)象,將結(jié)

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

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

28、截器就會(huì)按其之前定義的順序被調(diào)用 。</p><p>  攔截器實(shí)現(xiàn)原理:Struts 2的攔截器實(shí)現(xiàn)相對(duì)簡(jiǎn)單。當(dāng)請(qǐng)求到達(dá)Struts 2的ServletDispatcher時(shí),Struts 2會(huì)查找配置文件,并根據(jù)其配置實(shí)例化相對(duì)的攔截器對(duì)象,然后串成一個(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文件中通過(guò)“<include file=”struts-default.xml“ />”將struts-default.xml文件包含進(jìn)來(lái),并繼承其中的struts-default包(package),最后在定義Action時(shí),使用<interceptor-ref name=“xx”/>引用攔截器或攔截器棧(interceptor stack

31、)。</p><p>  一旦您繼承了struts-default包(package),所有Action都會(huì)調(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。除此之外,大家可能更喜歡繼承類(lèi)com.opensymphony.xwork2.interceptor.AbstractInterceptor 。Struts2的攔截器是無(wú)狀態(tài)的

33、,因?yàn)镾truts 2不能保證為每一個(gè)請(qǐng)求或者action創(chuàng)建一個(gè)實(shí)例,所以如果攔截器帶有狀態(tài),會(huì)引發(fā)并發(fā)問(wèn)題。 </p><p><b>  3.4 CSS樣式</b></p><p>  CSS是Cascading Style Sheets(層疊樣式表)的簡(jiǎn)稱(chēng)。</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布局相對(duì)于傳統(tǒng)的TABLE網(wǎng)頁(yè)布局而具有以下3個(gè)顯著優(yōu)勢(shì): </p><p>  1. 表現(xiàn)和內(nèi)容相分離將設(shè)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

58、;/p><p>  數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)從數(shù)據(jù)庫(kù)中截圖如下所示:</p><p><b> ?。?)用戶(hù)表:</b></p><p><b>  表1 用戶(hù)表</b></p><p><b>  (2)新聞表:</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、開(kāi)發(fā)中用到的知識(shí)點(diǎn)與遇到的問(wèn)題</p><p>  本次開(kāi)發(fā)過(guò)程中,遇到了很多問(wèn)題,通過(guò)向老師請(qǐng)教和與同學(xué)研究,最終問(wèn)題都得到了解決?,F(xiàn)在把主要問(wèn)題羅列如下:</p><p&g

61、t;  6.1 分頁(yè)的sql語(yǔ)句寫(xiě)法</p><p>  使用DB2數(shù)據(jù)庫(kù)的寫(xiě)法</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ù)庫(kù)的寫(xiě)法&

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 亂碼問(wèn)題</b></p>

66、<p>  數(shù)據(jù)庫(kù)、Servlet、JSP頁(yè)面統(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頁(yè)面中:</b></p><p>  <%@ page pageEncoding=”GBK”%></p><p>

68、<b>  6.3 滾動(dòng)條置底</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 頁(yè)面跳轉(zhuǎn)問(wè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>  解釋?zhuān)簍.println()中嵌入js,location.replace(’admin/ManageNews.jsp’);</script>")進(jìn)入admin/ManageNews.jsp并刷新該頁(yè)面。</p><p>  也可以用history.go(-1);但是這樣不可以刷新頁(yè)面。</p><p> ?。?)re

74、quest.setAttribute("nl", newsList);</p><p>  request.getRequestDispatcher("MyIndex.jsp").forward(request, response);</p><p>  解釋?zhuān)河胷equest.setAttribute("nl", newsLis

75、t);后,如果用Response.sendRedirect("admin/AddNews.jsp");方法跳轉(zhuǎn)頁(yè)面,則用request.getAttribute("n1");不能取到它的值,必須用request.getRequestDispatcher("MyIndex.jsp").forward(request, response);來(lái)跳轉(zhuǎn)頁(yè)面。才可以取到"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>  解釋?zhuān)涸赟ervl

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

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

79、t;<p>  解釋?zhuān)簩?duì)從頁(yè)面取得的數(shù)據(jù)操作前,要做非空判斷?。?lt;/p><p>  6.9 Servlet中獲取session和application</p><p>  HttpSession session=request.getSession();</p><p>  ServletContext application=this.getSer

80、vletContext();</p><p>  解釋?zhuān)涸谟胹ession.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)測(cè)試</b></p><p>  在本次測(cè)試中遇到了很多問(wèn)題問(wèn)題在這里提一個(gè)很常見(jiàn)卻又很

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

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

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

87、3] 薩師煊等編著.《數(shù)據(jù)庫(kù)系統(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ù)庫(kù)開(kāi)發(fā)技術(shù)與實(shí)例詳解[M].侯國(guó)鋒,譯.1版.北京:電子工業(yè)出版社.2000:205-390.</p><p>  [6]薛元昀,顧佳英.網(wǎng)頁(yè)數(shù)據(jù)庫(kù)設(shè)計(jì)與發(fā)布[M].北京:清華大學(xué)出版社.1999:132-395.</p><p>  [7]岳學(xué)軍,李曉黎.Web應(yīng)用程序開(kāi)發(fā)教程——ASP.NET+SQL SERVER

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

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

91、誠(chéng)感謝所有幫助過(guò)我的老師同學(xué)。</p><p>  最后,對(duì)審閱本論文的各位老師表示衷心的感謝!</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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論