javaee優(yōu)秀畢業(yè)設計論文_第1頁
javaee優(yōu)秀畢業(yè)設計論文_第2頁
javaee優(yōu)秀畢業(yè)設計論文_第3頁
javaee優(yōu)秀畢業(yè)設計論文_第4頁
javaee優(yōu)秀畢業(yè)設計論文_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、XXXXXXXXX學院計算機工程技術學院(軟件學院)畢業(yè)設計(論文)題目: 大蝦網(wǎng)知識互動平臺 專業(yè): 軟件技術 班級: 學生姓名: 學號: 指導教師姓名: 職稱: 2021年 12 月廣東科學技術職業(yè)學院計算機工程技術學院畢業(yè)設計(論文)開題報告填表日期: 2021 年 11 月 08 日 題目 大蝦網(wǎng)知識互動平臺學生姓名XXX學號42專業(yè)軟件技術班級XXX)指導教師XXX職稱助教 課題小組成員選題目的及意義 大蝦網(wǎng)是通過提問與答復的方式進行交流的平臺,用戶可以根據(jù)自身的需求,有針對性地提出問題;為用戶創(chuàng)造一個會聚無數(shù)人經(jīng)驗、智慧的互動式 知識問答分享平臺.擬完成的任務及指標短消息收發(fā)模塊:

2、用戶可能通過此功能給其他用戶發(fā)送類似email的短消息,方便用戶之間的相互通訊。收藏夾模塊:用戶可以通過此模塊收藏自己喜歡的文章網(wǎng)址,方便用戶收藏自己喜歡的內(nèi)容或博客等通訊錄模塊:用戶可以通過此功能添加通訊錄,方便查找親人、朋友、同學等的聯(lián)系方式。記事本模塊:用戶可以通過此模塊寫自己想寫的人和事。問答模塊:用戶可以通過此模塊提出自己在生活/學習/工作方面的疑問,或答復別人的疑問.答案被采納后可以獲取相應懸賞積分.前臺模塊:顯示熱點問題,顯示未解決問題,并對未解決問題按照不同的字段排序.顯示用戶積分排行.提供問題搜索以及按分類顯示功能.創(chuàng)新思路、手段及方法 本站可對問題實現(xiàn)全文檢索功能,搜索關鍵

3、字高亮顯示,實現(xiàn)方法:Luncene +Compass。 空間樣式選擇:通過切換css樣式來改變用戶空間的風格。 異步上傳用戶頭像:結合jquery類庫實現(xiàn)ajax異步上傳圖片 Url重寫:使用url重寫實例虛擬靜態(tài)頁面,方便被搜索引擎識別. 搜索自動補全:使用ajax實現(xiàn)自動補全,方便用戶搜索想要的內(nèi)容.審核意見指導教師簽章: 年 月 日 指導教師評語:指導教師評分:指導教師簽名: 年 月 日辯論委員會對畢業(yè)設計論文的評語和成績評定決議: 辯論委員會評分: 辯論委員會: 簽章 主任: 年 月 日院長評分決議: 院長: 簽章年 月 日摘 要當今知識內(nèi)容最豐富的地方不是圖書館,也不是書城。不用說

4、,當今知識內(nèi)容最豐富便是互聯(lián)網(wǎng).通過互聯(lián)網(wǎng)我們可以查看別人發(fā)布的文章,還可以發(fā)布自己的文章與他人共享.本系統(tǒng)并不是給大家發(fā)布文章用的,而是提供應大家一個知識互動平臺.在本系統(tǒng),大家可以通過提出自己在學習上遇到的問題,發(fā)布到本平臺,其他用戶可以查看你發(fā)布的問題,并答復你的問題.這樣就到達了知識共享的作用,讓你的問題能夠得到很好的解決.本大蝦網(wǎng)知識互動平臺的界面主要是采用xHtml+css設計技術,頁面語言采用JSP技術、Javascript腳本語言、HTML靜態(tài)語言、后臺采用基于struts1.x+Spring2.5+JPA1.0框架實現(xiàn),數(shù)據(jù)庫采用MySQL5.x.本論文首先對該系統(tǒng)做一個需求

