畢業(yè)設(shè)計(jì)_SSI框架的電子商務(wù)信息平臺(tái)的研究和構(gòu)建_第1頁(yè)
畢業(yè)設(shè)計(jì)_SSI框架的電子商務(wù)信息平臺(tái)的研究和構(gòu)建_第2頁(yè)
畢業(yè)設(shè)計(jì)_SSI框架的電子商務(wù)信息平臺(tái)的研究和構(gòu)建_第3頁(yè)
畢業(yè)設(shè)計(jì)_SSI框架的電子商務(wù)信息平臺(tái)的研究和構(gòu)建_第4頁(yè)
畢業(yè)設(shè)計(jì)_SSI框架的電子商務(wù)信息平臺(tái)的研究和構(gòu)建_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、XXXXXX大學(xué)畢業(yè)論文(設(shè)計(jì))題 目 基于SSI框架的電子商務(wù)信息平臺(tái)的研究和構(gòu)建 工商 學(xué) 院 XXX 專 業(yè) 08 級(jí) 2 班學(xué)生 XXX 學(xué) 號(hào) 指導(dǎo)教師 XXX 職 稱 完成日期 2011-11-30教務(wù)處 制29 / 30基于SSI框架的電子商務(wù)信息平臺(tái)的研究和構(gòu)建摘 要近年來,在網(wǎng)絡(luò)技術(shù)的迅速發(fā)展和J2EE平臺(tái)被廣泛采用的背景下,基于多層B/S結(jié)構(gòu)的Web體系結(jié)構(gòu)逐漸發(fā)展并成為主流。但是,在多層Web體系結(jié)構(gòu)的設(shè)計(jì)中,普遍存在著程序可重用度低、功能模塊可擴(kuò)展性差、維護(hù)工作繁瑣與開發(fā)中分工協(xié)作困難等問題。設(shè)計(jì)一個(gè)松耦合和緊聚的系統(tǒng)一直是軟件工程領(lǐng)域重點(diǎn)研究的問題。本系統(tǒng)基于Spri

2、ng+Struts+iBATIS(簡(jiǎn)稱SSI)輕量級(jí)復(fù)合型框架,很好的解決了上述問題,同時(shí)解決了視圖層、業(yè)務(wù)層和控制層的分離,提供了對(duì)象到關(guān)系數(shù)據(jù)庫(kù)的持久化支持。本文將研究整合Spring、Struts和iBATIS,并在電子商務(wù)信息平臺(tái)中進(jìn)行應(yīng)用。關(guān)鍵詞Spring Struts iBATIS Ajax 電子商務(wù)信息平臺(tái) 目錄引言3第一章 系統(tǒng)實(shí)現(xiàn)原理31.1表示層框架31.2業(yè)務(wù)層框架31.3持久層框架31.4集成三種框架技術(shù)31.4.1客戶層41.4.2表示層41.4.3業(yè)務(wù)層41.4.4持久層4第二章 電子商務(wù)信息平臺(tái)的設(shè)計(jì)52.1系統(tǒng)平臺(tái)定位52.2用戶管理系統(tǒng)52.3信息顯示系統(tǒng)6

3、2.4信息發(fā)布系統(tǒng)62.5信息查詢系統(tǒng)6第三章 系統(tǒng)代碼實(shí)現(xiàn)63.1 整合項(xiàng)目開發(fā)基本框架63.1.1 準(zhǔn)備工作63.1.2 向項(xiàng)目中加入Spring框架63.1.3 向項(xiàng)目中加入Struts框架73.1.4 配置數(shù)據(jù)源83.1.5 為項(xiàng)目配置Spring事務(wù)管理93.1.6 配置項(xiàng)目定時(shí)器93.1.7 向項(xiàng)目中加入iBATIS框架103.1.8 向項(xiàng)目中加入AJAX框架123.1.9 向項(xiàng)目中加入U(xiǎn)RL重寫框架153.2 具體代碼實(shí)現(xiàn)153.2.1持久層實(shí)現(xiàn)163.2.2 業(yè)務(wù)邏輯層的實(shí)現(xiàn)223.2.3控制層實(shí)現(xiàn)243.2.4展示層頁(yè)面實(shí)現(xiàn)263.2.5平臺(tái)頁(yè)面展示37第四章 總結(jié)43參考文

4、獻(xiàn)43引言 伴隨著我國(guó)網(wǎng)絡(luò)互聯(lián)的普遍推廣,擁有終端PC機(jī)的人數(shù)正在大幅增加,進(jìn)行網(wǎng)絡(luò)購(gòu)物和電子支付的人數(shù)也必將會(huì)越來越多, 電子商務(wù)占有的市場(chǎng)份額也必會(huì)增加, 也將會(huì)出現(xiàn)更多的電子商務(wù)。但是,眾多中小企業(yè)還有相當(dāng)部分由于各因素的制約而沒有開展電子商務(wù), 這就造成了這些中小企業(yè)在面對(duì)競(jìng)爭(zhēng)國(guó)際化、 熾熱化的今天很容易處于劣勢(shì), 這是我國(guó)中小企業(yè)亟待解決的問題。作為企業(yè)的對(duì)外溝通的平臺(tái),電子商務(wù)信息平臺(tái)可以鞏固和樹立企業(yè)形象,成為產(chǎn)品品牌宣傳和業(yè)務(wù)推廣的有力渠道,是與經(jīng)銷商或合作伙伴之間溝通、業(yè)務(wù)合作往來的主要紐帶,節(jié)省了企業(yè)成本,提高了效率。因此,對(duì)電子商務(wù)信息平臺(tái)的研究和構(gòu)建有極其重要的意義。第

5、一章 系統(tǒng)實(shí)現(xiàn)原理1.1表示層框架表現(xiàn)層框架主要有 Struts和 Tapestry。Struts框架在創(chuàng)建W eb應(yīng)用時(shí)能容易地分離表示層和業(yè)務(wù)層, 它是在 J SP M ode l 2的基礎(chǔ)上實(shí)現(xiàn)的一個(gè) MVC框架。 Struts框架主要由模型、 視圖、控制器三部分組成, 模型由實(shí)現(xiàn)業(yè)務(wù)邏輯的 JavaBean或 E J B組件構(gòu)成, 控制器由 ActionSe rv l e t和 Action實(shí)現(xiàn),視圖由一組 JSP文件構(gòu)成。Tapestry與 Struts應(yīng)用框架不同的是,它是基于組件,而不是面向腳本語言 (比如 JSP和 Ve locity)的,組件是由一個(gè)定義文件 (以 XML的格

6、式 )、 一個(gè) HTML模板、 一個(gè) JAVA 類構(gòu)成的。Tapestry的組件可以被套嵌并包裹其它組件,因此可以組合形成一個(gè)更大的組件或邏輯頁(yè)面。組件的行為模式為W eb頁(yè)面編程提供了很大的方便,事件處理也方便很多。 S truts框架由于出現(xiàn)時(shí)間早,所以使用相對(duì)廣泛,它的社區(qū)非常活躍,很容易找到很多現(xiàn)成的開源功能標(biāo)簽以供使用以與樣例程序可供參考,而且運(yùn)行比較穩(wěn)定,因此本文表示層采用 S truts框架。1.2業(yè)務(wù)層框架業(yè)務(wù)組件層輕量級(jí)解決方案主要包括 Spring、H ivemind等。但是目前使用最為廣泛的還是 Spring框架,Spring框架是一個(gè)基于IoC和AOP(面向方面編程 )

7、的構(gòu)架。采用 IoC使得它可以很容易地實(shí)現(xiàn) bean的裝配,提供了簡(jiǎn)潔的 AOP并據(jù)此實(shí)現(xiàn)事務(wù)管理等,但是它不具備處理應(yīng)用分布式的能力。 Spr i ng的核心要點(diǎn)是: 支持不綁定到特定 J 2EE服務(wù)的可重用業(yè)務(wù)和數(shù)據(jù)訪問對(duì)象。這樣的對(duì)象可以在不同 J 2EE環(huán)境 (Web或E)、獨(dú)立應(yīng)用程序、 測(cè)試環(huán)境之間重用。1.3持久層框架持久層框主要有 H i bernate和各種JDO產(chǎn)品,以與 i BATIS 。Hibernate是一個(gè)開源的O /RMappi ng框架,它對(duì) JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,可以應(yīng)用在任何使用 JDBC的場(chǎng)合,可以在應(yīng)用 E的J2EE框架中取代CMP ,完成

8、數(shù)據(jù)持久化的重任 iBATIS是一個(gè)簡(jiǎn)易的SQLMap工具,它是將手工編寫的在xm l配置文件中的 SQL語句映射成 Java對(duì)象。使用 i BAT IS提供的 O /R M appi ng機(jī)制,對(duì)業(yè)務(wù)邏輯實(shí)現(xiàn)人員而言,面對(duì)的是純粹的 Java對(duì)象,這一層與通過 H i bernate實(shí)現(xiàn)O /R M app i ng而言基本一致,而對(duì)于具體的數(shù)據(jù)操作,H i bernate會(huì)自動(dòng)生成 SQL語句,而 iBATIS則要求開發(fā)者編寫具體的SQL語句。相對(duì) H iberna te等全自動(dòng)O /R M appi ng機(jī)制而言,i BATIS以SQL開發(fā)的工作量和數(shù)據(jù)庫(kù)移植性上的讓步,為系統(tǒng)設(shè)計(jì)提供了

9、更大的自由空間。本文采用 i BATIS作為持久層框架,充分發(fā)揮其自由靈活的特點(diǎn)。1.4集成三種框架技術(shù):將S truts框架,Spri ng框架和i BATIS框架集成在一起,實(shí)現(xiàn)無縫連接,可達(dá)到提高軟件開發(fā)效率的目的。集成后的框架分為五個(gè)邏輯層,自頂向下依次是客戶層、 表示層、 業(yè)務(wù)層、 持久層、 數(shù)據(jù)源層,圖 1為五個(gè)邏輯層的分布情況以與三個(gè)框架分別所居的層次。圖 1 整合后的分層結(jié)構(gòu)圖1.4.1客戶層該層完成與用戶的交互功能,負(fù)責(zé)傳送客戶請(qǐng)求,接收系統(tǒng)響應(yīng),顯示處理結(jié)果。主要由 HTML代碼、JSP代碼和標(biāo)簽組成,屬應(yīng)用系統(tǒng)的前端界面部分。1.4.2表示層 該層主要負(fù)責(zé)處理用戶請(qǐng)求,并

10、將請(qǐng)求信息發(fā)送到業(yè)務(wù)層進(jìn)行處理,業(yè)務(wù)層處理完之后,將處理結(jié)果返回到客戶層,基于 MVC模式的 S truts框架工作在表示層,它還負(fù)責(zé)處理應(yīng)用程序的異常以與對(duì)提交的表單進(jìn)行數(shù)據(jù)校驗(yàn)。1.4.3業(yè)務(wù)層該層負(fù)責(zé)處理用戶請(qǐng)求的業(yè)務(wù)邏輯。業(yè)務(wù)層采用輕量級(jí)容器 Spring IoC,它通過配置 XML文件進(jìn)行各層間的交互,為表示層提供業(yè)務(wù)模型組件。業(yè)務(wù)模型組件通過調(diào)用持久層 DAO 操縱數(shù)據(jù)庫(kù),完成業(yè)務(wù)邏輯。 IoC還提供事務(wù)處理、 緩沖池等容器組件,提升系統(tǒng)性能,保證數(shù)據(jù)完整性。1.4.4持久層該層主要實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作。 i BAT IS框架工作在持久層,i BAT IS DAO 通過調(diào)用 SQLM

11、 ap ,完成對(duì)數(shù)據(jù)庫(kù)的操作,實(shí)現(xiàn)業(yè)務(wù)層的調(diào)用。 i BAT IS SQLM ap使用 X M L描述符將JavaBeans等映射到 SQL語句,通過 JDBC實(shí)現(xiàn)與底層關(guān)系數(shù)據(jù)庫(kù)的交互。數(shù)據(jù)源層 由關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng) (如: SQL Serve r ,Oracle等 )構(gòu)成數(shù)據(jù)源層。集成后的框架具備了三種框架的技術(shù)優(yōu)勢(shì),將 Struts的MVC機(jī)制,Spr i ng的控制反轉(zhuǎn)機(jī)制,以與 i BATIS的 SQL M ap映射機(jī)制融合在一起。集成框架在 W eb應(yīng)用程序開發(fā)中的優(yōu)勢(shì)主要體現(xiàn)在:(1) Struts框架的 MVC模式將表現(xiàn)邏輯和業(yè)務(wù)邏輯分離,擺脫了原有模式的高耦合性,提高了開發(fā)效率

12、。(2) Spring框架提供了輕量級(jí)的管理業(yè)務(wù)組件的 IoC容器。實(shí)現(xiàn)了對(duì) E技術(shù)的替代和更好的組件重用性,降低對(duì)象之間的依賴,使得程序的調(diào)試修改更為簡(jiǎn)單。(3) i BATIS框架實(shí)現(xiàn)了 DAO 和 SQL M ap的分離,使系統(tǒng)的設(shè)計(jì)更清晰、 更易維護(hù)、 更易單元測(cè)試。而且通過靈活使用SQL語句基本上可以實(shí)現(xiàn)不使用數(shù)據(jù)訪問框架能夠?qū)崿F(xiàn)的所有功能,甚至更多。(4) 三框架的融合大大減少了軟件開發(fā)的代碼量,降低了各模塊間的耦合度,使得程序更易調(diào)試、 修改與維護(hù),提高了工作效率。(5) 三框架都是開源項(xiàng)目,可以免費(fèi)獲取,不需要 E J B服務(wù)器,應(yīng)用程序部署在 WEB服務(wù)器上,節(jié)省開支、 降低

13、了開發(fā)成本。第二章 電子商務(wù)信息平臺(tái)的設(shè)計(jì)2.1系統(tǒng)平臺(tái)定位作為電子商務(wù)信息平臺(tái),目的是為IT行業(yè)的用戶提供最快最新的IT行業(yè)的信息、提供便利的在線服務(wù),使企業(yè)的利益最大化。為會(huì)員單位和其他企事業(yè)單位提供IT各行業(yè)國(guó)外新技術(shù)、新產(chǎn)品、先進(jìn)管理經(jīng)驗(yàn)和市場(chǎng)信息;為企業(yè)提供國(guó)際交流、貿(mào)易洽談、市場(chǎng)開拓機(jī)會(huì);開展?fàn)I銷活動(dòng),定期舉辦展銷會(huì)等貿(mào)易促進(jìn)活動(dòng),發(fā)布各種信息,提供相關(guān)服務(wù)。此平臺(tái)將充分利用計(jì)算機(jī)聯(lián)網(wǎng)改變了傳統(tǒng)的信息傳遞方式,提供了快速獲取最新信息的手段這一優(yōu)勢(shì),與時(shí)發(fā)布IT行業(yè)實(shí)時(shí)動(dòng)態(tài)信息,為用戶提供全方位的行業(yè)信息服務(wù)。電子商務(wù)信息平臺(tái)可以鞏固和樹立企業(yè)形象,成為產(chǎn)品品牌宣傳和業(yè)務(wù)推廣的有力渠

14、道,是與消費(fèi)者之間交流的重要渠道,是與經(jīng)銷商或合作伙伴之間溝通、業(yè)務(wù)合作往來的主要紐帶,節(jié)省了企業(yè)成本,提高了效率,而且也為用戶節(jié)約了時(shí)間。2.2用戶管理系統(tǒng)作為電子商務(wù)信息的展現(xiàn)平臺(tái),所以有必要對(duì)用戶進(jìn)行會(huì)員與非會(huì)員的區(qū)分,給會(huì)員賦予特殊權(quán)限,可以使用具有商業(yè)的信息,而非會(huì)員則只能瀏覽一些大眾性的信息。用戶管理系統(tǒng)的主要功能是管理和維護(hù)會(huì)員和非會(huì)員的權(quán)限和信息。(1)在Mysql上創(chuàng)建本電子商務(wù)平臺(tái)的數(shù)據(jù)庫(kù)(2)建用戶的檔案信息表(3)設(shè)置與用戶信息相關(guān)的字段。(4)設(shè)計(jì)用戶界面。為了方便新用戶注冊(cè),老用戶與時(shí)登錄,我們將用戶管理模塊放在了首頁(yè)的最醒目的位置主頁(yè)的右上方。這個(gè)模塊主要包括四個(gè)

