freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于javamail的電子郵件系統(tǒng)的設計與實現(xiàn)畢業(yè)論文(編輯修改稿)

2024-12-13 22:01 本頁面
 

【文章內(nèi)容簡介】 戶應完成的功能。接著對系統(tǒng)的性能和數(shù)據(jù)庫進行了需求分析,以 便于保證系統(tǒng)長期,安全,穩(wěn)定,可靠,高效的運行。 4 總體設計 要想很好的完成一個項目,數(shù)據(jù)庫的設計是整個項目設計中的關鍵,一個好的數(shù)據(jù)庫表結構能有效的管理后臺中的數(shù)據(jù),提高軟件的實用性和軟件的數(shù)據(jù)訪問效率。數(shù)據(jù)庫設計主要包括兩個方面內(nèi)容:數(shù)據(jù)庫設計與實現(xiàn)。 數(shù)據(jù)庫的設計 數(shù)據(jù)庫的設計包括兩方面的內(nèi)容,分別是數(shù)據(jù)庫的概念結構設計和數(shù)據(jù)庫的邏輯結構設計。 概念結構設計 概念結構設計的任務是將數(shù)據(jù)庫需求分析得到的用戶數(shù)據(jù)需求抽象為信息結構,是整個數(shù)據(jù)庫設計的關鍵。概念結構設計的目標是產(chǎn)生反 映信息需求的整體數(shù)據(jù)庫概念結構,即概念模式,描述概念結構的工具是 ER 圖 [15]。 從本系統(tǒng)中規(guī)劃出的實體有:用戶登錄信息、用戶基本信息。如表 41 所示。 表 41 系統(tǒng)實體型圖 用戶登陸信息實體型圖 用戶基本信息實體型圖 郵件信息實體型圖 用戶登錄信息實體包括的屬性有登錄賬號、登錄密碼、密碼加密算法、用戶權限、版本號等其實體屬性圖,其中登陸賬號為主鍵。 用戶基本信息實體包括的屬性有昵稱、性別、家庭住址、電話號碼、安全問題、安全問題答案、安全郵箱和備注其實體屬性圖,其中用戶 ID 為主鍵。 郵件信息 實體包括的屬性有信息頭字節(jié)、內(nèi)容字節(jié)、子類型、媒體類型、內(nèi)容等其實體屬性圖,其中郵件 ID 為主鍵。 通過對數(shù)據(jù)庫基本信息和用戶的基本需求進行分析可以得出系統(tǒng)的實體之間關系的 ER 圖如圖 41 所示。 圖 41 實體關系 ER 圖 邏輯結構設計 邏輯結構設計的任務是將概念結構設計階段設計好的 ER 圖轉化為對應的關系模式,從而完成邏輯結構設計,為數(shù)據(jù)庫的實現(xiàn)作準備。本系統(tǒng)的數(shù)據(jù)庫使用的是 MySQL 數(shù)據(jù)庫,建造的數(shù)據(jù)庫名稱為 。 用戶登錄關系模式 主鍵用下劃線標出 : jamesuser name, alg, enable, password, version 用戶基本信息關系模式: userinfo id, address, alias, answer, gender, mark, phoneNum, pwdEmail, question, user_id 郵件信息關系模式 : message id, bodyStartOctet, contentOctets, mediaType, subtype, content 通過對以上數(shù)據(jù)信息進行分析,郵件系統(tǒng)數(shù)據(jù)庫表的設計包括用戶登錄信息表、用戶基 本信息表。具體的數(shù)據(jù)庫表的實現(xiàn)如下。 用戶登錄信息表主要是用來存放用戶登錄所需要的基本信息的, version 是用來實現(xiàn)樂觀鎖的。使用樂觀鎖可以有效地避免臟讀、讀已提交等數(shù)據(jù)庫訪問常見問題其表結構設計如表 42 所示。 表 42 用戶登錄信息表 字段名 英文名稱 字段類型 字段大小 登錄賬號 name Varchar 255 密碼加密算法 alg Varchar 255 用戶權限 enable Bit 1 登錄密碼 password Varchar 255 版本號 version Int 11 用戶登錄信息表主要應用是在用戶登錄的時候。因為用戶賬號和密碼使用的頻率比較頻繁而且 james 郵件服務器也要使用該表,所以將用戶登錄信息表單獨抽取出來作為一張表。這樣不僅提高了數(shù)據(jù)的訪問效率同時也使得表結構變得異常簡單有利于后期的維護和升級。其中版本號是用來實現(xiàn)樂觀鎖的,有了樂觀鎖就可以有效的降低數(shù)據(jù)訪問出錯的概率。 用戶基本信息表是用來存儲用戶注冊時填寫的基本信息。有了這些信息用戶可以方便的進行找回密碼等操作。每一個用戶基本信息都對應一個用戶登錄基本信息,有了這些數(shù)據(jù)用戶信息才算完整 , 其表結構的設計如表 43 所示。 表 43 用戶基本信息表 字段名 英文名稱 字段類型 字段大小 用戶 ID id Int 11 家庭住址 address Varchar 36 昵稱 alias Varchar 50 安全問題答案 answer Varchar 30 性別 gender Varchar 5 備注 mark Varchar 255 電話號碼 phoneNum Varchar 14 安全郵箱 pwdEmail Varchar 64 安全問題 question Varchar 20 郵件信息表主要是存儲用戶接受的郵件信息內(nèi)容以及其他的信息。其表結構的設計如表 44 所示。 表 43 用戶基本信息表 字段名 英文名稱 字段類型 字段大小 信息 ID id bigInt 20 媒體類型 mediaType Varchar 255 子類型 subtype Varchar 255 信息頭字節(jié) bodyStartOctet Int 11 內(nèi)容字節(jié) contentOctets bigInt 20 內(nèi)容 content Longblob 小結 本章介紹了 數(shù)據(jù)庫的設計與實現(xiàn),對數(shù)據(jù)庫進行了細致的設計:數(shù)據(jù)庫概念結構設計和數(shù)據(jù)庫邏輯結構設計。對后期系統(tǒng)的開發(fā)提供了比較好的數(shù)據(jù)庫支持。 5 詳細設計與實現(xiàn) 系統(tǒng)體系結構設計 電子郵件系統(tǒng)的特點是信息處理量比較大,各個環(huán)節(jié)要求連接性能強。電子郵件系統(tǒng)主要是為普通用戶而設計。在設計中,需要刪除不必要的數(shù)據(jù)冗余,實現(xiàn)系統(tǒng)開發(fā)的規(guī)范化、科學化、程序代碼標準化、統(tǒng)一化,確保軟件的可維護性和實用性,做到界面盡量簡單化,做到實用、方便。系統(tǒng)的操作盡可能的簡單化。 系統(tǒng)實現(xiàn)盡量簡化頁面結構,抽象出公用模塊,以實現(xiàn)代碼復用 。另外,在頁面組織上采用模塊化設計,設計出公用的界面頭和尾,以減少代碼的冗余和提高代碼開發(fā)效率 [16]。在系統(tǒng)結構上,采用三層架構設計,包括:表現(xiàn)層、業(yè)務邏輯層和數(shù)據(jù)訪問層。三層之間的關系如圖 51 所示。 圖 51 系統(tǒng)架構圖 在三層架構中,各個層次的功能描述如下: 1. 表現(xiàn)層:表現(xiàn)層主要完成響應客戶操作和向數(shù)據(jù)訪問層發(fā)送請求。表現(xiàn)層同時應該根據(jù)用戶的具體操作顯示不同的頁面。將系統(tǒng)盡可能簡單大方的展現(xiàn)給用戶。 2. 業(yè)務邏輯層:業(yè)務邏輯層主要功能是將在用戶請求處理之后進行數(shù)據(jù)庫操作,然后將數(shù)據(jù)庫返回的數(shù)據(jù) 封裝后返回給表現(xiàn)層。這樣用戶界面層可以無需了解數(shù)據(jù)庫的結構,只要維護與業(yè)務邏輯層之間的接口即可。該架構使系統(tǒng)結構更清楚、分工更明確,有利于后期的維護和升級。 3. 數(shù)據(jù)訪問層:數(shù)據(jù)訪問層主要負責數(shù)據(jù)庫操作,所有與數(shù)據(jù)庫有關的操作都交給數(shù)據(jù)訪問層來實現(xiàn)。這樣業(yè)務邏輯層無需知道如何訪問數(shù)據(jù)庫,只需要維護與數(shù)據(jù)訪問層之間的接口就能夠順利的進行各種與數(shù)據(jù)庫有關的操作。 系統(tǒng)模塊設計 電子郵件系統(tǒng)的主要使用人員是普通用戶,通過對系統(tǒng)需求的分析可得用戶與系統(tǒng)之間的交互行為有用戶登錄系統(tǒng)、用戶找回密碼、注冊新用戶 、用戶修改個人信息、查看電子郵件、刪除電子郵件、發(fā)送電子郵件、查找電子郵件和通過高級查找精確的查找電子郵件。其系統(tǒng)功能結構圖如圖 52 所示。 圖 52 郵件系統(tǒng)功能結構圖 用戶登錄郵件系統(tǒng)設計 1. 用戶登錄系統(tǒng),在登錄頁面輸入自己的賬號和密碼并提交。 2. 系統(tǒng)將用戶提交的賬號和密碼傳遞到業(yè)務邏輯類中。 3. 業(yè)務邏輯層類再根據(jù)用戶提交的賬號訪問數(shù)據(jù)訪問類,數(shù)據(jù)訪問類再根據(jù)用戶賬號來檢測用戶身份的合法性。 4. 檢測完畢后將驗證結果返回到登錄界面上顯示。 5. 用戶在登錄界面獲得驗證結果。如果身 份驗證未通過,重新登錄或退出。否則繼續(xù)進行下一步操作。 根據(jù)基本流程,用戶登錄電子郵件系統(tǒng)的序列圖如圖 53 所示。 圖 53 用戶登錄系統(tǒng)序列圖 與用戶登錄電子郵件系統(tǒng)序列圖等價的協(xié)作圖如圖 54 所示。 圖 54 用戶登錄系統(tǒng)協(xié)作圖 注冊新用戶信息的設計 1. 用戶進入注冊界面 Form,填寫用戶基本信息并提交。 2. 系統(tǒng)將用戶提交的用戶注冊信息封裝成一個對象,并將數(shù)據(jù)提交給業(yè)務邏輯類。 3. 業(yè)務邏輯類根據(jù)用戶提交的信息判斷數(shù)據(jù)的有效性。 4. 業(yè)務邏輯類再將用戶注冊的基本信息提交各數(shù)據(jù)庫訪問類 。 5. 數(shù)據(jù)庫訪問類訪問數(shù)據(jù)庫將用戶基本信息存入到數(shù)據(jù)庫中。并返回成功信息給業(yè)務邏輯類。 6. 業(yè)務邏輯類根據(jù)數(shù)據(jù)訪問類返回的信息跳轉到相應的頁面。 7. 顯示用戶注冊是否成功的具體頁面給用戶。 根據(jù)基本流程,注冊新用戶序列圖如圖 55 所示。 圖 55 注冊新用戶序列圖 與注冊新用戶序列圖等價的協(xié)作圖如圖 56 所示。 圖 56 注冊新用戶協(xié)作圖 用戶找回密碼信息設計 1. 用戶進入找回密碼界面,輸入找回密碼信息并提交。用戶提交的消息傳遞給業(yè)務邏輯類。 2. 業(yè)務邏輯類訪問數(shù)據(jù)訪問類檢測用戶輸入信息 。數(shù)據(jù)訪問類通過訪問數(shù)據(jù)庫檢測用戶輸入的信息是否有效。 3. 如果用戶輸入的信息有效則進入下一步操作,否者返回失敗信息。 4. 如果返回成功信息,則進入選擇找回密碼方式頁面。如果用戶選擇通過回答安全問題找回密碼,則進入安全問題回答頁面。 5. 在安全問題頁面用戶輸入新密碼和安全問題答案并提交。將用戶提交的新密碼信息提交給業(yè)務邏輯類,業(yè)務邏輯類再將信息傳遞個數(shù)據(jù)訪問類。 6. 數(shù)據(jù)訪問類根據(jù)用戶提交的新密碼信息檢測安全問題答案是否正確。安全問題答案正確,則根據(jù)用戶提交的新密碼信息修改用戶登錄密碼。 7. 安全 問題答案錯誤,則返回錯誤信息給業(yè)務邏輯類,業(yè)務邏輯類將顯示錯誤頁面給用戶。 8. 如果用戶選擇的是通過安全郵箱找回密碼,則直接在業(yè)務邏輯類中向用戶安全問題郵箱發(fā)送密碼重置電子郵件。 9. 返回密碼重置郵件發(fā)送成功信息,向用戶展示密碼重置成功頁面。 根據(jù)基本流程,用戶找回密碼用戶可以分為三步,第一步檢測要找回密碼的用戶賬號是否郵箱,第二步選擇找回密碼方式,第三步根據(jù)選擇的密碼找回方式重置用戶登錄密碼。用戶找回密碼用戶名檢測序列圖如圖 57 所示。 圖 57 用戶找回密碼用戶名檢測序列圖 用戶找回密碼可以有兩種方 式,第一種是通一過安全問題找回密碼,第二種是通過安全郵箱找回密碼。通過安全問題找回密碼是用戶需要回答安全問題,當回答的問題正確時用戶可以任意的修改自己想要的密碼。但通過安全郵箱找回密碼密碼是通過系統(tǒng)隨機生成的六位的字母和數(shù)字的密碼。通過安全問題找回密碼序列圖如圖 58 所示。 圖 58 安全問題找回密碼序列圖 通過安全郵箱找回密碼序列圖如圖 59 所示。 圖 59 安全郵箱找回密碼序列圖 用戶發(fā)送電子郵件設計 1. 用戶進入發(fā)送電子郵件界面,填寫要發(fā)送電子郵件的內(nèi)容并提交。 2. 業(yè)務邏輯類根據(jù)用戶 提交的信息判斷是否需要發(fā)送附件,如果需要發(fā)送附件則將附件添加到電子郵件中。 3. 業(yè)務邏輯類調(diào)用發(fā)送郵件類發(fā)送電子郵件。當電子郵件發(fā)送完畢之后返回給業(yè)務邏輯類發(fā)送成功信息。 4. 業(yè)務邏輯類根據(jù)返回的成功信息,返回給用戶發(fā)送成功頁面。 5. 對于需要發(fā)送帶附件的電子郵件時,電子郵件的附件需要先上傳到電子郵件服務器,然后從電子郵件服務器上加載附件到郵件中。 根據(jù)基本流程,用戶發(fā)送電子郵件序列圖如圖 510 所示。 圖 510 用戶發(fā)送電子郵件序列圖 與用戶發(fā)送電子郵件序列圖對應的協(xié)作圖如圖 511 所示。 圖 511 用戶發(fā)送電子郵件協(xié)作圖 用戶查看電子郵件設計 1. 用戶進入主界面,然后選擇要查看郵件的郵件箱。系統(tǒng)根據(jù)用戶選擇的郵件箱加載該郵件箱中的所有電子郵件。 2. 業(yè)務邏輯類根據(jù)用戶提交的信息訪問數(shù)據(jù)訪問類。 3. 數(shù)據(jù)訪問類根據(jù)用戶要查詢的郵件夾信息加載該郵件夾中的具體信息。并返回具體的郵件信息列表。 4. 業(yè)務邏輯類根據(jù)數(shù)據(jù)訪問類返回的信息返回郵件列表信息。 5. 向用戶發(fā)送郵件列表信息頁面。 6. 用戶在郵件信息列表頁面中點擊要查看的郵件的具體信息。 7. 用戶選擇的郵件信息傳遞個業(yè)務邏輯 類,業(yè)務邏輯類再將該數(shù)據(jù)發(fā)送到查看電子郵件類。 8. 電子郵件類返回該郵件的具體信息給業(yè)務邏輯類。 9. 業(yè)務邏輯類再將電子郵件的具體信息返回給郵件顯示頁面。 10. 發(fā)送郵件顯示頁面給用戶。 根據(jù)查看電子郵件的工作流程,用戶查看電子郵件序列圖如圖 512 所示。 圖 512 用戶查看電子郵件序列圖 與用戶查看電子郵件序列圖相對應的協(xié)作圖如圖 513 所示。 圖 513 用戶查看電子郵件協(xié)作圖 系統(tǒng)模塊的實現(xiàn) 電子郵件系統(tǒng)的具體實現(xiàn)是采用 Struts2 + Spring + Hibernate 來實現(xiàn)的。其中 Struts2主要負責用戶提交數(shù)據(jù)的處理以及數(shù)據(jù)處理完成之后用戶 Jsp頁面之間的跳轉, Hibernate 主要負責用戶與數(shù)據(jù)庫的各項操作。 Spring 是配合Struts2和 Hibernate來實現(xiàn)對象的動態(tài)注入以及 Hibernate操作數(shù)據(jù)庫時的事務操作。另外本系統(tǒng)還采用 Spring 來實現(xiàn)記錄系統(tǒng)運行的日志信息。 在前臺頁面采用了 jQuery 腳本庫來實現(xiàn)網(wǎng)頁的動態(tài)效果,以及前臺 Jsp 頁面與后臺服務器的動態(tài)交互。因為 jQuery 的跨瀏覽器性,所以采用 jQuery 開 發(fā)的 Jsp 頁面動態(tài)效果也具有跨瀏覽器性。
點擊復制文檔內(nèi)容
黨政相關相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1