5、分析,其次是網(wǎng)站總體功能的設計,分別通過用例圖分析管理員與普通用戶的主要功能。第三,主要是根據(jù)網(wǎng)站的需求做詳細的系統(tǒng)設計,分別是系統(tǒng)實體模型設計、系統(tǒng)架構設計以及對系統(tǒng)順序圖分析.第四,主要對使用到的技術作一個簡單的介紹.局部使用到的技術有:javaMail的應用、dbcp連接池的應用、利用jquery實現(xiàn)Ajax異步調(diào)用、使用urlrewrite實現(xiàn)url重寫、使用dom4j操作xml文件、使用freemark生成靜態(tài)頁面.最后對系統(tǒng)開發(fā)環(huán)境和運行環(huán)境作了一個介紹.本系統(tǒng)平臺包含的主要應用有:1、發(fā)送站內(nèi)短消息,用戶可以通過此功能給其他用戶發(fā)送類似email的短消息,方便用戶之間的相互通訊;

6、2、收藏夾模塊,用戶可以通過此模塊收藏自己喜歡的文章網(wǎng)址,方便用戶收藏自己喜歡的內(nèi)容或博客等;3、通訊錄模塊,用戶可以通過此功能添加通訊錄,方便查找親人、朋友、同學等的聯(lián)系方式;記事本模塊;4、記事本模塊,用戶可以通過此模塊寫自己想寫的人和事;5、問答模塊,用戶可以通過此模塊提出自己在生活/學習/工作方面的疑問,或答復別人的疑問.答案被采納后可以獲取相應懸賞積分;本系統(tǒng)平臺的界面比擬簡單明快,主題突出。 關鍵詞:struts mvc jpa spring 互動 AbstractKnowledge content of todays richest place is not a library,

7、 nor is it Bookstore. Needless to say, the most abundant is the knowledge content of todays Internet. Through the Internet we can see someone else publish the article, you can also publish your own articles to share with others. This system is not for everyone to use published articles, but provides

8、 us with a knowledge of interactive platform. In this system, we can put forward their own learning problems, release of this platform, other users can view your published questions and answer your questions. This has reached the role of knowledge-sharing, so that Your question can be a good solutio

9、n.In this paper, the first to do a needs analysis of the system, followed by the general function of site design, respectively, through the use case diagram analysis of the administrator and general users main functions. Third, mainly based on the needs of Web site to do a detailed system design, na

10、mely, physical model of the system design, system architecture design and analysis of the system sequence diagram. Fourth, the main use of the technology to make a brief introduction. Finally, the system development environment and runtime environment was an introduction.The system platform consists

11、 of the main applications are: 1, sending station short message, the user can through this feature to other users to send short messages similar to email, user-friendly inter-communication; 2, favorites, modules, the user can through this Collection of articles you like the module web site, user-fri

12、endly collection your favorite content or blog, etc.; 3, contacts module, users can add contacts through this function to facilitate the search for relatives, friends, classmates and other contact information; notebook module; 4, Notepad module, users can write their own wish to write this module th

13、e people and things; 5, quiz modules, this module users can make their own life / study / work in question, or answer someone elses questions. The answer is After the adoption of a corresponding reward points; this platform interface is relatively simple crisp, themes highlighted. Keyword: struts mv

14、c jpa spring 目錄 TOC o 1-3 h z u HYPERLINK l _Toc249950293 第一章 引 言 PAGEREF _Toc249950293 h 1 HYPERLINK l _Toc249950294 第二章 網(wǎng)站系統(tǒng)需求分析 PAGEREF _Toc249950294 h 2 HYPERLINK l _Toc249950295 2.1 系統(tǒng)設計目標 PAGEREF _Toc249950295 h 2 HYPERLINK l _Toc249950296 2.2 系統(tǒng)可行性分析 PAGEREF _Toc249950296 h 2 HYPERLINK l _Toc

15、249950297 網(wǎng)站系統(tǒng)的設計特點 PAGEREF _Toc249950297 h 3 HYPERLINK l _Toc249950298 系統(tǒng)設計總體規(guī)劃 PAGEREF _Toc249950298 h 3 HYPERLINK l _Toc249950299 第三章 網(wǎng)站總體功能設計 PAGEREF _Toc249950299 h 4 HYPERLINK l _Toc249950300 3.1 普通用戶功能設計 PAGEREF _Toc249950300 h 4 HYPERLINK l _Toc249950301 3.2 管理員功能設計 PAGEREF _Toc249950301 h 5

16、 HYPERLINK l _Toc249950302 第四章 網(wǎng)站系統(tǒng)詳細設計 PAGEREF _Toc249950302 h 6 HYPERLINK l _Toc249950303 4.1 系統(tǒng)實體模型設計 PAGEREF _Toc249950303 h 6 HYPERLINK l _Toc249950304 4.1.1 用戶與用戶詳細、用戶空間、用戶積分等級、角色、空間樣式實體關系設計 PAGEREF _Toc249950304 h 6 HYPERLINK l _Toc249950305 4.1.2 用戶與收藏夾實體關系設計 PAGEREF _Toc249950305 h 7 HYPERL