15、容:新用戶注冊(cè)、用戶登錄、用戶修改密碼以與用戶忘記密碼的處理。 a新用戶注冊(cè)。當(dāng)用戶填寫好自己的會(huì)員信息并提交后,我們?cè)O(shè)計(jì)了一個(gè)用于處理會(huì)員信息的在后臺(tái)服務(wù)器端運(yùn)行的程序,用于將會(huì)員所提交的信息實(shí)時(shí)的寫入數(shù)據(jù)庫(kù)中。 b會(huì)員身份確認(rèn)模塊。用戶提交了注冊(cè)信息后,我們要為系統(tǒng)管理員設(shè)計(jì)一個(gè)查閱用戶信息和確認(rèn)會(huì)員身份的系統(tǒng),這就是會(huì)員身份確認(rèn)模塊。 c忘記密碼處理模塊。用戶在注冊(cè)時(shí)需要提交密碼提示問題與答案,如果用戶忘記了密碼,但沒有忘記密碼提示問題的答案,那么我們可以設(shè)計(jì)出一個(gè)讓用戶通過回答密碼提示問題的程序來讓用戶獲得密碼。在數(shù)據(jù)庫(kù)中只需通過比較該用戶提交的密碼提示問題的答案是否與原來存在數(shù)據(jù)庫(kù)中

16、的答案相匹配來判斷是否給他提供正確的密碼。2.3信息顯示系統(tǒng)傳達(dá)企業(yè)電子商務(wù)信息,包括圖片新聞、商城快訊、一周熱點(diǎn)排行、新聞專題、電商服務(wù)、精彩推薦、廠商動(dòng)態(tài)和電商世界,緊跟時(shí)代脈搏,把握無限商機(jī)。(1)建立新聞數(shù)據(jù)庫(kù)表。由于新聞信息量大、時(shí)效性強(qiáng)、新聞?lì)悇e多,所以采用分類顯示的方法。這樣一來,就需要根據(jù)新聞?lì)悇e的不同建立不同的新聞數(shù)據(jù)庫(kù)表。 (2)設(shè)置與新聞信息相關(guān)的字段,例如新聞編號(hào),新聞標(biāo)題,新聞容,新聞發(fā)布時(shí)間等,其中新聞編號(hào)和新聞發(fā)布時(shí)間在程序設(shè)計(jì)中起著相當(dāng)重要的作用。這是因?yàn)橛脩艨偸窍朐谧钕瓤匆娮钚碌男侣?,所以,我們?cè)谠O(shè)計(jì)程序時(shí),必須將新聞的顯示次序按照新聞的發(fā)布時(shí)間的降序排列,這

17、樣就可以保證用戶最先看到的新聞一定是最先發(fā)布的。 (3)新聞信息的分頁(yè)顯示。2.4信息發(fā)布系統(tǒng) 為企業(yè)提供方便的在線信息發(fā)布功能,使企業(yè)與時(shí)地發(fā)布供應(yīng)和需求信息。充分利用網(wǎng)絡(luò)信息的時(shí)效性強(qiáng)、準(zhǔn)確性高、便于存儲(chǔ)和檢索方便的功能,奠定企業(yè)進(jìn)行網(wǎng)絡(luò)營(yíng)銷決策和計(jì)劃的基礎(chǔ)。2.5信息查詢系統(tǒng) 方便用戶進(jìn)行各種對(duì)感興趣的信息進(jìn)行檢索,尋求商機(jī),節(jié)省時(shí)間和資源。這部分包括分類查詢和條件查詢兩部分。第三章 系統(tǒng)代碼實(shí)現(xiàn)3.1 整合項(xiàng)目開發(fā)基本框架3.1.1 準(zhǔn)備工作(1) 配置開發(fā)環(huán)境 JDK版本:jdk1.6.0 J2EE容器:Tomcat 6.0 數(shù)據(jù)庫(kù):MySQL 5.1.23 系統(tǒng):Windows X

18、P Profession 開發(fā)工具:MyEclipse6.5.0、Dreamweaver8.0、PhotoShop CS3 本系統(tǒng)使用的框架版本:Struts2.0、Spring2.5、Ibatis(2)下載相關(guān)jar包到Spring、Struts和iBATIS官方下其最新壓縮包,將下載的三個(gè)框架分別解壓縮。新建一個(gè)Web Project(名稱為SSH_NEWS)。3.1.2向項(xiàng)目中加入Spring框架將Spring解壓縮以后spring-framework-2.5.6dist目錄中的spring.jar復(fù)制到Web項(xiàng)目的WEB-INF/lib目錄中(Spring核心jar包)。復(fù)制sprin

19、g-framework-2.5.6liblog4j中的log4j相關(guān)的jar文件到項(xiàng)目中WEB-INF/lib目錄中(日志jar包)。打開WEB項(xiàng)目中的WEB-INF目錄中的web.xml文件,添加與結(jié)合項(xiàng)目實(shí)際情況配置以下容contextConfigLocation/WEB-INF/config/applicationContext.xmllog4jConfigLocation/WEB-INF/config/pertieslog4jRefreshInterval60000org.springframework.web.context.ContextLoaderListene

20、rorg.springframework.web.util.Log4jConfigListener3.1.3向項(xiàng)目中加入Struts框架將解壓之后的strutsstruts-appsstruts2-blank-WEB-INFlib下面的六個(gè)基本jar文件復(fù)制到Web項(xiàng)目的WEB-INF/lib目錄中打開WEB項(xiàng)目中的WEB-INF目錄中的web.xml文件,添加與結(jié)合項(xiàng)目實(shí)際情況配置以下容struts2-cleanuporg.apache.struts2.dispatcher.ActionContextCleanUp struts2-cleanup/*struts2

21、org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2/*3.1.4 配置數(shù)據(jù)源Spring提供了對(duì)多種數(shù)據(jù)連接池的支持,本項(xiàng)目選中c0p0來作為數(shù)據(jù)庫(kù)的連接,直接將spring-framework-2.5.6libc3p0下面的c3p0-.jar復(fù)制到Web項(xiàng)目的WEB-INF/lib目錄中(1)為了是后邊修改數(shù)據(jù)庫(kù)相關(guān)信息更加方便,在WEB-INFconfig目錄中創(chuàng)建perties,具體容:jdbc.driverClassName=.mysql.jdbc.Dr

22、iverjdbc.url=jdbc:mysql:/localhost:3306/eshop?useUnicode=true&characterEncoding=utf-8jdbc.username=rootjdbc.password=mysql(2)在WEB項(xiàng)目中的WEB-INFconfig目錄中的Spinrg的配置危機(jī)applicationContext.xml文件,配置以下容:/WEB-INF/config/perties$jdbc.driverClassName$jdbc.url$jdbc.username$jdbc.password3.1.5 為項(xiàng)目配置Spring事務(wù)

23、管理在WEB項(xiàng)目中的WEB-INFconfig目錄中的Spinrg的配置危機(jī)applicationContext.xml文件,添加以下容:3.1.6配置項(xiàng)目定時(shí)器由于項(xiàng)目需要根據(jù)后臺(tái)的數(shù)據(jù)生成實(shí)時(shí)的數(shù)據(jù)信息,因此需為項(xiàng)目配置一個(gè)時(shí)間調(diào)度器,讓項(xiàng)目可以根據(jù)設(shè)定的時(shí)間實(shí)時(shí)執(zhí)行我們所提供的方法,生成最新的信息。Spring提供對(duì)調(diào)度器的支持,將spring-framework-2.5.6libquartz下面的quartz-all-1.6.1.jar復(fù)制到Web項(xiàng)目的WEB-INF/lib目錄中,同時(shí)將struts-lib項(xiàng)目commons-collections-3.2.jar復(fù)制到

24、Web項(xiàng)目的WEB-INF/lib目錄中編寫相應(yīng)的從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)生成最新信息的java類,本項(xiàng)目中此類為JspToHtml.java,項(xiàng)目中將根據(jù)設(shè)定的時(shí)間執(zhí)行JspToHtml類中的buildHtml方法。詳細(xì)代碼請(qǐng)附件源碼。在applicationContext.xml文件,添加以下容:buildHtml06000003.1.7向項(xiàng)目中加入iBATIS框架由于Spring壓縮包里面已經(jīng)有了iBATIS的jar包,直接spring-framework-2.5.6libibatis下面的ibatis-26.jar復(fù)制到Web項(xiàng)目的WEB-INF/lib目錄中在iBATIS中S

25、qlMapClientFactoryBean是一個(gè)工廠bean,它暴露了兩個(gè)關(guān)鍵屬性用于注射IBatis配置文件和相關(guān)的數(shù)據(jù)源。在工廠部,通過讀取IBatis配置文件,Spring會(huì)創(chuàng)建出IBatis的核心組件SqlMapClient,并向相關(guān)的DAO進(jìn)行注射。SqlMapProductDao繼承了SqlMapClientDaoSupport,后者暴露出一個(gè)sqlMapClient屬性,用于接受Spring的注射。SqlMapClientDaoSupport會(huì)對(duì)其中封裝的SqlMapClientTemplate做相應(yīng)的設(shè)置,所以DAO子類便可在取用SqlMapClientTemplate時(shí)正常

26、地工作了。 首先在WEB-INF/config中創(chuàng)建iBATIS配置文件sqlMapConfig.xml,通過它加載相應(yīng)的sql配置文件,具體容如下在applicationContext.xml文件,添加對(duì)iBATIS的支持:/省略WEB-INF/config/sqlMapConfig.xml/省略 相應(yīng)的Dao以與Service則由Spring容器通過依賴注入來管理:/省略/省略3.1.8向項(xiàng)目中加入AJAX框架在目前的Web2.0熱潮中,Ajax已成為人們談?wù)撟疃嗟募夹g(shù)術(shù)語!其實(shí),AJAX(Asynchronous JavaScript and XML)是多種技術(shù)的綜合,它使用XHTML和

27、CSS標(biāo)準(zhǔn)化呈現(xiàn),使用DOM實(shí)現(xiàn)動(dòng)態(tài)顯示和交互,使用XML和XSTL進(jìn)行數(shù)據(jù)交換與處理,使用XML Request對(duì)象進(jìn)行異步數(shù)據(jù)讀取,使用Javascript綁定和處理所有數(shù)據(jù)。在本項(xiàng)目中,將使用目前比較流行的兩個(gè)ajax框架ajaxAnywhere和dwr。配置dwr框架DWR(Direct Web Remoting)是一個(gè)開源的類庫(kù),可以幫助開發(fā)人員開發(fā)包含Ajax技術(shù)的。它可以允許在瀏覽器里的代碼使用運(yùn)行在Web服務(wù)器上的Java函數(shù),就像它在瀏覽器里一樣。DWR包含兩個(gè)主要的部分,其一是運(yùn)行在瀏覽器客戶端的Javascript,這部分被用來與服務(wù)器通信,并更新頁(yè)面容;其二是運(yùn)行在服務(wù)

28、器端的Java Servlet,這部分被用來處理請(qǐng)求并將響應(yīng)結(jié)果發(fā)送給瀏覽器。在項(xiàng)目通過根據(jù)用戶評(píng)論是提交的用戶名和密碼,查詢是否有次用戶存在,存在則將相應(yīng)的信息返回到頁(yè)面/判斷是否匿名/省略function checkUser()var comment1= document.getElementById(commentVO ment).value; comment1 = comment1.replace(/(s*)|(s*$)/g,);if(comment1=)alert(請(qǐng)輸入評(píng)論容);return false; /匿名if(document.getElementById(notuser)

29、.checked)comment();/不匿名,檢查用戶名和密碼elsevar userVO = new UserVO();var name=document.getElementById(username).value;var pwd=document.getElementById(pwd).value;name = name.replace(/(s*)|(s*$)/g,);pwd = pwd.replace(/(s*)|(s*$)/g,);if(name=)alert(請(qǐng)?zhí)顚懹脩裘?;return; if(pwd=)alert(請(qǐng)?zhí)顚懨艽a!);return;userVO.loginNam

30、e=name;userVO.loginPwd=pwd;userDao.loadUser(userVO,callBack);function callBack(data)if(data=null|data=)alert(用戶名或密碼不正確!);elsedocument.getElementById(commentVO.userId).value=data.id;comment();/省略上dwr官方下載最新的jar包,本項(xiàng)目中為2.0.3版本,將dwr的jar包添加到web項(xiàng)目中。首先,在WEB-INF目錄下創(chuàng)建dwr的配置文件dwr.xml 在web.xml中配置dwr的servlet:/省略

31、dwrorg.directwebremoting.servlet.DwrServletconfig-tcps/WEB-INF/dwr.xmldebugtruedwr/dwr/*/省略配置ajaxAnywhere使用AjaxAnywhere可以將頁(yè)面簡(jiǎn)單的劃分為多個(gè)區(qū)域(zone),然后調(diào)用AjaxAnywher刷新(Refresh)那些指定的區(qū)域,而不是整個(gè)頁(yè)面。在本系統(tǒng)中,對(duì)于新聞的評(píng)論采用了ajaxAnywhere,當(dāng)我們提交評(píng)論時(shí),既可以在無需刷新整個(gè)頁(yè)面的情況下,在下方的評(píng)論列表中看到提交的評(píng)論。如下圖中,只刷新最新評(píng)論區(qū)域,同時(shí)也可以看到右上角的loading標(biāo)志,如圖3-1:圖3-

