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

正文內(nèi)容

基于javamail的電子郵件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(文件)

 

【正文】 設(shè)計(jì)與實(shí)現(xiàn),對(duì)數(shù)據(jù)庫(kù)進(jìn)行了細(xì)致的設(shè)計(jì):數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)。在設(shè)計(jì)中,需要?jiǎng)h除不必要的數(shù)據(jù)冗余,實(shí)現(xiàn)系統(tǒng)開(kāi)發(fā)的規(guī)范化、科學(xué)化、程序代碼標(biāo)準(zhǔn)化、統(tǒng)一化,確保軟件的可維護(hù)性和實(shí)用性,做到界面盡量簡(jiǎn)單化,做到實(shí)用、方便。在系統(tǒng)結(jié)構(gòu)上,采用三層架構(gòu)設(shè)計(jì),包括:表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層。將系統(tǒng)盡可能簡(jiǎn)單大方的展現(xiàn)給用戶。 3. 數(shù)據(jù)訪問(wèn)層:數(shù)據(jù)訪問(wèn)層主要負(fù)責(zé)數(shù)據(jù)庫(kù)操作,所有與數(shù)據(jù)庫(kù)有關(guān)的操作都交給數(shù)據(jù)訪問(wèn)層來(lái)實(shí)現(xiàn)。 圖 52 郵件系統(tǒng)功能結(jié)構(gòu)圖 用戶登錄郵件系統(tǒng)設(shè)計(jì) 1. 用戶登錄系統(tǒng),在登錄頁(yè)面輸入自己的賬號(hào)和密碼并提交。 5. 用戶在登錄界面獲得驗(yàn)證結(jié)果。 圖 53 用戶登錄系統(tǒng)序列圖 與用戶登錄電子郵件系統(tǒng)序列圖等價(jià)的協(xié)作圖如圖 54 所示。 4. 業(yè)務(wù)邏輯類再將用戶注冊(cè)的基本信息提交各數(shù)據(jù)庫(kù)訪問(wèn)類 。 7. 顯示用戶注冊(cè)是否成功的具體頁(yè)面給用戶。用戶提交的消息傳遞給業(yè)務(wù)邏輯類。 4. 如果返回成功信息,則進(jìn)入選擇找回密碼方式頁(yè)面。 6. 數(shù)據(jù)訪問(wèn)類根據(jù)用戶提交的新密碼信息檢測(cè)安全問(wèn)題答案是否正確。 9. 返回密碼重置郵件發(fā)送成功信息,向用戶展示密碼重置成功頁(yè)面。通過(guò)安全問(wèn)題找回密碼是用戶需要回答安全問(wèn)題,當(dāng)回答的問(wèn)題正確時(shí)用戶可以任意的修改自己想要的密碼。 圖 59 安全郵箱找回密碼序列圖 用戶發(fā)送電子郵件設(shè)計(jì) 1. 用戶進(jìn)入發(fā)送電子郵件界面,填寫(xiě)要發(fā)送電子郵件的內(nèi)容并提交。 4. 業(yè)務(wù)邏輯類根據(jù)返回的成功信息,返回給用戶發(fā)送成功頁(yè)面。 圖 511 用戶發(fā)送電子郵件協(xié)作圖 用戶查看電子郵件設(shè)計(jì) 1. 用戶進(jìn)入主界面,然后選擇要查看郵件的郵件箱。并返回具體的郵件信息列表。 7. 用戶選擇的郵件信息傳遞個(gè)業(yè)務(wù)邏輯 類,業(yè)務(wù)邏輯類再將該數(shù)據(jù)發(fā)送到查看電子郵件類。 根據(jù)查看電子郵件的工作流程,用戶查看電子郵件序列圖如圖 512 所示。 Spring 是配合Struts2和 Hibernate來(lái)實(shí)現(xiàn)對(duì)象的動(dòng)態(tài)注入以及 Hibernate操作數(shù)據(jù)庫(kù)時(shí)的事務(wù)操作。由于系統(tǒng)的功能模塊較多,這里只挑選一些主要功能的實(shí)現(xiàn)進(jìn)行詳細(xì)的說(shuō)明。 3. 用戶提交數(shù)據(jù)到 UserLoginAction 類中 execute 方法。 圖 515 用戶登錄成功頁(yè)面 7. 如果用戶選擇的登錄方式是兩周內(nèi)自動(dòng)登錄,那 么 UserLoginAction 類將根據(jù)用戶輸入的信息寫(xiě)入到客戶端的 Cookie 中。 2. 用戶在注冊(cè)頁(yè)面填寫(xiě)自己的詳細(xì)信息,如果用戶輸入的信息有錯(cuò)誤那么在注冊(cè)頁(yè)面會(huì)顯示相 應(yīng)的錯(cuò)誤信息。 5. 返回給用戶注冊(cè)成功與否的具體信息。用戶輸入的郵箱名稱和驗(yàn)證碼傳遞給業(yè)務(wù)邏輯類,業(yè)務(wù)邏輯類驗(yàn)證驗(yàn)證碼的正確性。在密碼找回第二步要求用戶選擇密碼找回方式。并將用戶安全問(wèn)題返回給業(yè)務(wù)邏輯類。 9. 數(shù)據(jù)訪問(wèn)類驗(yàn)證用戶提交的安全問(wèn)題答案是否正確。 11. 業(yè)務(wù)邏輯類調(diào)用 FindPasswordByEmailUtils 類產(chǎn)生一個(gè)隨機(jī)的六位字符和數(shù)字的密碼。 圖 522 通過(guò)安全郵箱找回密碼成功頁(yè)面 用戶發(fā)送電子郵件的實(shí)現(xiàn) 用戶發(fā)送電子郵件的具體實(shí)現(xiàn)如以下步驟: 1. 用戶登錄系統(tǒng)之后進(jìn)入系統(tǒng)登錄成功首頁(yè)面。 4. 要發(fā)送的電子郵件信息將會(huì)被封裝成一個(gè) MailInfoFB 對(duì)象,將該對(duì)象發(fā)送給 UserSendMailAction 類的 sendEmail 方法。 8. 如果電子郵件發(fā)送成功用戶頁(yè)面將會(huì)跳轉(zhuǎn)到郵件發(fā)送成功頁(yè)面 如圖524 所示 ,果郵件發(fā)送失敗用戶頁(yè)面將會(huì)跳轉(zhuǎn)到發(fā)送失敗頁(yè)面。 圖 526 郵件信息列表頁(yè)面 4. 當(dāng)用戶點(diǎn)擊郵件列表中的某封電子郵件的時(shí)候會(huì)觸發(fā) 動(dòng)作,并將用戶要查詢的具體郵件的 Id 信息傳遞給 。 8. 最后將封裝好的電子郵件信息對(duì)象傳遞給前臺(tái) 頁(yè)面 如圖 527 所示 ,并最終顯示給用戶。系統(tǒng)主要是通過(guò) Struts Spring、 Hibernate 的配合使用實(shí)現(xiàn)各種復(fù)雜的業(yè)務(wù)邏輯。對(duì)系統(tǒng)進(jìn)行充分的測(cè)試才能夠有效的保證軟件質(zhì)量 [17]。 本系統(tǒng)的軟件和硬件測(cè)試環(huán)境如表 61 所示: 表 61 測(cè)試環(huán)境 軟件環(huán)境(相關(guān)軟件、操作系統(tǒng)等) James 郵件服務(wù)器 MySQL數(shù)據(jù)庫(kù) Tomcat 服 務(wù)器 Windows 7 硬件環(huán)境(網(wǎng)絡(luò)、設(shè)備等) Inter i5 雙核處理器 系統(tǒng)內(nèi)存: 4G、 500GIPV4 網(wǎng)絡(luò) 功能測(cè)試 功能測(cè)試是為了確保程序以期望的方式運(yùn)行而按功能要求對(duì)軟件進(jìn)行的測(cè)試,通過(guò)對(duì)一個(gè)系統(tǒng)的所有的特性和功能都進(jìn)行測(cè)試確保符合需求和規(guī)范。 檢索信息時(shí),信息能準(zhǔn)確無(wú)誤地以窗 體的形式完全顯示出來(lái)。 測(cè)試重點(diǎn)和優(yōu)先級(jí): 測(cè)試重點(diǎn):發(fā)送和接受郵件。 完成標(biāo)準(zhǔn): 各個(gè)窗口都與基準(zhǔn)版本保持一致,或符合可接受標(biāo)準(zhǔn) 測(cè)試重點(diǎn)和優(yōu)先級(jí): 重點(diǎn)是測(cè)試界面的正確性和易用性。因此不管是在 構(gòu)思或是技術(shù)上都容易被人們接受。 電子郵件系統(tǒng)使用方便、界面簡(jiǎn)潔、操作容易,該系統(tǒng)具有良好的輸入、瀏覽、更新及查詢功能,而且在系統(tǒng)安全性、網(wǎng)絡(luò)安全性方面都有一定的控制。 在下一個(gè)計(jì)劃中將改進(jìn)以上提到的缺陷,同時(shí)也會(huì)加入自動(dòng)回復(fù)功能。 private Session session null。// 創(chuàng)建整體郵件 // 設(shè)置郵件基本信息 setMimeMessageInfo message 。 .length 0 multipart createAlternative multipart 。 // 創(chuàng)建含有附件的郵件體( mixed) if ! null amp。 multipart 。 MimeBodyPart html new MimeBodyPart 。 return multipart。 alternative 。 for String res : resources MimeBodyPart img new MimeBodyPart 。 img 。 multipart 。 return mixed。 new DataHandler fds 。 // 設(shè)置郵件具體信息 private void setMimeMessageInfo MimeMessage message throws AddressException, MessagingException, UnsupportedEncodingException if ! null amp。 if ! null amp。amp。 !.equals , encode 。 // 是否緊急 if // 指定郵件的優(yōu)先級(jí), 1:緊急, 3:普通, 5:緩慢 XPriority, 1 。// 查找所有 中文 的格式 StringBuffer sb new StringBuffer 。 。 /** * 發(fā)送指定郵件體的郵件 */ public void sendMail MimeMessage message throws AddressException, MessagingException, UnsupportedEncodingException // 發(fā)送消息 message 。 private IMAPStore store null。// 是否保存附件 private String attachmentName null。 private StringBuffer filename new StringBuffer 。 connection 。 // 打開(kāi)指定的收件夾 folderName,model 文件夾打開(kāi)模式 public IMAPFolder openFolder String folderName, int model throws MessagingException folderName。 model 。// 將郵件追加到指定的郵件夾中 return false。 messages, dest 。 // 徹底刪除郵件 public void deleteMessage String folderType, long[] uid th。// 將源郵件夾中的郵件設(shè)置為刪除 if // 關(guān)閉目標(biāo)郵件夾 true 。 IMAPFolder dest openFolder destFolder, 。 // 保存郵件到指定的收件夾中 public boolean copyMessage Message[] message, String folderName throws MessagingException openFolder folderName, 。 if model 。 store IMAPStore 。 password。// 郵件夾名稱 private String path null。 private IMAPFolder folder null。 private String username null。 /** * 發(fā)送郵件 */ public void sendMail throws AddressException, MessagingException, UnsupportedEncodingException MimeMessage message createMimeMessage 。 while sb, 2 , UTF8, B + 。 。amp。// 設(shè)置抄送人 if ! null amp。 !.equals , encode 。 !.equals new InterAddress encode 。 attachment 。 for String file : files MimeBodyPart attachment new MimeBodyPart 。 related 。 // 創(chuàng)建含有附件的郵件體( mixed) private MimeMultipart createMixed MimeMultipart multipart throws MessagingException, UnsupportedEncodingException MimeBodyPart related new MimeBodyPart 。 new DataHandler fds 。 return related。 multipart 。charset UTF8 。 return message。 .length 0 multipart createMixed multipart 。amp。 // 創(chuàng)建什么都不含的郵件體( alternative) if ! null amp。 /** 創(chuàng)建郵件 */ public MimeMessage createMimeMessage throws AddressException, MessagingException, UnsupportedEncodingException session /edu/pdsu/service/mail/, 。該功能在現(xiàn)有的郵件系統(tǒng)中并沒(méi)有實(shí)現(xiàn),如果該功能實(shí)現(xiàn)將大大提高工作效率。在數(shù)據(jù)庫(kù)的設(shè)計(jì)中有效運(yùn)用第三范式對(duì)數(shù)據(jù)庫(kù)進(jìn)行關(guān)系模型的建立和邏輯結(jié)構(gòu)的構(gòu)建。本論文主要解決了以下幾個(gè)問(wèn)題: ,深入地研究了 Struts2 + Spring + Hibernate 框架技術(shù)。在構(gòu)思上,本系統(tǒng)符合在畢業(yè)設(shè)計(jì)的基本功能和設(shè)計(jì)要求。 技術(shù): 為每個(gè)窗體創(chuàng)建或修改測(cè)試,以核實(shí)各個(gè)應(yīng)用程序窗體和對(duì)象都可正確地進(jìn)行瀏覽,并處于正常的對(duì) 象狀態(tài)。 技術(shù): 通過(guò)設(shè)計(jì)測(cè)試用例,利用有效的和無(wú)效的數(shù)據(jù)執(zhí)行各個(gè)用例來(lái)進(jìn)行測(cè)試。本系統(tǒng)功能測(cè)試表如表 62 所示: 表 62 功能測(cè)試表 測(cè)試目標(biāo) 通過(guò)測(cè)試達(dá)到以下目標(biāo): 各功能模塊都能準(zhǔn)確地顯示出信息。 軟件由數(shù)據(jù)和程序兩個(gè)最基本的要素組成,對(duì)數(shù)據(jù)進(jìn)行軟件測(cè)試,就是在檢查用戶輸入的信息、返回結(jié)果以及中間計(jì)算結(jié)果是否正確。為了盡可能地發(fā)現(xiàn)并改正系統(tǒng)設(shè)計(jì)中的錯(cuò)誤,減少錯(cuò)誤造成的損失,保證系統(tǒng)開(kāi)發(fā)的質(zhì)量。
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1