17、INK l _Toc249950306 4.1.3 用戶與通訊錄實體關系設計 PAGEREF _Toc249950306 h 8 HYPERLINK l _Toc249950307 4.1.4 用戶與記事本實體關系設計 PAGEREF _Toc249950307 h 8 HYPERLINK l _Toc249950308 4.1.5 用戶與問題、答案的實體關設計 PAGEREF _Toc249950308 h 9 HYPERLINK l _Toc249950309 4.2 系統(tǒng)架構設計 PAGEREF _Toc249950309 h 10 HYPERLINK l _Toc249950310 根

18、本架構的設計 PAGEREF _Toc249950310 h 10 HYPERLINK l _Toc249950311 4.2.2 面向接口設計 PAGEREF _Toc249950311 h 11 HYPERLINK l _Toc249950312 4.3 系統(tǒng)局部順序圖分析 PAGEREF _Toc249950312 h 12 HYPERLINK l _Toc249950313 4.3.1 用戶注冊順序圖 PAGEREF _Toc249950313 h 12 HYPERLINK l _Toc249950314 4.3.2 用戶登陸順序圖 PAGEREF _Toc249950314 h 13

19、 HYPERLINK l _Toc249950315 4.3.3 添加聯(lián)系人順序圖 PAGEREF _Toc249950315 h 14 HYPERLINK l _Toc249950316 第五章 使用技術介紹 PAGEREF _Toc249950316 h 15 HYPERLINK l _Toc249950317 5.1 JavaMail的應用 PAGEREF _Toc249950317 h 15 HYPERLINK l _Toc249950318 使用dbcp連接池優(yōu)化性能 PAGEREF _Toc249950318 h 15 HYPERLINK l _Toc249950319 利用jqu

20、ery實現(xiàn)Ajax異步調(diào)用 PAGEREF _Toc249950319 h 16 HYPERLINK l _Toc249950320 5.4 使用urlrewrite實現(xiàn)url重寫 PAGEREF _Toc249950320 h 17 HYPERLINK l _Toc249950321 5.5 使用dom4j操作xml文件 PAGEREF _Toc249950321 h 17 HYPERLINK l _Toc249950322 5.6 全文檢索技術之compass+luncene的整合 PAGEREF _Toc249950322 h 19 HYPERLINK l _Toc249950323 5

21、.7 使用freemark生成靜態(tài)頁面 PAGEREF _Toc249950323 h 22 HYPERLINK l _Toc249950324 第六章 系統(tǒng)非功能概述 PAGEREF _Toc249950324 h 24 HYPERLINK l _Toc249950325 6.1 系統(tǒng)開發(fā)環(huán)境介紹 PAGEREF _Toc249950325 h 24 HYPERLINK l _Toc249950326 介紹 PAGEREF _Toc249950326 h 24 HYPERLINK l _Toc249950327 servlet簡介 PAGEREF _Toc249950327 h 25 HYP

22、ERLINK l _Toc249950328 簡介 PAGEREF _Toc249950328 h 27 HYPERLINK l _Toc249950329 JAP簡介 PAGEREF _Toc249950329 h 28 HYPERLINK l _Toc249950330 Spring簡介 PAGEREF _Toc249950330 h 29 HYPERLINK l _Toc249950331 6.2 系統(tǒng)運行環(huán)境 PAGEREF _Toc249950331 h 30 HYPERLINK l _Toc249950332 第七章 總結 PAGEREF _Toc249950332 h 31 HY

23、PERLINK l _Toc249950333 參考文獻 PAGEREF _Toc249950333 h 33 HYPERLINK l _Toc249950334 局部界面預覽 PAGEREF _Toc249950334 h A引 言隨著計算機技術的飛速開展,信息時代的到來,信息改變了我們這個社會。各類行業(yè)在日常經(jīng)營管理各個方面也在悄悄地走向標準化和網(wǎng)絡化。管理的信息化程度表達在將計算機及網(wǎng)絡與信息技術應用于經(jīng)營與管理,以現(xiàn)代化工具代替?zhèn)鹘y(tǒng)手工作業(yè)。無疑,使用網(wǎng)絡信息化管理使管理更先進、更高效、更科學,信息交流更迅速. 作為程序員的我們,我們每一天的工作都離不開網(wǎng)絡.由于計算機技術開展迅速,我

