【正文】
(validate, sRand)。 AffineTransform trans = new AffineTransform()。i4。j3。 (getRandColor(150, 200))。 (image/jpeg)。 for(byte b : bs) { if( b 0 ) { b += 256。其中還提供了驗證碼的功能,以確保用戶的安全性。 (currentUser, u)。 } 自動登錄 主要 代碼: private UserService us = new UserService()。 for(int i = 20。 private Random rd = new Random()。結(jié)構(gòu)如表 45 所示。 1. tb_user 表 用戶信息表,主要用戶存儲用戶的基本信息。 開始請求頁面 轉(zhuǎn)向?qū)犹幚碚埱? 業(yè)務(wù)層處理 功能模塊處理結(jié)果 業(yè)務(wù)層處理結(jié)果 轉(zhuǎn)向?qū)禹憫?yīng)請求 返回頁面 第 4 章 系統(tǒng)設(shè)計 15 2. 業(yè)務(wù)邏輯層 (BLL):針對具體問題的操作,也可以說是對數(shù)據(jù)層的操作,對數(shù)據(jù)業(yè)務(wù)邏輯處理。 2. 轉(zhuǎn)向?qū)蛹纯刂破鲗?,控制頁面?shù)據(jù)的流向,請 求的處理過程包括三個方面:請求的初始化、請求的處 理、請求的響應(yīng), 用 Servlet 實現(xiàn)。 好友管理模塊 好友管理模塊用例圖,如圖 所示。顯示相冊數(shù),提供“查看全部”鏈接及“上傳照片”按鈕,顯示最近上傳相冊及每個相冊總照片數(shù)。 填寫標(biāo)題,內(nèi)容,及選擇日志分類;提供保存與取消按鈕。 日志管理模塊用例圖, 如圖 所示。登錄之后的每個管理頁面都應(yīng)顯示當(dāng)前用戶的真實姓名,并且提供“日志”、“相冊”及“退出”鏈接。 客戶端:瀏覽器 (主要針對 IE)。據(jù)六度分割理論,一個人最多通過六個人就能夠認(rèn)識一個陌生人,通過建立一種社交性的網(wǎng)絡(luò),將線下的朋友圈轉(zhuǎn)變?yōu)榫€上的人際網(wǎng)絡(luò)。開源意味著任何人都可以使用和修改該軟件,任何人都可以從 Inter 上下載和使用 MySQL 而不需要支付任何費用。它可以是從一個簡單的表到一個龐大的信 息集合。 JSP 代碼可以在 APACHE、 IIS 等服務(wù)器上執(zhí)行,支持大部分操作系統(tǒng)。 5. 事件源與監(jiān)聽者之間可進(jìn)行高效的事件傳遞。從概念上講,事件是一種在“源對象”和“監(jiān)聽對象”之間、某種狀態(tài)發(fā)生變化的傳遞機智。得益于 Java 的跨平臺的特性, Servlet 也是平臺無關(guān)的。因此,現(xiàn)在一般所謂的 SNS,則 其含義還遠(yuǎn)不及“熟人的熟人”這個層面。 SNS 的另一種常用解釋:全稱 Social Network Site,即“ 社交網(wǎng)站 ” 或“ 社交網(wǎng) ” 。 WAR 是 Sun 提出的一種 Web 應(yīng)用程序格式,與 JAR 類似,也是許多文件的一個壓縮包。 JSP 是開發(fā)動態(tài)網(wǎng)絡(luò)頁面的,因此系統(tǒng)中必須具備一個數(shù)據(jù)庫,由 MySql擔(dān)任此工作。如:世紀(jì)佳緣、賽客網(wǎng) 等 ;第三類是商務(wù)類型的 SNS,這一類型主要面向企業(yè)商務(wù)應(yīng)用收費和多樣線下商業(yè)活動收費。美國兩個社交網(wǎng)站 MySpace 和 Facebook 的全球風(fēng)行迅速將 SNS 的熱潮燒到了中國。 第 1 章 引言 2 國內(nèi)外研究現(xiàn)狀及成果 我們大部分人都希望能夠在眾人面前展示自己,而在這個互聯(lián)網(wǎng)的時代 , 我們每個人都可以很輕易的在網(wǎng)絡(luò)上開出一片屬于自己的空間,那就是擁有展示自己的網(wǎng)站。 SNS 網(wǎng)站,就是依據(jù)六度理論建立的網(wǎng)站,幫你運營朋友圈的朋友。 SNS。需求分析之后,便是系統(tǒng)的設(shè)計階段,這一部分描繪了系統(tǒng)的整體結(jié)構(gòu), 完成了數(shù)據(jù)庫的 設(shè)計,并 創(chuàng)建了數(shù)據(jù)庫 。 本設(shè)計(論文)和資料若有不實之處,本人愿承擔(dān)一切相關(guān)責(zé)任。 文章內(nèi)容一共分成 七 章,包括 引言 、 相關(guān)簡介與技術(shù) 、需求分析、 系統(tǒng) 設(shè)計 、系統(tǒng) 實現(xiàn)、系統(tǒng)測試及 總結(jié) 與展望 。s website. The content of this thesis is divided into seven chapters altogether, including introduction, relevant profile and technology, requirement analysis, system design, system implementation, system test, system summarize and outset that the research background and the purpose, then it is briefly introduced SNS, and related technology. Then base on the surface acquaintance of blog and SNS, have written the file of requirement analysis, which have divided the functions of a blog system needing to be done. After the step of requirement analysis, it es to design system outline, this part has described the main structure of the system, pleting the database design and created a database. Then there is the realization of the system, including the appearance of the system and the Servlet design, also is the demo after pleting the system. Finally, is system tests then the summarizes and prospect. Key Words: threetier architecture。如果將每個設(shè)備的計算及寬帶資源進(jìn)行重新分配與共享,這些設(shè)備就有可能比那些服務(wù)器更為強大的能力。 既然博客是計算機網(wǎng)絡(luò)上的新事物,那無可厚非它屬于 B/S 結(jié)構(gòu)的 Web 應(yīng)用程序,相對于 C/S 結(jié)構(gòu)的計算機應(yīng)用程序, Web 應(yīng)用程序具有更多的優(yōu)點,它可以實現(xiàn)一處修改多處使用的效果,在更新速度上來講,這是 C/S 結(jié)構(gòu)應(yīng)用程序無可比擬的功能。 SNS 的生活應(yīng)該是類似與我們的實際生活一樣,是 我們 的網(wǎng)上家園,是基于生活的舒適性而選擇的。相對于其他社交網(wǎng),在中國網(wǎng)速較快較多中國人用的國外社交網(wǎng)站是 firendster。 SNS 說白了就是社交網(wǎng)絡(luò), 6 度空間原理 (任何人可以通過 6 個人的關(guān)系互相認(rèn)識 )。 中采用了新的 Servlet 容器, 完整的實現(xiàn)了 Servlet和 JSP 規(guī)范。編譯以后,訪問將會很快。這是 社會性網(wǎng)絡(luò) (Social Networking)的早期理解。 JSP 的基礎(chǔ) —— Servlet 技術(shù) Servlet 是 JSP 技術(shù)的基礎(chǔ), JSP 本身就是預(yù)先被編譯成 Servlet,然后再運行的,而且大型的 Web 應(yīng)用程序的開發(fā)需要 Servlet 和 JSP 配合才能完成。 JavaBean 是一種可以重用的 Java 組件,它類似于 COM,在 JSP 程序中常用來封裝 事務(wù) 邏輯、數(shù)據(jù)庫操作等,可以很好的實現(xiàn)業(yè)務(wù)邏輯和前臺程序的分離,使得系統(tǒng)具有更好的健壯性和靈活性。 2. 能夠發(fā)現(xiàn)制定 的對象類可以觀察監(jiān)聽到的事件。將數(shù)據(jù)庫連 接的重要信息存放在 JavaBean 文件后,可以編譯成虛擬機才能解釋的字節(jié)代碼,確保了數(shù)據(jù)庫的安全 [10][11]。 以后版本安裝時不需安裝 Eclipse。 MySQL 數(shù)據(jù)庫系統(tǒng)使用最常用的數(shù)據(jù)庫管理語言 結(jié)構(gòu)化查詢語言( SQL: Structured Query Language) 來 進(jìn)行數(shù)據(jù)庫管理 。 博客網(wǎng)站系統(tǒng)的總目標(biāo)是:在計算機網(wǎng)絡(luò),數(shù)據(jù)庫和先進(jìn)的開發(fā)平臺上,利用現(xiàn)有的軟件,配置一定的硬件,開發(fā)一個具有開放體系結(jié)構(gòu)的、易擴充的、易維護(hù)的、具有良好人機交互界面的 SNS 社區(qū) 博客網(wǎng)站,為網(wǎng)絡(luò)用戶提供進(jìn)行在線交流的網(wǎng)絡(luò)平臺。 硬件 環(huán)境 服務(wù)器端硬件最低要求: CPU P4 以上,內(nèi)存 1GB 以上,硬盤 10GB 以上。如果填寫的賬號已經(jīng)存在,則應(yīng)提示“此賬號已被使用”。 6. 修改個人資料 在“ SNS 社區(qū)博客系統(tǒng)”頁面點擊“修改個人資料”鏈接,進(jìn)入“修改個人資料”頁面,可填寫興趣愛好、 、聯(lián)系方式、上傳照片,完成“修改個人資料”功能。當(dāng)點擊“發(fā)布”按鈕,則跳轉(zhuǎn)到“日志詳情”頁面。此刪除只可單條刪除。刪除之前應(yīng)顯示警告:“此操作不可恢復(fù)。此刪除只可單條 刪除。 區(qū)分層次的目的 是為了體現(xiàn) “高內(nèi)聚,低耦合”的思想,以提高軟件的可維護(hù)性和可擴展性。 圖 三層架構(gòu) 數(shù)據(jù)庫設(shè)計 ER圖 ER 圖 是對數(shù)據(jù)之間關(guān)系的描述。 表 43 tb_article_class 表 字段說明 字段名稱 數(shù)據(jù)類型 約束 備注 編號 article_class_id int PK 自動生成 類型內(nèi)容 article_class_content varchar(20) 4. tb_albums 表 相冊信息表,主要用于保存用戶創(chuàng)建的相冊信息。 表 47 tb_friend 表 字段說明 字段名稱 數(shù)據(jù)類型 約束 備注 編號 id int PK 自動生成 用戶 ID friend_id int FK 好友 ID user_id int FK 分類 ID friend_type_id int FK 第 5 章 系統(tǒng)實現(xiàn) 20 第 5 章 系統(tǒng)實現(xiàn) 系統(tǒng)環(huán)境 硬件環(huán)境 機器: PC 機 CPU: CPU P4 以上 內(nèi)存: 1GB 以上 硬盤: 10GB 以上 軟件環(huán)境 操作系統(tǒng): Windows XP 數(shù)據(jù)庫: 開發(fā)工具: MyEclipse JAVA 編譯環(huán)境: JDK JAVA 運行并發(fā)布: 瀏覽器 : IE 用戶管理 用戶登錄 在登錄界面,不但可以進(jìn)行登錄,還提供了自動登錄的功能 ,其中,密碼是通過 Java[23][24][25][26]提供的 SHA1 算法來進(jìn)行加密的 ;除此外,還有注冊、忘記密碼等超鏈接。 } catch (UnsupportedEncodingException e) { bs = ()。 i 20。 } } } if( auto != null) { String[] autoInfo = (\\|)。 第 5 章 系統(tǒng)實現(xiàn) 23 } return。 } public String getToken(String s, long num) { //用戶名加上隨機數(shù)即得到令牌 s += num。 } 圖 忘記密碼界面 第 5 章 系統(tǒng)實現(xiàn) 25 忘記密碼中,方法的調(diào)用外 ,還 需 要在 配置文件 中配置 ,代碼如下: servlet servletnameGetPwdServlet/servletname servletclass/servletclass initparam paramnamesmtpHost/paramname paramvalue/paramvalue /initparam initparam paramnamesmtpPort/paramname paramvalue25/paramvalue /initparam initparam paramnamesmtpUserName/paramname paramvalue719010975/paramvalue /initparam initparam paramname smtpPassword/paramname paramvalueMeteor1014/paramvalue /initparam initparam paramnamesmtpFrom/paramname paramvalue/paramvalue /initparam loadonstartup0/loadonstartup /servlet 驗證碼 主要 代碼 [16]: public class ValidateServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException,