版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計</b></p><p><b> 二〇一三年六月</b></p><p> 基于Java的CMS系統(tǒng)的設(shè)計與實(shí)現(xiàn)</p><p><b> 摘 要</b></p><p> CMS系統(tǒng)即Content Management Sy
2、stem,意為“內(nèi)容管理系統(tǒng)”,這里指的“內(nèi)容”可能包括文件、圖片、數(shù)據(jù)庫中的數(shù)據(jù)甚至視頻等你想要發(fā)布到網(wǎng)站的信息。本文所研究開發(fā)的系統(tǒng)是基于Java的CMS系統(tǒng)的設(shè)計與實(shí)現(xiàn),其“內(nèi)容”是針對數(shù)據(jù)庫中的“新聞”信息進(jìn)行管理。本系統(tǒng)基于B/S模式,包括兩大模塊:系統(tǒng)前端和系統(tǒng)后臺。系統(tǒng)前端實(shí)現(xiàn)了用戶登錄注冊、查看新聞、搜索新聞、添加評論和修改個人資料的功能,系統(tǒng)后臺實(shí)現(xiàn)了對新聞類型、新聞、發(fā)布 、評論和用戶管理的功能。本系統(tǒng)開發(fā)的創(chuàng)新點(diǎn)是
3、利用模板技術(shù),在發(fā)布新聞的時候生成靜態(tài)的HTML頁面,前臺用戶直接訪問這個HTML頁面而不需要每次都去訪問數(shù)據(jù)庫,這樣就大大提高了在用戶量較大的時候?qū)π侣勴撁娴牟l(fā)訪問效率。</p><p> 關(guān)鍵詞:Java,CMS,新聞</p><p> Design and Implementation of Java-based CMS system</p><p>&
4、lt;b> Abstract</b></p><p> CMS system that is Content Management System, meaning "content management system" here refers to the "content" may include documents, images, and eve
5、n video data in the database you want to publish to other web sites. Development of the system studied in this paper is a Java-based CMS systems design and implementation, the "Content" is for the database in t
6、he "News" information management. The system is based on B/S model, includes two modules: system front-end and back-end systems. Front of the</p><p> Key Words:Java; CMS; News</p><p>
7、<b> 目 錄</b></p><p><b> 摘 要i</b></p><p> Abstractii</p><p> 第一章 引 言- 1 -</p><p> 1.1 系統(tǒng)設(shè)計背景- 1 -</p><p> 1.2 關(guān)鍵技術(shù)介紹- 2
8、-</p><p> 1.3 本文主要內(nèi)容- 3 -</p><p> 第二章 總體方案設(shè)計- 4 -</p><p> 2.1 系統(tǒng)設(shè)計的目標(biāo)- 4 -</p><p> 2.2 系統(tǒng)處理流程- 4 -</p><p> 2.2.1 系統(tǒng)前臺流程圖- 4 -</p><p>
9、; 2.2.2 系統(tǒng)后臺流程圖- 5 -</p><p> 2.3 系統(tǒng)功能模塊設(shè)計- 5 -</p><p> 2.4 系統(tǒng)設(shè)計分析- 6 -</p><p> 第三章 數(shù)據(jù)庫設(shè)計- 8 -</p><p> 3.1 系統(tǒng)數(shù)據(jù)流程圖描述- 8 -</p><p> 3.2 概念結(jié)構(gòu)設(shè)計- 8
10、-</p><p> 3.3 物理結(jié)構(gòu)設(shè)計- 9 -</p><p> 3.4 出錯處理設(shè)計- 11 -</p><p> 第四章 系統(tǒng)功能模塊的具體實(shí)現(xiàn)- 12 -</p><p> 4.1 數(shù)據(jù)庫與后臺連接的實(shí)現(xiàn)- 12 -</p><p> 4.2 數(shù)據(jù)庫創(chuàng)建表- 13 -</p>
11、<p> 4.3 系統(tǒng)主頁面設(shè)計- 13 -</p><p> 4.4 包含各種對用戶的邏輯方法- 13 -</p><p> 4.5 CMS系統(tǒng)的關(guān)鍵實(shí)現(xiàn)- 13 -</p><p> 第五章 系統(tǒng)運(yùn)行與測試- 14 -</p><p> 5.1 系統(tǒng)運(yùn)行環(huán)境- 14 -</p><p&
12、gt; 5.2 系統(tǒng)前端運(yùn)行- 14 -</p><p> 5.2.1 進(jìn)入首頁- 14 -</p><p> 5.2.2 查看新聞- 15 -</p><p> 5.2.3 搜索新聞- 16 -</p><p> 5.2.4 用戶登錄和注冊- 18 -</p><p> 5.2.5 修改個人信息
13、- 19 -</p><p> 5.2.6 添加評論- 19 -</p><p> 5.2.7 注銷登錄- 21 -</p><p> 5.3 系統(tǒng)后臺運(yùn)行- 21 -</p><p> 5.3.1 后臺首頁- 21 -</p><p> 5.3.2 查詢新聞- 22 -</p>&
14、lt;p> 5.3.3 添加一條新聞- 23 -</p><p> 5.3.4 瀏覽新聞- 24 -</p><p> 5.3.5 發(fā)布新聞- 24 -</p><p> 5.3.6 刪除新聞- 26 -</p><p> 5.4 系統(tǒng)的測試- 27 -</p><p> 第六章 總結(jié)與展望
15、- 29 -</p><p> 參考文獻(xiàn)- 30 -</p><p> 致 謝- 31 -</p><p> 附 錄- 32 -</p><p><b> 第一章 引 言</b></p><p> 1.1 系統(tǒng)設(shè)計背景</p><p> 隨著Inte
16、rnet的飛速發(fā)展,軟件開發(fā)模式也由傳統(tǒng)的C/S(客戶/服務(wù))模式轉(zhuǎn)化為現(xiàn)在的B/S(瀏覽器/服務(wù)器)模式。而作為一種安全性比較高的語言,Java就成為服務(wù)器端編程的較好選擇,于是在各種Web應(yīng)用程序中,紛紛采用Java作為首選的編程語言[1]。在Java Web的開發(fā)領(lǐng)域中,不僅有Sun公司提供強(qiáng)大及技術(shù)支持,而且還有大量的開源社區(qū)推出各種開源的Java項目,這一切使得Java Web的開發(fā)日益繁榮。而精通Java Web開發(fā)的軟件工
17、程師也越來越受各大軟件公司的歡迎 。關(guān)于JSP背景,JSP是由Sun公司倡導(dǎo)、許多公司參與,于1999年推出的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP是基于Java Servlet及整個Java體系的Web開發(fā)技術(shù),利用這一技術(shù)可以建立安全、跨平臺的先進(jìn)動態(tài)網(wǎng)站,這項技術(shù)還在不斷的更新和優(yōu)化中。JSP以Java技術(shù)為基礎(chǔ),又在許多方面做了改進(jìn),具有動態(tài)頁面與靜態(tài)頁面分離,能夠脫離硬件平臺束縛,以及編譯后運(yùn)行等優(yōu)點(diǎn),JSP已成為Internet上的主
18、流開發(fā)工具。</p><p> 雖然動態(tài)JSP技術(shù)給我們提供了功能強(qiáng)大的操作能力,但是在方便的同時也給我們帶來性能上的不足,因為每次訪問同一個頁面都要連接數(shù)據(jù)庫,生成網(wǎng)頁內(nèi)容等,一旦網(wǎng)頁數(shù)量變大,訪問量變大以后整個服務(wù)器就承受不了這種壓力[2]??偨Y(jié)缺點(diǎn)如下:</p><p> (1)頁面制作無序,網(wǎng)站風(fēng)格不統(tǒng)一,大量信息堆積,發(fā)布顯得異常沉重;</p><p>
19、; ?。?)內(nèi)容繁雜,手工管理效率低下,手工鏈接視音頻信息經(jīng)常無法實(shí)現(xiàn);</p><p> (3)應(yīng)用難度較高,許多工作需要技術(shù)人員配合才能完成,角色分工不明確;</p><p> (4)改版工作量大,系統(tǒng)擴(kuò)展能力差,集成其它應(yīng)用時更是降低了靈活性;</p><p> 對于網(wǎng)站建設(shè)和信息發(fā)布人員來說,他們最關(guān)注的系統(tǒng)的易用性和的功能的完善性,因此,這對網(wǎng)站建設(shè)
20、和信息發(fā)布工具提出了一個很高的要求。首先,角色定位明確,以充分保證工作人員的工作效率;其次,功能完整,滿足各門道"把關(guān)人"應(yīng)用所需,使信息發(fā)布準(zhǔn)確無誤。比如,為編輯、美工、主編及運(yùn)維人員設(shè)置權(quán)限和實(shí)時管理功能。此外,保障網(wǎng)站架構(gòu)的安全性也是用戶關(guān)注的焦點(diǎn)。能有效管理網(wǎng)站訪問者的登陸權(quán)限,使內(nèi)網(wǎng)數(shù)據(jù)庫不受攻擊,從而時刻保證網(wǎng)站的安全穩(wěn)定,免于用戶的后顧之憂[3]。</p><p> 根據(jù)以上需
21、求,一套專業(yè)的內(nèi)容管理系統(tǒng)CMS應(yīng)運(yùn)而生,所謂的CMS系統(tǒng)即Content Management System的縮寫,意為"內(nèi)容管理系統(tǒng)",是一種位于WEB前端(Web 服務(wù)器)和后端辦公系統(tǒng)或流程(內(nèi)容創(chuàng)作、編輯)之間的軟件系統(tǒng)。內(nèi)容管理解決方案重點(diǎn)解決各種非結(jié)構(gòu)化或半結(jié)構(gòu)化的數(shù)字資源的采集、管理、利用、傳遞和增值,并能有機(jī)集成到結(jié)構(gòu)化數(shù)據(jù)的商業(yè)智能環(huán)境中,如OA,CRM等。內(nèi)容的創(chuàng)作人員、編輯人員、發(fā)布人員使用內(nèi)
22、容管理系統(tǒng)來提交、修改、審批、發(fā)布內(nèi)容。這里指的"內(nèi)容"可能包括文件、表格、圖片、數(shù)據(jù)庫中的數(shù)據(jù)甚至視頻等一切你想要發(fā)布到網(wǎng)站的信息[4]。</p><p> 內(nèi)容管理系統(tǒng)CMS有效解決了用戶網(wǎng)站建設(shè)與信息發(fā)布中常見的問題和需求,它的作用就是生成固定的頁面直接給用戶訪問,極大提高了頁面訪問率。</p><p> 本系統(tǒng)基于Java的CMS系統(tǒng)的內(nèi)容Content主要
23、體現(xiàn)在新聞,即可以理解為一個新聞發(fā)布系統(tǒng)。系統(tǒng)的總體設(shè)計目標(biāo)分為前端和后臺兩部分,任何用戶都可以通過系統(tǒng)前端閱讀新聞,而只有注冊的用戶才可以評論新聞;管理員通過核定的管理員賬號登錄后臺可以對系統(tǒng)中的類型、新聞、發(fā)布、評論以及注冊的用戶進(jìn)行管理。</p><p> 1.2 關(guān)鍵技術(shù)介紹</p><p> (1)訪問數(shù)據(jù)庫的JDBC</p><p> JDBC(J
24、ava DateBase Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)心數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口的組成[5]。訪問數(shù)據(jù)庫,程序員只需用JDBC API寫一個程序就夠,它可向相應(yīng)的數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時,將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應(yīng)用程序,只需寫一遍程序就可以讓它在任何平臺上運(yùn)行,這也就是java編寫一處,
25、處處運(yùn)行的優(yōu)勢。簡單的說,JDBC可以做三件事:與數(shù)據(jù)庫建立連接、發(fā)送操作數(shù)據(jù)庫語句并處理結(jié)果。在Dao中進(jìn)行操作。</p><p> ?。?)設(shè)計模式MVC</p><p> MVC全名是Model View Controller,是模型(Model)-視圖(View)-控制器(Controller)的縮寫,是一種軟件設(shè)計典范[6]。視圖是用戶看到并與之交互的界面,有HTML元素組成,
26、比如系統(tǒng)中供用戶看到的jsp系統(tǒng)界面。模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則,相當(dāng)于系統(tǒng)的核心業(yè)務(wù)service。而控制器接收用戶的輸入并調(diào)用模型和視圖去完成用戶的請求,所以當(dāng)當(dāng)即Web界面中超鏈接和發(fā)送Html表單時,控制器本身不輸出任何東西和做任何處理。它本身只是接收請求并決定調(diào)用哪個模型構(gòu)建去處理,然后再確定用哪個視圖來顯示返回的數(shù)據(jù),相當(dāng)于本系統(tǒng)的Action。簡單的說也就是用戶在瀏覽器上的頁面(View)中發(fā)出請求給Action(Cont
27、roller),然后Action調(diào)用Service(Model)去完成請求并用View顯示給用戶看。</p><p> ?。?)采用框架Struts2</p><p> Struts2是開源軟件。使用Struts的目的是為了幫助我們減少在運(yùn)用MVC設(shè)計模式來開發(fā)Web應(yīng)用的時間。應(yīng)用Struts2的好處主要體現(xiàn)在兩個方面,Taglib和頁面導(dǎo)航。Taglib是Struts的標(biāo)簽庫,使用標(biāo)
28、簽庫可以直接取得頁面中的值,只要頁面變量名和Action的變量名保持一致并提供Set和Get方法,框架封裝了取值的代碼,用起來很方面,不用寫Session,直接可以利用Struts標(biāo)簽庫中的標(biāo)簽來取值[7],在本系統(tǒng)中就是用了Struts2的這個好處。</p><p> ?。?)開發(fā)模式B/S</p><p> B/S結(jié)構(gòu)(Browser/Server,瀏覽器/服務(wù)器模式),是Web興起
29、后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,Web瀏覽器是客戶端最主要的應(yīng)用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到了服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護(hù)和使用??蛻魴C(jī)上只需要安裝一個瀏覽器如Internet Browser,服務(wù)器如Tomcat,瀏覽器端的用戶就可以通過Web Server同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。B/S最大的優(yōu)點(diǎn)就是無論在何地,只要有電腦而不需要安裝任何軟件就可以使用。本系統(tǒng)利用了Tomcat服務(wù)是B/S的開發(fā)模式的系統(tǒng),使用方
30、便[8]。</p><p> 1.3 本文主要內(nèi)容</p><p> 在本文中,我所講的主要內(nèi)容是高效的動態(tài)網(wǎng)站系統(tǒng)的設(shè)計,具體章節(jié)的安排如下:</p><p> 第一章:引言,本章中主要介紹了系統(tǒng)的背景及本文的主要內(nèi)容;</p><p> 第二章:總體方案設(shè)計,本章介紹了該系統(tǒng)的設(shè)計目標(biāo)及處理流程;</p><p
31、> 第三章:數(shù)據(jù)庫設(shè)計,本章介紹了該系統(tǒng)中的數(shù)據(jù)是如何管理的;</p><p> 第四章:功能模塊的具體實(shí)現(xiàn),本章詳細(xì)介紹了本系統(tǒng)具體是怎么實(shí)現(xiàn)的;</p><p> 第五章:系統(tǒng)運(yùn)行與調(diào)試,本章中介紹了該系統(tǒng)的運(yùn)行環(huán)境及操作步驟;</p><p> 第六章:總結(jié)與展望,本章介紹了做系統(tǒng)的時候的一些想法。</p><p> 最
32、后,衷心的感謝老師的教導(dǎo),并列舉出參考文獻(xiàn)。</p><p> 第二章 總體方案設(shè)計</p><p> 2.1 系統(tǒng)設(shè)計的目標(biāo)</p><p> 本系統(tǒng)在網(wǎng)上進(jìn)行操作,為用戶帶來了方便,用戶足不出戶就可隨時查看新聞。同時對于發(fā)布新聞的管理員來說,減少了一定的資源浪費(fèi),減少了紙張和墨水,給瀏覽者以新的視覺感受。</p><p> 2.2
33、 系統(tǒng)處理流程</p><p> 2.2.1 系統(tǒng)前臺流程圖</p><p> 系統(tǒng)前臺主要是查看新聞和對新聞添加評論,具體流程如下:</p><p> (1)輸入地址,進(jìn)入系統(tǒng)前臺;</p><p><b> ?。?)查看新聞;</b></p><p> ?。?)登錄之后添加評論;<
34、/p><p> ?。?)對評論和修改個人信息點(diǎn)擊提交保存數(shù)據(jù)。系統(tǒng)前臺流程如圖2.1所示</p><p><b> 輸入錯誤</b></p><p><b> 輸入正確</b></p><p> 圖2.1 系統(tǒng)前端處理流程圖</p><p> 2.2.2 系統(tǒng)后臺流程圖&
35、lt;/p><p> 本系統(tǒng)的后臺處理是通過登錄口令登陸后臺來實(shí)現(xiàn)的,具體處理流程如下:</p><p> ?。?)輸入地址,進(jìn)入后臺登錄口令界面,輸入登入口令;</p><p> ?。?)通過驗證后,進(jìn)入系統(tǒng)(若輸入有誤則重新輸入用戶名和密碼);</p><p> (3)進(jìn)入系統(tǒng),管理新聞類型、新聞、發(fā)布、評論和會員;</p>
36、<p> (4)對每個模塊管理都是點(diǎn)擊提交保存數(shù)據(jù)。后臺系統(tǒng)處理流程如圖2.2所示:</p><p><b> 輸入錯誤</b></p><p><b> 用戶名、密碼 </b></p><p><b> 輸入正確</b></p><p> 圖2.2
37、系統(tǒng)后臺處理流程圖</p><p> 2.3 系統(tǒng)功能模塊設(shè)計</p><p> 通過對CMS系統(tǒng)的功能需求分析,可知系統(tǒng)的功能有:系統(tǒng)前臺和后臺管理。系統(tǒng)功能按照功能模塊圖進(jìn)行設(shè)計。CMS統(tǒng)功能模塊設(shè)計如圖2.3所示:</p><p> 圖2.3 CMS系統(tǒng)功能模塊設(shè)計層次圖</p><p> 2.4 系統(tǒng)設(shè)計分析</p>
38、;<p> 本系統(tǒng)主要有兩大模塊:系統(tǒng)前端和系統(tǒng)后臺,其中前臺和后臺中又分為各自不同的小模塊。</p><p><b> ?。?)系統(tǒng)后臺</b></p><p> 只有特定的管理員成功輸入用戶名和密碼才可以登錄后臺,而且這個管理員只能修改信息并且不能被刪除掉,系統(tǒng)一存在此管理員賬號就存在。進(jìn)入后臺后對分別對新聞類型,新聞,發(fā)布,評論還有用戶進(jìn)行管理
39、,主要是對其進(jìn)行增刪查改操作,且這些實(shí)體之間都有聯(lián)系,在刪除的時候務(wù)必要小心。例如:如果想刪除一個新聞,必須保證沒有評論引用此條新聞,否則將刪除失敗。</p><p> 突出點(diǎn):發(fā)布新聞的時候要讀取jsp文件生成html文件以便前臺讀取數(shù)據(jù)使用。這是CMS技術(shù)在這個系統(tǒng)中使用的關(guān)鍵部分。數(shù)據(jù)過多則產(chǎn)生滾動條,以便所有數(shù)據(jù)都有顯示。</p><p><b> ?。?)系統(tǒng)前端&l
40、t;/b></p><p> 首先用戶進(jìn)入的是新聞中心,新聞中心中有各種不同類型的新聞,用戶點(diǎn)擊對應(yīng)的新聞類型可以查看其對應(yīng)很多新聞鏈接,同時用戶還可以查看評論和對新聞進(jìn)行評,但是一般用戶是不可以進(jìn)行新聞評論的,這就牽扯到登錄和注冊的模塊,只有注冊過的用戶才可以對新聞進(jìn)行評論,同時登錄成功之后用戶可以對自己的信息進(jìn)行管理,包括修改用戶名和密碼等等。</p><p> 突出點(diǎn):點(diǎn)擊
41、新聞標(biāo)題查看新聞鏈接的是后臺發(fā)布生成的html文件。數(shù)據(jù)過多則產(chǎn)生滾動條,以便所有數(shù)據(jù)都有顯示。</p><p><b> 第三章 數(shù)據(jù)庫設(shè)計</b></p><p> MySql數(shù)據(jù)庫是一個開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),用起來方便穩(wěn)定,占用的空間比較小,比較適合小型的系統(tǒng)[9]。所以本系統(tǒng)采用此數(shù)據(jù)庫。</p><p> 3.1
42、系統(tǒng)數(shù)據(jù)流程圖描述</p><p> 本系統(tǒng)的數(shù)據(jù)流程是通過管理員以及用戶的正確操作來實(shí)現(xiàn)的,當(dāng)用進(jìn)入新聞中心后,系統(tǒng)在數(shù)據(jù)上會自動記錄用戶的操作,通過Web服務(wù)器展現(xiàn)在網(wǎng)頁瀏覽器中給用戶看。其他操作亦如此。系統(tǒng)數(shù)據(jù)的工作過程示意圖3.1所示:</p><p> 數(shù)據(jù)庫服務(wù)器 Web服務(wù)器 網(wǎng)頁瀏覽器</p>
43、<p> 圖3.1 數(shù)據(jù)庫系統(tǒng)的工作過程示意圖</p><p> 3.2 概念結(jié)構(gòu)設(shè)計</p><p> 基于Java的CMS系統(tǒng)的設(shè)計與實(shí)現(xiàn)分為兩個部分,前臺和后臺。</p><p> 前臺對應(yīng)著普通用戶,而普通用戶則只能進(jìn)行查看新聞和對新聞進(jìn)行評論。根據(jù)分析,系統(tǒng)前端E-R圖如圖3.2所示。</p><p> 圖3.2
44、 前臺E-R圖</p><p> 而系統(tǒng)后臺則對應(yīng)著管理員,可以管理任何信息,包括新聞類型、新聞、發(fā)布和評論的管理,同時各部分模塊都有各自對應(yīng)的屬性。系統(tǒng)后臺E-R圖如圖3.3所示</p><p> 圖3.3 后臺E-R圖</p><p> 3.3 物理結(jié)構(gòu)設(shè)計</p><p> 數(shù)據(jù)庫設(shè)計是系統(tǒng)設(shè)計中相當(dāng)關(guān)鍵的環(huán)節(jié),它是上層應(yīng)用的基
45、礎(chǔ)。根據(jù)系統(tǒng)功能需求分析,不難抽出系統(tǒng)中的一些實(shí)體對象,包括類型、新聞、發(fā)布、評論、用戶。</p><p> 本系統(tǒng)數(shù)據(jù)庫中各個數(shù)據(jù)表的字段定義和說明如下:</p><p> (1)category(新聞類型表),存放新聞類型,入表3.1所示:</p><p> 表3.1 新聞類型表category</p><p> ?。?)news(
46、新聞表),存放新聞信息,如表3.2所示:</p><p> 表3.2 新聞表news</p><p> (3)publish(發(fā)布表),存放已發(fā)布的新聞信息,如表3.3所示:</p><p> 表3.3 發(fā)布表publish</p><p> (4)revert(評論表),存放用戶評論的信息,如表3.4所示:</p>&
47、lt;p> 表3.4 評論表revert</p><p> ?。?)user(用戶表),存放用戶的信息,如表3.5所以:</p><p> 表3.5 用戶表user</p><p> 3.4 出錯處理設(shè)計</p><p> 本系統(tǒng)采用了典型的人-機(jī)對話模式,若操作失敗則會有錯誤信息提示。</p><p>
48、 出錯處理對策:用戶可以根據(jù)顯示的提示信息進(jìn)行相應(yīng)的處理。</p><p> 安全保密設(shè)計:本系統(tǒng)設(shè)計了密碼驗證登陸窗口,具有權(quán)限控制。</p><p> 第四章 系統(tǒng)功能模塊的具體實(shí)現(xiàn)</p><p> 利用MyEclipse集成開發(fā)環(huán)境新建一個Web Project,如圖4-1所示。</p><p> 單擊圖4.1中的next按
49、鈕,在對話框的Project Name文本框中輸入項目名稱“CMS”,點(diǎn)Finish完成創(chuàng)建,如圖4.2所示。</p><p> 圖4.1 新建WebProject 圖4.2 輸入工程名</p><p> 4.1 數(shù)據(jù)庫與后臺連接的實(shí)現(xiàn)</p><p> 系統(tǒng)中,JDBC即Java DataBase Connectivity
50、standard負(fù)責(zé)整個系統(tǒng)與數(shù)據(jù)庫的連接和關(guān)閉操作,主要分為6個步驟:</p><p><b> ?。?)注冊驅(qū)動</b></p><p><b> ?。?)獲得連接</b></p><p><b> (3)獲得操作對象</b></p><p><b> ?。?)
51、執(zhí)行操作對象</b></p><p><b> ?。?)獲得結(jié)果集</b></p><p><b> ?。?)關(guān)閉連接</b></p><p> 以根據(jù)用戶名查找用戶為例,代碼詳見附錄。</p><p> 4.2 數(shù)據(jù)庫創(chuàng)建表</p><p> 創(chuàng)建數(shù)據(jù)庫c
52、reate database CMS charset utf8;以用戶表user為例,創(chuàng)建user表的代碼詳見附錄。其他表在數(shù)據(jù)庫中的創(chuàng)建與用戶表user的創(chuàng)建時類似的。</p><p> 4.3 系統(tǒng)主頁面設(shè)計</p><p> 系統(tǒng)利用Struts2的ognl表達(dá)式來取數(shù)據(jù)數(shù)據(jù),以前臺為例。主頁面(frame.jsp)用frameset來分為三個部分,第一部分是顯示新聞類型導(dǎo)航菜單
53、;第二部分是系統(tǒng)模塊的標(biāo)簽,如登錄,個人資料,注銷系統(tǒng)等;第三部分則用于主要的功能界面。即各種操作的顯示,是根據(jù)用戶操作來變化的。frame.jsp主要代碼詳見附錄。</p><p> 4.4 包含各種對用戶的邏輯方法</p><p> ?。?)系統(tǒng)創(chuàng)建了創(chuàng)建了與數(shù)據(jù)庫對應(yīng)實(shí)體包entity包,里面封裝了與數(shù)據(jù)庫表對應(yīng)的實(shí)體對象,以用戶表對應(yīng)的User.java類為例,詳細(xì)代碼見附錄。&
54、lt;/p><p> ?。?)系統(tǒng)對應(yīng)的核心的邏輯業(yè)務(wù)定義在service包中,service只進(jìn)行核心業(yè)務(wù)操作,而與數(shù)據(jù)庫的鏈接則交由負(fù)責(zé)jdbc部分的dao包中,核心業(yè)務(wù)以login()為例,詳細(xì)代碼見附錄。</p><p> ?。?)Struts2利用action進(jìn)行頁面的調(diào)整,以CmsAction.java中登錄為例。對應(yīng)的login方法代碼和Struts對登錄action配置,詳細(xì)代
55、碼見附錄。</p><p> 4.5 CMS系統(tǒng)的關(guān)鍵實(shí)現(xiàn)</p><p> 一個CMS系統(tǒng),其內(nèi)容可能分為多種,就像摘要中提到的,可能是圖片、可能是視頻、可能是數(shù)據(jù)庫中的信息如新聞等。不論是哪種類型的內(nèi)容,但其CMS系統(tǒng)關(guān)鍵就是采用模板技術(shù),其技術(shù)的核心不在于內(nèi)容本身,而在于讀取內(nèi)容的方式。通常讀取到的內(nèi)容是直接從數(shù)據(jù)庫中獲得,而CMS系統(tǒng)的體現(xiàn)就是,查看的內(nèi)容是從靜態(tài)頁面中獲得,而
56、不用每次都要訪問數(shù)據(jù)庫。針對本系統(tǒng),其實(shí)現(xiàn)原理就是新聞一旦發(fā)布一般不會改變其內(nèi)容,而就是利用這個特點(diǎn)在后臺發(fā)布新聞的時候,讀取顯示新聞內(nèi)容的jsp頁面,生成對應(yīng)的html文件,然后在前臺只要鏈接這個html,每次查看新聞內(nèi)容是通過訪問這個html而不是訪問數(shù)據(jù)庫,這就是CMS系統(tǒng)提高效率所在。其后臺讀取文件的代碼和前臺實(shí)現(xiàn)鏈接的代碼詳見附錄。 </p><p> 第五章 系統(tǒng)運(yùn)行與測試</p>&
57、lt;p> 5.1 系統(tǒng)運(yùn)行環(huán)境</p><p> 操作系統(tǒng):Windows、Linux等系統(tǒng)環(huán)境;</p><p> 開發(fā)工具:MyEclipse;</p><p> 服務(wù)器:Tomcat6.0服務(wù)器;</p><p> 數(shù)據(jù)庫:Mysql數(shù)據(jù)庫。</p><p> 5.2 系統(tǒng)前端運(yùn)行</p
58、><p> 5.2.1 進(jìn)入首頁</p><p> 將項目部署到Tomcat服務(wù)器上之后,啟動服務(wù)器,在瀏覽器中輸入URL地址訪問系統(tǒng)首頁,URL地址為:http://localhost:8080/CMS/qian/show_frame。進(jìn)入首頁后,用戶可以進(jìn)行“查看新聞”、“搜索新聞”、“用戶登錄和注冊”、“修改個人信息”、“添加評論”、“注銷登錄”如圖5.1所示。</p>
59、<p> 圖5.1 系統(tǒng)前端首頁</p><p> 5.2.2 查看新聞</p><p> (1)將鼠標(biāo)放在“一汽-大眾母親節(jié)感恩回饋 特價車簽售會!”的標(biāo)題上后,提示欄地址為:http://localhost:8080/CMS/qian/do_newsContext.action?publish.id=29&news.id=31,如圖5.2所示。</p&g
60、t;<p> 圖5.2 鼠標(biāo)放在標(biāo)題上(動態(tài))</p><p> ?。?)點(diǎn)擊標(biāo)題“一汽-大眾母親節(jié)感恩回饋 特價車簽售會!”后進(jìn)入內(nèi)容頁,在新聞的內(nèi)容頁并可查看評論。評論列表將在下面步驟中進(jìn)行展示。如圖5.3所示。</p><p> 圖5.3 查看新聞內(nèi)容(動態(tài))</p><p> ?。?)點(diǎn)擊新聞類型導(dǎo)航菜單,如“汽車”,鼠標(biāo)放在“一汽-大眾母
61、親節(jié)感恩回饋 特價車簽售會!”,而提示欄地址則為:http://localhost:8080/CMS/upload/31.html,這就是CMS技術(shù)的體現(xiàn),讀新聞直接讀取html文件。如圖5.4所示。</p><p> 圖5.4 鼠標(biāo)放在標(biāo)題上(靜態(tài))</p><p> (4)點(diǎn)擊標(biāo)題“一汽-大眾母親節(jié)感恩回饋 特價車簽售會!”進(jìn)入內(nèi)容頁后可以看出訪問內(nèi)容的效果和動態(tài)(圖5.3)訪問內(nèi)
62、容效果是一樣的,評論列表將在下面步驟中進(jìn)行展示。如圖5.5所示。</p><p> 圖5.5 查看新聞內(nèi)容(靜態(tài))</p><p> 5.2.3 搜索新聞</p><p> ?。?)如果搜索欄輸入為空,則顯示所有的新聞列表。如圖5.6所示。</p><p><b> 圖5.6 輸入為空</b></p>
63、<p> ?。?)在標(biāo)題中輸入“朱自清”,則顯示標(biāo)題中帶有“朱自清”的新聞列表,圖5.7所示。</p><p><b> 圖5.7 輸入標(biāo)題</b></p><p> ?。?)在標(biāo)題中輸入“朱自清”,并在開始時間輸入“2013-06-01”,顯示的則是標(biāo)題中帶有朱自清字眼,并且在“2013-06-01”之后的新聞列表,沒有“2013-06-01”之后的新
64、聞,所以查詢?yōu)榭?,如圖5.8所示</p><p> 圖5.8 輸入標(biāo)題和開始時間</p><p> ?。?)在結(jié)束時間中輸入“2013-06-01”,則可以搜索到“2013-06-01”之前的所有新聞,如圖5.9所示。</p><p> 圖5.9 輸入結(jié)束時間</p><p> 5.2.4 用戶登錄和注冊</p><
65、p> ?。?)點(diǎn)擊用戶登錄,輸入用戶名和密碼,如果輸入錯誤則會報錯,如圖5.10所示</p><p> 圖5.10 用戶登錄</p><p> ?。?)如果沒有賬號可以點(diǎn)擊登錄界面(圖5.10)的“點(diǎn)擊這里注冊”進(jìn)行用戶注冊,用戶名和密碼不能為空,注冊成功后會有相應(yīng)的提示如圖5.11所示</p><p> 圖5.11 用戶注冊</p><
66、;p> 5.2.5 修改個人信息</p><p> ?。?)點(diǎn)擊個人資料,因為用戶沒有登錄無法查看個人資料,則進(jìn)入登錄頁面進(jìn)行登錄,方可顯示個人資料,則顯示登錄用戶的信息,如圖5.12所示</p><p> 圖5.12 個人資料前登錄</p><p> ?。?)用admin賬號登錄成功后,再次點(diǎn)擊個人資料,可以進(jìn)行個人信息修改,如果輸入不合法則會有相應(yīng)的提
67、示,如圖5.13所示。</p><p> 圖5.13 修改個人資料</p><p> 5.2.6 添加評論</p><p> ?。?)添加評論前,隨機(jī)查看一條新聞的評論列表,如圖5.14所示</p><p><b> 圖5.14 評論前</b></p><p> (2)添加評論如“你好,歡
68、迎進(jìn)入我的新聞管理系統(tǒng)。。。”,如圖5.15所示。</p><p> 圖5.15 添加評論</p><p> ?。?)添加評論后的新聞列表和圖5.14比較,則會看到多出了剛加的一條評論,如圖5.16所示。</p><p><b> 圖5.16 評論后</b></p><p> 5.2.7 注銷登錄</p>
69、;<p> 點(diǎn)擊注銷登錄后,進(jìn)入登錄界面,并提示注銷成功!如圖5.17所示,那么這樣之后還可以向以上那樣查看新聞等。</p><p> 圖5.17 注銷賬號</p><p> 5.3 系統(tǒng)后臺運(yùn)行</p><p> 5.3.1 后臺首頁</p><p> (1)在瀏覽器中輸入http://localhost:8080/
70、CMS/hou/show_login進(jìn)入登錄界面成功登錄后進(jìn)入后臺首頁,顯示的是最新的一些評論情況。如圖5.18所示。后臺有新聞類型,新聞、發(fā)布、評論、用戶的管理,各部分功能類似,以下以新聞管理為例。</p><p> 圖5.18 后臺首頁</p><p> ?。?)點(diǎn)擊新聞管理進(jìn)入新聞管理頁面如圖5.19所示,可以進(jìn)行“查詢新聞”、“增加新聞”、“瀏覽新聞”、“發(fā)布新聞”、“刪除新聞”
71、。</p><p> 圖5.19 新聞管理</p><p> 5.3.2 查詢新聞</p><p> (1)在新聞標(biāo)題中輸入為空則查詢所有新聞,如圖5.20所示</p><p> 圖5.20 輸入為空查詢</p><p> (2)在新聞標(biāo)題中輸入如“一”,則查詢標(biāo)題中帶有“一”字的所有新聞,如圖5.21所示。
72、</p><p> 圖5.21 輸入標(biāo)題查詢</p><p> 5.3.3 添加一條新聞</p><p> ?。?)添加新聞前列表如圖5.22所示</p><p> 圖5.22 增加新聞前</p><p> (2)添加一條新聞,選擇類型“網(wǎng)尚文摘”,輸入標(biāo)題“祥林嫂”,輸入內(nèi)容“祥林嫂啊。。?!保鐖D5.23所
73、示。</p><p> 圖5.23 添加新聞</p><p> ?。?)點(diǎn)擊添加新聞后,新聞列表如圖5.24所示。</p><p> 圖5.24 添加新聞后</p><p> 5.3.4 瀏覽新聞</p><p> ?。?)點(diǎn)擊祥林嫂后面的瀏覽,如圖5.25所示。</p><p> 圖5
74、.25 點(diǎn)擊瀏覽</p><p> (2)點(diǎn)擊瀏覽后,查看新聞,則顯示剛才添加的內(nèi)容,如圖5.26所示。</p><p> 圖5.26 瀏覽新聞</p><p> 5.3.5 發(fā)布新聞</p><p> 這里要說明一下:“添加新聞”和“新聞發(fā)布”是兩個不同的概念。添加新聞僅僅是把新聞的標(biāo)題和內(nèi)容添加到新聞表中,如果沒有發(fā)布,那么這條新
75、聞始終屬于后臺,用戶在前臺根本看不到這條新聞。而新聞的發(fā)布則是把新聞表中的這條新聞?wù)故窘o用戶看。以新聞ID為34的新聞為例,點(diǎn)擊發(fā)布之后,34號新聞將被存在發(fā)布表中(代表著前臺用戶可以看到這條新聞了),同時讀取“顯示34號新聞內(nèi)容的jsp頁面”,將讀取后的信息存入34.html中,最后將存儲34.html的路徑存于發(fā)布表中。這就是我們前臺直接訪問的靜態(tài)頁面。一條新聞只能被發(fā)布一次。如果已被發(fā)布,則會有相應(yīng)的提示。發(fā)布具體步驟如下:<
76、;/p><p> ?。?)鼠標(biāo)放在“朱自清的《背影》《春》”的發(fā)布,如圖5.27所示</p><p><b> 圖5.27點(diǎn)擊發(fā)布</b></p><p> (2)點(diǎn)擊“朱自清的《背影》《春》”的“發(fā)布”后,因為此文已被發(fā)布,所以提示“新聞已被發(fā)布請勿重新發(fā)布”,如圖5.28所示。</p><p> 圖5.28 發(fā)布失
77、敗</p><p> ?。?)點(diǎn)擊“發(fā)布管理”,發(fā)布列表如圖5.29所示。</p><p> 圖5.29 發(fā)布前列表</p><p> ?。?)點(diǎn)擊“xxx”的發(fā)布后,“xxx”的新聞id為36,因為此文未被發(fā)布則顯示發(fā)布成功如圖5.30所示。</p><p> 圖5.30 發(fā)布成功</p><p> ?。?)點(diǎn)擊
78、“發(fā)布管理”,發(fā)現(xiàn)新聞ID為36的新聞已被發(fā)布成功,如圖5.31所示</p><p> 圖5.31發(fā)布后列表</p><p> 5.3.6 刪除新聞</p><p> (1)在5.3.3章節(jié)添加了一條標(biāo)題為“祥林嫂”的新聞,刪除前如圖5.32所示。</p><p><b> 圖5.32 刪除前</b></p
79、><p> ?。?)將鼠標(biāo)放在“祥林嫂”后的“刪除”,如圖5.33所示。</p><p> 圖5.33 刪除新聞</p><p> ?。?)點(diǎn)擊刪除后,返回新聞列表,看到標(biāo)題為“祥林嫂”的新聞已被刪除,并提示刪除成功,刪除后如圖5.34所示。</p><p> 圖5.34 刪除成功后列表</p><p><b&g
80、t; 5.4 系統(tǒng)的測試</b></p><p> 在開發(fā)軟件系統(tǒng)的過程中,面對錯綜復(fù)雜的問題,人的主觀認(rèn)識不可能完全符合客觀現(xiàn)象,與工程密切相關(guān)的各類人員之間的通訊和配合也不可能完美無缺,因此,在軟件生命周期的每個階段都不可避免地會產(chǎn)生錯誤。在每個階段結(jié)束之前通嚴(yán)格的技術(shù)審查,盡可能早的發(fā)現(xiàn)所有差錯。此外,在編碼過程中還會不可避免地引入新的錯誤。測試的目的就是在軟件投入生產(chǎn)性運(yùn)行之前,盡可能多地
81、發(fā)現(xiàn)軟件中的錯誤[10]。</p><p> 在5.2節(jié),主要是針對各個模塊的測試,如果想讓系統(tǒng)更完整則需要系統(tǒng)測試,比如用戶評論后,前后臺是否一致并且保持同步,針對這種情況,我進(jìn)行了以下登錄測試和評論測試。說明如下:登錄測試的目的是為了測試出系統(tǒng)能否正常使用,評論的測試則是對前后臺數(shù)據(jù)是否同步進(jìn)行測試。</p><p> 1.登錄功能的測試:</p><p>
82、 2.評論功能的測試:</p><p><b> 3.靜態(tài)訪問測試:</b></p><p><b> 第六章 總結(jié)與展望</b></p><p> 本系統(tǒng)是B/S開發(fā)模式,采用MVC模型,利用了JSP、JDBC、Struts2技術(shù)完成的。本系統(tǒng)主要分為三個功能模塊,一是用戶的登錄和注冊,二是前臺瀏覽新聞,三是后臺
83、管理。這個系統(tǒng)體現(xiàn)了B/S開發(fā)模式的優(yōu)點(diǎn),即用戶只要在瀏覽器輸入請求便可以做自己想做的事,比如瀏覽新聞,比如添加評論,比如管理個人信息,而其請求的處理則由服務(wù)器來實(shí)現(xiàn)。MVC模型的使用,讓我的系統(tǒng)實(shí)現(xiàn)了JSP頁面和核心業(yè)務(wù)的分離,使得設(shè)計的代碼得到了優(yōu)化,也使得系統(tǒng)便于維護(hù)。</p><p> 對于新聞內(nèi)容的讀取部分,除了首頁,其他類型的新聞則是使用CM模板技術(shù)直接進(jìn)入靜態(tài)頁面進(jìn)行讀取,減少了對數(shù)據(jù)庫的訪問,使
84、得系統(tǒng)效率有了很大的提高。為什么首頁不用靜態(tài)頁面呢,為了體現(xiàn)我這個系統(tǒng)是用JSP動態(tài)技術(shù)做的,所以首頁就留用JSP技術(shù)的。</p><p> 這次畢業(yè)設(shè)計讓我學(xué)到了很多,并且也幫助我復(fù)習(xí)了很多知識,如Struts2,JDBC等,之前這些技術(shù)一直在使用的時候,很熟練的不要參照任何東西,而做這次設(shè)計,我還是翻閱了資料,因為有些東西忘記了。所以說,要想不忘記一些知識就要經(jīng)常去使用去回想,這樣才會孰能生巧。這個設(shè)計又提
85、醒了我,要經(jīng)常鞏固舊的知識并學(xué)習(xí)新的知識才會讓自己的技術(shù)更進(jìn)一步。希望在此基礎(chǔ)上,在以后的工作中做出更完美的系統(tǒng)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 陳剛. Eclipse從入門到精通[M]. 北京:清華大學(xué)出版社, 2005.</p><p> [2] Elliotte Rusty Harold. J
86、ava網(wǎng)絡(luò)編程(中文版 第三版)[M]. 北京:中國電力出版社,2005.</p><p> [3] 孫衛(wèi)琴. 基于MVC的JavaWeb設(shè)計與開發(fā)[M]. 北京:電子工業(yè)出版社,2004.</p><p> [4] Gary Cornell. JAVA核心技術(shù):卷Ⅰ基礎(chǔ)知識[M]. 機(jī)械工業(yè)出版社.</p><p> [5] 林信良. Java JDK 7學(xué)
87、習(xí)筆記[M]. 清華大學(xué)出版社.</p><p> [6] 喬帕,吉恩德. ApacheTomcat6高級編程[M]. 人民郵電出版社,2009.</p><p> [7] James Turner, Kevin Bedell. Struts Kick Start[M]. SAMS,2004.</p><p> [8] 任泰明. 基于B/S結(jié)構(gòu)的軟件開發(fā)技術(shù)[
88、M]. 西安電子科技大學(xué)出版社,2006.</p><p> [9] 蘇俊. 數(shù)據(jù)庫基礎(chǔ)教程[M]. 人民大學(xué)出版社,2004.</p><p> [10] Ron Patton. Software Test[M]. SAMS,2008.</p><p><b> 致 謝</b></p><p> 在這畢業(yè)設(shè)計
89、即將完成之際,首先感謝**給我們這樣一個良好的學(xué)習(xí)環(huán)境,再次感謝轉(zhuǎn)本以來各位老師認(rèn)真的教導(dǎo)我們,他們的認(rèn)真負(fù)責(zé),才讓我學(xué)到了更多的知識,才讓我在做畢業(yè)設(shè)計時不感到迷茫。</p><p> 想想兩年前進(jìn)的學(xué)校,就這么一晃,兩年就過去了,兩年中我學(xué)到了很多知識,在論文即將完成之際,無論是否得到好評,我都想說,我的系統(tǒng)的每個頁面,每個業(yè)務(wù)都是我努力思考并實(shí)施的結(jié)晶,我論文的每一章每一句都是我辛勤的汗水。三個月的時間很
90、是短暫,感謝這個期間給我意見和建議的老師和朋友,很高興認(rèn)識你們。</p><p> 最后感謝所有參加評審我論文和參加我答辯的老師,謝謝您抽出寶貴的時間來參加我的畢業(yè)見證!您給的意見和建議我都會虛心的采納,在此祝愿所有的老師工作順利,生活開心。</p><p><b> 附 錄</b></p><p> 1.根據(jù)用戶名查找用戶的JDBC主
91、要代碼:</p><p> Class.forName(driver);//注冊驅(qū)動</p><p> con=DriverManager.getConnection(url,username,pwd);//獲得連接</p><p> String sql=new StringBuffer()//獲得操作對象</p><p> .ap
92、pend("select * from user ")</p><p> .append("where userName=? ")</p><p> .toString();//</p><p> ps=con.prepareStatement(sql);//處理操作對象</p><p><
93、b> ……//此處省略</b></p><p> rs=rs=ps.executeQuery();//獲得結(jié)果集--可選</p><p> 2.創(chuàng)建數(shù)據(jù)庫user表的語句:</p><p> create table user(--用戶表</p><p> id int(4) primary key auto_in
94、crement,</p><p> userName varchar(20) NOT NULL,</p><p> password varchar(20) NOT NULL,</p><p> phone varchar(20) NOT NULL,</p><p> email varchar(20) NOT NULL,</p
95、><p> status boolean NOT NULL default false</p><p><b> );</b></p><p> 3.frame.jsp主要代碼:</p><p> <frameset rows="140px,*" border="0"&g
96、t;</p><p> <frame src="do_categories.action" noresize="noresize" scrolling="no"/></p><p> <frameset cols="200px,*" ></p><p> &
97、lt;frame src="show_subLeft.action" scrolling="no"/></p><p> <frame name="main" src="do_index.action"/></p><p> </frameset></p><
98、;p> </frameset></p><p> 4.User.java類代碼:</p><p> public class User implements Serializable {</p><p> private int id;</p><p> private String userName;</p
99、><p> private String password;</p><p> private String phone;</p><p> private String email;</p><p> private int status=0;</p><p> public User() {</p>
100、;<p><b> }</b></p><p> public User(int id,String userName,String password, String phone,String email, int status){</p><p> this.id = id;</p><p> this.userName
101、 = userName;</p><p> this.password = password;</p><p> this.phone = phone;</p><p> this.email = email;</p><p> this.status = status;</p><p><b>
102、}</b></p><p> public int getId() {</p><p> return id;</p><p><b> }</b></p><p> public void setId(int id) {</p><p> this.id = id;<
103、/p><p><b> }</b></p><p> public String getUserName() {</p><p> return userName;</p><p><b> }</b></p><p> public void setUserName(
104、String userName) {</p><p> this.userName = userName;</p><p><b> }</b></p><p> public String getPassword() {</p><p> return password;</p><p>
105、;<b> }</b></p><p> public void setPassword(String password) {</p><p> this.password = password;</p><p><b> }</b></p><p> public String getP
106、hone() {</p><p> return phone;</p><p><b> }</b></p><p> public void setPhone(String phone) {</p><p> this.phone = phone;</p><p><b>
107、}</b></p><p> public String getEmail() {</p><p> return email;</p><p><b> }</b></p><p> public void setEmail(String email) {</p><p>
108、 this.email = email;</p><p><b> }</b></p><p> public int getStatus() {</p><p> return status;</p><p><b> }</b></p><p> public
109、void setStatus(int status) {</p><p> this.status = status;</p><p><b> }</b></p><p><b> }</b></p><p> 5.Login()方法:</p><p> publ
110、ic User login(User user){</p><p> //根據(jù)用戶名和密碼查詢一個用戶是否存在,若存在方可成功登錄</p><p> User u=userDao.selByUsernameAndPwd(user.getUserName(), user.getPassword());</p><p> if((null==u)){</p&
111、gt;<p> throw new UserNotFoundException("對不起!用戶名或者密碼錯誤,請重新輸入");</p><p><b> }</b></p><p><b> return u;</b></p><p><b> }</b>&l
112、t;/p><p> 6.CmsAction類中的login方法代碼為:</p><p> public String login() throws UserNotFoundException{</p><p> session.remove(FinalData.U);</p><p> String code=(String) sessi
113、on.get("validcode");</p><p> if(testcode.equals(code)){//在沒有異常的情況下驗證碼正確才才可正常登陸</p><p> User u=userService.login(user);</p><p> session.put(FinalData.U, u);</p>&
114、lt;p> return SUCCESS;</p><p><b> }</b></p><p> message="驗證碼輸入錯誤!請重新登錄!";</p><p> return "fail";</p><p><b> }</b><
115、/p><p> 7.登錄action配置代碼:</p><p> <action name="login" class="com.jc.cms.action.CmsAction" method="login"></p><p> <exception-mapping exception=
116、"com.jc.cms.exception.UserNotFoundException" result="UserNotFoundException" > </p><p> </exception-mapping></p><p> <result type="chain">do_ind
117、ex</result></p><p> <result name="UserNotFoundException"> /WEB-INF/views/qian/public/login.jsp</p><p><b> </result></b></p><p> <result
118、 name="fail">/WEB-INF/views/qian/public/login.jsp</result></p><p><b> </action></b></p><p> 8.后臺讀取文件的代碼:</p><p> int id=news.getId();//參數(shù)<
119、/p><p> HttpClient html=new DefaultHttpClient();//獲得對象并讀</p><p> HttpUriRequest req=new </p><p> HttpGet("http://localhost:8080/CMS/qian/do_newsContext.action?news.id="+id
120、);</p><p><b> try{</b></p><p> HttpResponse res = html.execute(req);</p><p> HttpEntity body=res.getEntity();</p><p> InputStream in= body.getContent();
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計--基于java的cms系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 基于java的cms系統(tǒng)設(shè)計與實(shí)現(xiàn)
- 基于java的cms系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 【畢業(yè)設(shè)計】基于java的聊天系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 畢業(yè)設(shè)計----基于java的聊天系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 【畢業(yè)設(shè)計】基于java的聊天系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 基于java的學(xué)生選課系統(tǒng)設(shè)計與實(shí)現(xiàn)畢業(yè)設(shè)計
- 基于java的學(xué)生管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)-畢業(yè)設(shè)計
- 畢業(yè)設(shè)計基于java的學(xué)生管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 畢業(yè)設(shè)計----基于java的在線購物系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 基于java的“博客”論壇系統(tǒng)的設(shè)計與實(shí)現(xiàn)【畢業(yè)設(shè)計】
- 畢業(yè)設(shè)計---基于java的圖書管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 基于java的掃雷游戲的設(shè)計與實(shí)現(xiàn)畢業(yè)設(shè)計
- 基于java的實(shí)踐教學(xué)管理系統(tǒng)設(shè)計與實(shí)現(xiàn)【畢業(yè)設(shè)計】
- 基于JAVA的CMS的企業(yè)網(wǎng)站的設(shè)計與實(shí)現(xiàn).pdf
- 基于java的電子郵件收發(fā)系統(tǒng)的設(shè)計與實(shí)現(xiàn)【畢業(yè)設(shè)計】
- 畢業(yè)設(shè)計----基于bs模式的java在線考試系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 基于java_web的郵件管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)-畢業(yè)設(shè)計
- 畢業(yè)設(shè)計(論文)-基于java的酒店入住管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(論文)-基于java的企業(yè)員工管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)
評論
0/150
提交評論