24、們程序員也要跟上其步伐,才不會落后.在工作期間,我們每天都要抽一定的時間來學習新的技術和穩(wěn)固根底知識,我們可能會經(jīng)常通過書籍來封裝自己.但是一個新的技術出現(xiàn),很難在短時間內(nèi)就有比擬好的書籍出版.因此我們要通過閱讀相關文檔以及通過百度或google搜索相關的文章來學習.但還可以通過提問題的方式來獲取新的知識,我遇到的問題前面可能已經(jīng)有人遇到過,所以在提問題之前建議先搜索一下是否能夠找到你要的答案,如果搜不到,那就直接提出你要問的問題,假設你的問題有個答復了,系統(tǒng)就會根據(jù)你注冊的郵件地址發(fā)送一封提醒信息給您,讓你能及時獲取到解決問題的方法,最后根據(jù)用戶的答復選出最正確解決問題的方案。本平臺就提供此

25、功能. 本系統(tǒng)提供了發(fā)送站內(nèi)短消息功能、收藏自己喜歡的文章網(wǎng)址功能、添加通訊錄功能、寫記事本功能、提出自己在生活/學習/工作方面的問題,或答復別人的問題,本系統(tǒng)主要是提供應用戶一個知識互動平臺.旨在讓用戶學得愉快、學得輕松、學得有用,分享知識,分享快樂;前臺主要實現(xiàn)用戶的登錄,用戶注冊;顯示熱點問題的列表;顯示最新未解決問題,并且實現(xiàn)能按不同的字段排序,如按時間、答復次數(shù)、懸賞分降序或升序以及按分類顯示問題列表,方便用戶快速定位到自己感興趣的內(nèi)容,增強了知識的可讀性. 本系統(tǒng)的總體架構采用MVC設計模式.module代表數(shù)據(jù)、view代表視圖、controller代表控制器,控制器接收和處理請

26、求,產(chǎn)生數(shù)據(jù),然后選擇視圖顯示數(shù)據(jù)。MVC的好處在于將處理業(yè)務的控制邏輯代碼與顯示視圖的代碼進行了別離,便于維護. 第二章 網(wǎng)站系統(tǒng)需求分析2.1 系統(tǒng)設計目標 本平臺利用典型的struts1.x+spring2.5+JPA1.0+jsp的MVC架構實現(xiàn)的,進行系統(tǒng)分析,為將來進一步的實施打下一個堅實的技術根底。如果本平臺開發(fā)得完善,將可投入到實際使用當中. 此系統(tǒng)分為前臺數(shù)據(jù)展示界面系統(tǒng)和用戶后臺管理系統(tǒng)以及管理員后臺系統(tǒng): 前臺主要實現(xiàn)用戶的登錄,用戶注冊;顯示熱點問題的列表;顯示最新未解決問題,并且實現(xiàn)能按不同的字段排序,如按時間、答復次數(shù)、懸賞分降序或升序以及按分類顯示問題列表。顯示用

27、戶積分排行榜;提供搜問題功能;提供答復以下問題功能;如果用戶忘記了自己的登陸密碼,用戶還可以找回密碼功能,通過輸入你注冊的用戶名,系統(tǒng)會發(fā)送一封修改密碼的郵件到你注冊的郵箱. 用戶后臺管理主要是實現(xiàn)了管理記事本、管理收藏夾、管理通訊錄、管理問答、收發(fā)站內(nèi)短消息;修改用戶個人信息、修改用戶登陸密碼以及修改用戶注冊郵箱;查看自己提出的問題以及查看答復別人的問題. 管理員后臺系統(tǒng)主要實現(xiàn)查看注冊用戶列表,并對用戶有啟用或禁用的操作;查看問題列表,并對問題有翻開或關閉的操作;查看問題目錄,并有添加新的目錄以及修改目錄的操作;管理員同樣可以修改自己的登錄密碼.2.2 系統(tǒng)可行性分析可行性研究是為了弄清楚

28、系統(tǒng)開發(fā)的工程是不是可以實現(xiàn)和值得進行研究的過程,實際上是一次大大簡化系統(tǒng)分析和系統(tǒng)設計的過程,所以,進行可執(zhí)行性的分析是非常必要的,也是很重要的,經(jīng)過最初的設計目標和進行的市場調(diào)查得出以下七點的可行性分析:1.完整性 每一項需求都必須將要實現(xiàn)的功能描述清楚2.正確性 每一項需求都必須準確的陳述其要開發(fā)的功能3.可行性 每一項需求都必須在系統(tǒng)和環(huán)境的權能和限制范圍內(nèi)可以實施的4必要性 要使每項需求都能回溯至某項客戶的輸入5劃分優(yōu)先級 給每項需求分配一個實施優(yōu)先級指明它在特定產(chǎn)品中所占的分量6無二義性 對所有需求說明的讀者都只能有一個明確地解釋防止二義性的的有效方法包括對去需求文檔的正確正規(guī)審查