32、1 異步加載展示圖向項(xiàng)目中添加ajaxAnywhere的jar包,在web.xml配置相應(yīng)的過濾器:AjaxAnywhereorg.ajaxanywhere.AAFilterAjaxAnywhere*.jsfAjaxAnywhere*.jspAjaxAnywhere*.action3.1.9向項(xiàng)目中加入U(xiǎn)RL重寫框架通過URL重寫,可以縮短url,隱藏實(shí)際路徑提高安全性,易于用戶記憶和鍵入,易于被搜索引擎收錄。向項(xiàng)目中添加URL重寫的jar包,本系統(tǒng)中使用的是urlrewritefilter-3.1.0.jar。首先在WEB-INF中創(chuàng)建URLWRITER的配置文件urlrewrite.xml

33、,具體容如下:/InfoView_(0-9+).html$/emotionAction.load.action?emotionArticleVO.atricleId=$1/queryInfo_(0-9+).html$/emotionAction.queryForList.action?emotionArticleVO.auditFlag=Y&emotionArticleVO.flag=$1/index.jsp$/l_index.jsp/index.html$/l_index.jsp其次在web.xml中配置相應(yīng)的過濾器/省略UrlRewriteFilterorg.tuckey.web.

34、filters.urlrewrite.UrlRewriteFilter logLevelWARN/省略此時(shí)在瀏覽器中輸入localhost:8099/SSH_NEWS/InfoView_162.html,既可以執(zhí)行/emotionAction.load.action?emotionArticleVO.atricleId=1633.2 具體代碼實(shí)現(xiàn)作為一個(gè)電子信息展現(xiàn)的平臺(tái),如何更好的向外界展示企業(yè)的信息,是一個(gè)值得研究的重點(diǎn),在項(xiàng)目中,為了獲取企業(yè)發(fā)布的最新新聞列表,設(shè)計(jì)時(shí)間調(diào)度器,定時(shí)生成最新信息;為了平臺(tái)的安全性和易于被搜索引擎收入,采用了url重寫技術(shù);為了提升與用戶間的有好交互,向項(xiàng)目