29、,編寫測試用例,開發(fā)原型等。7科驗證性 檢查每項需求是否能通過設計測試用例或其他的驗證方法如演示,檢測。 通過以上的可行性分析,我們將采用java+jsp+struts+spring+jpa結合的技術,運用MySQL數(shù)據(jù)庫對網(wǎng)站系統(tǒng)進行建設。 在平時,你只能向你身邊熟悉的的同學、朋友或同事等人請教自己在學習、生活、工作上遇到的問題,但如果你整天向某個人請教問題,他不煩你也會不好意思. 此平臺的意向之一就是解決這種問題. 通過此平臺回你提出的問題的人大多是你不認識的,但他卻一樣能夠幫你解決問題.這樣就到達了知識更廣范圍內(nèi)的共享,符合之前系統(tǒng)設計的目標.無論哪個網(wǎng)站都要有它自己的設計規(guī)那么。該平臺

30、也一樣,它的主要設計規(guī)那么有:簡單性:在實現(xiàn)平臺的功能的同時,盡量讓平臺操作簡單易懂,界面設計簡潔優(yōu)雅,這對于一個網(wǎng)站來說是非常重要的。2針對性:該平臺設計是某個專業(yè)領域的知識問答定向開發(fā)設計,所以具有專業(yè)突出和很強的針對性。3實用性:該平臺能完成問題列表的展示和豐富的用戶后臺應用,具有良好的實用性。 第三章 網(wǎng)站總體功能設計3.1 普通用戶功能設計圖3-1:普通用戶用例圖具體說明:管理收藏夾 查看收藏夾、添加收藏夾、修改某條收藏,刪除某條收藏管理個人信息 修改個人資料、修改密碼、修改郵箱管理問題 查看我提的問題,查看我答復的問題管理通訊錄 添加聯(lián)系人、添加組、修改聯(lián)系人、查看聯(lián)系人信息管理記

31、事本 查看記事本、添加記事、修改記事、刪除記事管理短消息 查看接收的短消息、發(fā)送短消息、收藏短消息、把短消息放到垃圾箱、徹底刪除短消息3.2 管理員功能設計圖3-2:管理員用戶用例圖具體說明管理用戶 管理用戶狀態(tài): 啟用、禁用;查看用戶列表管理問題 管理問題狀態(tài): 關閉問題、恢復問題管理問題分類 添加分類、修改分類、查看分類系統(tǒng)管理 修改密碼、平安退出系統(tǒng) 第四章 網(wǎng)站系統(tǒng)詳細設計4.1 系統(tǒng)實體模型設計 用戶與用戶詳細、用戶空間、用戶積分等級、角色、空間樣式實體關系設計圖4-1-1:用戶與詳細實體類關系圖描述:每一個用戶對應一種用戶角色,對應一個用戶空間,對應一個用戶積分等級,還對應一個用戶

32、詳細信息;每一個空間對應一種空間樣式。 用戶與收藏夾實體關系設計圖4-1-2:用戶與收藏來關系圖描述:每一個用戶有多條收藏,也可以有多個鏈接標簽,而每一條收藏對應有多個標簽,每個標簽也對應有多條收藏。 用戶與通訊錄實體關系設計圖4-1-3:用戶與通訊錄關系圖描述:每一個用戶有多個聯(lián)系人,也可以有多個聯(lián)系人組,而每一個聯(lián)系人組對應有多個聯(lián)系人,每個聯(lián)系人也可以屬于多個聯(lián)系人組。 用戶與記事本實體關系設計圖4-1-4:用戶與記事本關系圖描述:每一個用戶實體對應多條記事。 用戶與問題、答案的實體關設計圖4-1-5:用戶與問題關系圖描述:每一個用戶可以提出多個問題,也可以答復多個答案;每一個問題都可以

33、有多條答復,而最正確答案只有一個,用答案狀態(tài)status來表示;每一個提出來的問題都有之對應的唯一一個一級目錄和二級目錄;每一個一級目錄對應多個二級目錄,還對應多個問題;每一個二級目錄對應一個一級目錄,還對應多個問題。4.2 系統(tǒng)架構設計根本架構的設計以下圖:圖4-2-1:三層架構圖 面向接口設計圖4-2-2:面向接口類關系設計圖Service具體實現(xiàn)類交給了Spring容器管理,通過注別離的效果,便于系統(tǒng)日后的維護與升級。本系統(tǒng)采用JPA解方式或XML配置文件的方式將其注入到相應的接口,這樣就實現(xiàn)了接口與實現(xiàn)注解方式實現(xiàn)注入功能。注入方向如以下圖:圖4-2-3:注入方向圖4.3 系統(tǒng)局部順序