35、中加入了ajax框架。下面將通過具體的項(xiàng)目流程,講解以上重點(diǎn)。3.2.1 持久層實(shí)現(xiàn)在持久程中主要包括文章VO和評(píng)論VO,同時(shí)文章和評(píng)論為一對(duì)多關(guān)系,即一篇文章可以擁有多條評(píng)論,而一條評(píng)論只能屬于一篇文章。(1)表結(jié)構(gòu)文章表 字段名類型備注IdInt文章idAuthorVarchar作者Contenttext文章容ClickInt點(diǎn)擊數(shù)Title Varchar文章標(biāo)題IntroductionVarchar文章簡(jiǎn)介UpInt頂DownInt 踩FlagVarchar文章類型EanbleflagVarchar是否可用標(biāo)識(shí)符AuditFlagVarchar是否審核標(biāo)識(shí)符createDateDate

36、創(chuàng)建時(shí)間pubDateDate發(fā)布時(shí)間PictureVarchar附件圖片地址OriginVarchar評(píng)論表字段名類型備注IdInt評(píng)論idemotionarticleidInt評(píng)論文章idCommentVarchar評(píng)論容CreateDateDate評(píng)論時(shí)間userIdInt評(píng)論用戶(2)對(duì)應(yīng)的VO文章vo(.emotion.model.EmotionArticleVO)publicclass EmotionArticleVO extends BaseVO privateintatricleId;private String title;private String author;private String content;./省略get/set方法評(píng)論VO(.emotion.model me

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論