34、圖分析 用戶注冊順序圖圖4-3-1:用戶注冊順序圖 用戶登陸順序圖圖4-3-2:用戶登陸順序圖 添加聯(lián)系人順序圖圖4-3-3:添加聯(lián)系人順序圖 第五章 使用技術介紹5.1 JavaMail的應用JavaMail,顧名思義,提供應開發(fā)者處理電子郵件相關的編程接口。它是Sun發(fā)布的用來處理email的API。它可以方便地執(zhí)行一些常用的郵件傳輸。J2EE5的提供相應的jar包.發(fā)送Email的關鍵代碼如下:public static void sendEmail(String subject,String contents,String toemail) throws Exception Prope

35、rties props = new Properties(); props.setProperty(tocol, smtp); props.setProperty(mail.smtp.auth, true); Session session = Session.getInstance(props); session.setDebug(true); Message msg = new MimeMessage(session); msg.setSubject(subject); msg.setContent(+contents+,text/html;charse

36、t=gbk); msg.setFrom(new InternetAddress(BaseConfig.readEmail(emailurl); Transport transport = session.getTransport(); transport.connect(BaseConfig.readEmail(emailsmtp), 25, BaseConfig.readEmail(emailusername),BaseConfig.readEmail(emailpassword); transport.sendMessage(msg,new Addressnew InternetAddre

37、ss(toemail); transport.close(); subjet:主題 contents:發(fā)送的內(nèi)容 toemail:接收者郵件使用dbcp連接池優(yōu)化性能本工程中使用數(shù)據(jù)源和指定persistence.xml位置的方式創(chuàng)立entityManagerFactory.首先在將dbcp實現(xiàn)的相關jar包拷至lib目錄下.然后在Beans.xml要配置,如下: initialSize表示初始化連接數(shù)大小;maxActive表示最大連接數(shù)的大小;maxIdle表示最大空閑值;minIdle表示最小空閑值.利用jquery實現(xiàn)Ajax異步調(diào)用 通過jquery實現(xiàn)的Ajax,使我們不用考慮瀏覽

38、器的兼容性。用用一段簡單的代碼即可實現(xiàn)Ajax異步調(diào)用效果。本工程采用的是jquery-1.3.min.js版本.$.ajax( type: post, url: /answer/up.htm, data: post, success: function(msg) /獲取msg返回數(shù)據(jù) );5.4 使用urlrewrite實現(xiàn)url重寫使用urlrewrite可以不用去訪問真實的路徑,而是通過一個模式去匹配,然后該請求轉發(fā)到那個真實的路徑。隱藏真實路徑在一定程序上增加了程序的平安。使用urlrewrite首先要引入相應jar包,本工程使用的是urlrewrite-.jar,還需要將urlrew

39、rite.xml文件在到WEB-INF目錄下,配置如下:read messages /user/messages/(0-9+$) /user/messages/manage.htm?id=$1&method=read/user/messages/list/(.*)/user/messages/list.htm?method=$1/user/questions/list/(a-z+$)/user/questions/list.htm?method=$1匹配模式使用的是正那么表達式,如:(0-9+$)匹配的是一個或多個數(shù)字,并最后要以數(shù)字結尾.當訪問路徑/user/messages/21時,url

40、rewrite會將其攔截,然后轉發(fā)至/user/messages/manage.htm?id=21&method=read路徑.5.5 使用dom4j操作xml文件本工程用到dom4j初始化數(shù)據(jù),初始化問題目錄方法如下:public class InitSystemDatas public void addOrUpdateInitDatas(String xmlFilePath) throws Exceptiontry String filePath = null;if(xmlFilePath=null | xmlFilePath.trim().equals()filePath = file;

41、elsefilePath = xmlFilePath;/DOM4J的使用 Document document = new SAXReader().read(getClass().getClassLoader().getResourceAsStream(filePath);importCategory(document.selectNodes(/Categorys/Category); catch (Exception e) throw new Exception(初始化出錯!);document.selectNodes(/Categorys/Category)返回的是一個List列表對象.im

42、portCategory方法如下:protected void importCategory(List categorys)for (Iterator iter = categorys.iterator(); iter.hasNext();) Element element = (Element)iter.next();Category category = new Category();category.setName(element.attributeValue(name);category.setDepict(element.attributeValue(depict);category

43、.setOrderNo(Integer.parseInt(element.attributeValue(orderNo);if(categoryService.find(element.attributeValue(name)=null)categoryService.save(category);List subList = element.selectNodes(SubCategory);for(Iterator subiter = subList.iterator(); subiter.hasNext();)Element subelement = (Element)subiter.ne

44、xt();if(subCategoryService.find(subelement.attributeValue(name)!=null)continue;SubCategory subCategory = new SubCategory();subCategory.setCategory(category);subCategory.setName(subelement.attributeValue(name);subCategory.setDepict(subelement.attributeValue(depict);subCategory.setOrderNo(Integer.pars

45、eInt(subelement.attributeValue(orderNo);subCategoryService.save(subCategory);將節(jié)點及子節(jié)點的屬性封裝成POJO實體對象,對應的xml文件如下: 5.6 全文檢索技術之compass+luncene的整合全文檢索:把用戶的查詢請求各全文中的每一個詞進行比擬,不考慮查詢請求與文本語義上的匹配。在信息檢索工具中,全文檢索是最具通用性和實用性的.數(shù)據(jù)庫的搜索不能實現(xiàn)全文檢索的要求,原因如下:匹配效果:如搜索ant,在sql中使用like %ant%否是會搜索出planting的,但它不應出現(xiàn).查出的結果沒有相關度排序,不知道

46、有用的結果說明在哪一頁搜索速度太慢,達不到毫秒級的要求. 本工程采用compass+luncene+spring2.5整合,在beans.xml配置如下 :索引存放位置file:/e:/index!CDATA!CDATA 在實體類中用注解的方式標識要搜索的實體,如標識問題為搜索對象:Entity Searchablepublic class Question implements Serializableprivate int qid;private String title;private String content;private int offerscore;private int s

47、tatus;private Date questiontime = new Date();private int clickcount;Id GeneratedValue SearchableIdpublic int getQid() return qid;public void setQid(int qid) this.qid = qid; Column SearchableProperty(name=qtitle,boost=2,store=Store.YES) public String getTitle() return title;public void setTitle(Strin

48、g title) this.title = title;Lob SearchableProperty(name=qcontent,store=Store.YES)public String getContent() return content;public void setContent(String content) this.content = content;Column SearchableProperty(index=Index.NO,store=Store.YES)public int getOfferscore() return offerscore;public void s

49、etOfferscore(int offerscore) this.offerscore = offerscore;Column(length=5) SearchableProperty(index=Index.NO,store=Store.YES)public int getStatus() return status;public void setStatus(int status) this.status = status;Column SearchableProperty(index=Index.NO,store=Store.YES)public Date getQuestiontim

50、e() return questiontime;public void setQuestiontime(Date questiontime) this.questiontime = questiontime;Column SearchableProperty(index=Index.NO,store=Store.YES)public int getClickcount() return clickcount;public void setClickcount(int clickcount) this.clickcount = clickcount;Searchable注解表示要搜索的實體.Se

51、archableId標識實體的主鍵.SearchableProperty(name=qcontent,store=Store.YES)表示要搜索的屬性,并將其作為索引,存放在Beans.xml指定的文件路徑中.在不更改該數(shù)據(jù)的情況下,以后就直接從索引庫里面找,不用再查找數(shù)據(jù)庫.SearchableProperty(index=Index.NO,store=Store.YES)index=Index.NO表示不作為索引值.5.7 使用freemark生成靜態(tài)頁面FreeMarker允許Java servlet保持圖形設計同應用程序邏輯的別離,這是通過在模板中密封HTML完成的。模板用servle

52、t提供的數(shù)據(jù)動態(tài)地生成 HTML。模板語言是強大的直觀的,編譯器速度快,輸出接近靜態(tài)HTML頁面的速度。本工程的郵件內(nèi)容模板使用到了該技術,主要代碼如下:Configuration freemarkerCfg = new Configuration();ServletContext context = request.getSession().getServletContext(); freemarkerCfg.setServletContextForTemplateLoading(context,/WEB-INF/);try /指定模版路徑 Template template = freem

53、arkerCfg.getTemplate(getpassword.ftl, gbk); Writer writer = new StringWriter(); Map data = new HashMap(); /給模板getpassword.ftl動態(tài)填充數(shù)據(jù) data.put(username, user.getUsername(); data.put(validateCode, MD5.MD5Encode(user.getUsername()+user.getPassword(); /處理模版 cess(data, writer); writer.flush();

54、 writer.close(); String mailContent = writer.toString();/得到郵件內(nèi)容EmailSender.send(user.getEmail(), 大蝦網(wǎng)-找回密碼, mailContent, text/html); 第六章 系統(tǒng)非功能概述6.1 系統(tǒng)開發(fā)環(huán)境介紹 新的JSP標準版本包括新的用于提升程序員工作效率功能,主要有:An Expression Language (EL) 允許開發(fā)者創(chuàng)立 Velocity-樣式 templates (among other things).更快更簡單的創(chuàng)立新標簽的方法。Hello, $param.visit

55、or %- same as: Hello, -%MVC 模式為了把表現(xiàn)層presentation從請求處理request processing 和數(shù)據(jù)存儲data storage中別離開來,SUN公司推薦在JSP文件中使用一種“模型-視圖-控制器Model-view-controller 模式。標準的SERVLET或者別離的JSP文件用于處理請求。當請求處理完后,控制權交給一個只作為創(chuàng)立輸出作用的JSP頁。有幾種平臺都基于效勞于網(wǎng)絡層的模-視圖-控件 模式(比方Struts 和Spring framework)。編輯本段JSP技術的強勢1一次編寫,到處運行。在這一點上Java比PHP更出色,除

56、了系統(tǒng)之外,代碼不用做任何更改。2系統(tǒng)的多平臺支持。根本上可以在所有平臺上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展。相比ASP/PHP的局限性是顯而易見的。 3強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺效勞器進行集群和負載均衡,到多臺Application進行事務處理,消息處理,一臺效勞器到無數(shù)臺效勞器,Java顯示了一個巨大的生命力。 4多樣化和功能強大的開發(fā)工具支持。這一點與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下。servlet簡介 Servlet 使

57、用一個 HTML 表格來發(fā)送和接收數(shù)據(jù)。要創(chuàng)立一個 Servlet,請擴展 Servlet 類, 該類是用專門的方法來處理 HTML 表格的 GenericServlet 的一個子類。 HTML 表單是由 和 標記定義的。表單中典型地包含輸入字段(如文本輸入字段、復選框、單項選擇按鈕和選擇列表)和用于提交數(shù)據(jù)的按鈕。當提交信息時,它們還指定效勞器應執(zhí)行哪一個Servlet(或其它的程序)。 Servlet 類包含 init()、destroy()、service() 等方法。其中 init() 和 destroy() 方法是繼承的。 (1) init() 方法 在 Servlet 的生命期中,

58、僅執(zhí)行一次 init() 方法。它是在效勞器裝入 Servlet 時執(zhí)行的。 可以配置效勞器,以在啟動效勞器或客戶機首次訪問 Servlet 時裝入 Servlet。 無論有多少客戶機訪問 Servlet,都不會重復執(zhí)行 init() 。 缺省的 init() 方法通常是符合要求的,但也可以用定制 init() 方法來覆蓋它,典型的是管理效勞器端資源。 例如,可能編寫一個定制 init() 來只用于一次裝入 GIF 圖像,改良 Servlet 返回 GIF 圖像和含有多個客戶機請求的性能。另一個例如是初始化數(shù)據(jù)庫連接。缺省的 init() 方法設置了 Servlet 的初始化參數(shù),并用它的 S

59、ervletConfig 對象參數(shù)來啟動配置, 因此所有覆蓋 init() 方法的 Servlet 應調(diào)用 super.init() 以確保仍然執(zhí)行這些任務。在調(diào)用 service() 方法之前,應確保已完成了 init() 方法。 (2) service() 方法 service() 方法是 Servlet 的核心。每當一個客戶請求一個 Servlet 對象,該對象的service() 方法就要被調(diào)用,而且傳遞給這個方法一個請求(ServletRequest)對象和一個響應(ServletResponse)對象作為參數(shù)。 在 Servlet 中已存在 service() 方法。缺省的效勞功能

60、是調(diào)用與 請求的方法相應的 do 功能。例如, 如果 請求方法為 GET,那么缺省情況下就調(diào)用 doGet() 。Servlet 應該為 Servlet 支持的 方法覆蓋 do 功能。因為 Servlet.service() 方法會檢查請求方法是否調(diào)用了適當?shù)奶幚矸椒ǎ槐匾采w service() 方法。只需覆蓋相應的 do 方法就可以了。Servlet的響應可以是以下幾種類型: 一個輸出流,瀏覽器根據(jù)它的內(nèi)容類型(如text/HTML)進行解釋。 一個 錯誤響應, 重定向到另一個URL、servlet、JSP。 (3)doGet()方法當一個客戶通過HTML 表單發(fā)出一個 GET請求或直接

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論