客户端的设计毕业设计论文.docx

上传人:b****5 文档编号:8067089 上传时间:2023-01-28 格式:DOCX 页数:32 大小:240.73KB
下载 相关 举报
客户端的设计毕业设计论文.docx_第1页
第1页 / 共32页
客户端的设计毕业设计论文.docx_第2页
第2页 / 共32页
客户端的设计毕业设计论文.docx_第3页
第3页 / 共32页
客户端的设计毕业设计论文.docx_第4页
第4页 / 共32页
客户端的设计毕业设计论文.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

客户端的设计毕业设计论文.docx

《客户端的设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《客户端的设计毕业设计论文.docx(32页珍藏版)》请在冰豆网上搜索。

客户端的设计毕业设计论文.docx

客户端的设计毕业设计论文

EMAIL客户端(JavaGUI)

姓名

学号

年级

专业计算机科学与技术

系(院)

指导教师

摘要

本系统是用java语言实现的一个Email客户端,主要用到javaGUI图形界面设计和javamail工具包,它适用于所有用户,无管理员设置,可以实现网络邮箱的邮件发送和邮件收取的基本功能,还具有通讯录的存储功能,针对用户的需求,本Email客户端具有以下两大模块:

1.基本设置模块;

此模块主要包括用户设置和邮箱设置两大内容:

1.1用户设置:

主要设置用户的一些基本信息,如用户名,用户密码等设置

1.2邮箱设置:

主要设置邮箱服务器,SMTP,POP3等

2.Email功能模块;

此模块根据大众用户的需求划分了以下三个部分:

2.1收取邮件功能;

2.2发送邮件功能;

2.3通讯录功能;

该系统的开发过程为:

1.Email客户端的需求分析;

2.Email客户端的系统分析;

3.Email客户端的功能模块划分划分;

4.Email客户端的数据库设计;

5.Email客户端的界面设计;

6.Email客户端的功能模块设计及代码实现

关键字:

java,javaGUI,javamail

Abstract

ThisemailclientsystemisdevelopedinjavalanguageusingjavaGUIandjavamailtools.Itcanbeusedbyanyuserswhowanttouseit.Thesystemisnotincludingmanagersettingsanditcanfinishthefunctionofsendingandacceptingmailsinwebmailsystem,itcanstoreuserinformationafunctionlikeaaddressbookintheweb.Thesystemsneedtoachievetheoverallfunctiontoruntwoparts,asfollows

1.Thebasicsettings

Twopartsarefollowed:

1.1MaintenanceSystemAdministratorsbasicinformation;

1.2Studentresponsefunctions;

2.Emailfunctions

Threefunctionwillbeavailable

2.1Sendingmails

2.2Receivingmails

2.3Addressbook

Thesystemdevelopmentprocess:

1.Emailclientneedsanalysis;

2.Emailclientsystemanalysis;

3.Emailclientfunctionmodulespartition;

4.Emailclientdesign;

5.Emailclientinterfacedesign;

6.Emailclientfunctionaldesignandcodemodulestoachieve

Keyword:

java,javaGUI,javamail

前言

邮件系统是一套单独的系统,要有自己的服务器,在邮件系统中可以设多个域,每个域中可以设多个用户,比如说我买了anymacro或快客的邮件系统,可以进行多项设置.它的数据是放在自己的服务器上.

随着信息技术的提高,网络的普及于发展,越来越多的网络工具随之产生出来,网络邮箱就是其中之一,它可以通过网络来实现人们之间的通信,可以给人们的工作带来极大的方便,同时也缩短了人与人之间的距离,使人们在通信上需要花费的时间更短。

该Email客户端不仅仅具有网络邮箱的功能,它可以让用户绑定多个邮箱,可以说是多个网络邮箱的公共接口,不进方便了人们的工作,还做到了有效利用网络的信息资源,极大的提高人们的工作效率,减少了很多的工作量。

因此它应该是能够得到用户欢迎的一个系统。

第1章系统概述及系统分析

1.1系统概述

随着信息技术的提高,网络的普及于发展,越来越多的网络工具随之产生出来,网络邮箱就是其中之一,它可以通过网络来实现人们之间的通信,可以给人们的工作带来极大的方便,同时也缩短了人与人之间的距离,使人们在通信上需要花费的时间更短。

该Email客户端不仅仅具有网络邮箱的功能,它可以让用户绑定多个邮箱,可以说是多个网络邮箱的公共接口,不进方便了人们的工作,还做到了有效利用网络的信息资源,极大的提高人们的工作效率,减少了很多的工作量。

该系统的功能模块主要由以下部分组成:

1.1.1基本设置模块

该模块可以完成此用户设置和邮箱设置两大内容,其中用户设置可以完成用户的一些基本信息的设置,包括用户名、用户密码、联系方式、邮政编码、通讯地址、邮箱地址,并可以对其进行存储、浏览、查看、删除、修改、打印等操作。

邮箱设置可以完成对所使用邮箱的邮箱服务器、SMTP、POP3的一些设置,也可以对这些设置进行存储、浏览、查看、删除、修改等操作。

1.1.2Email功能模块

该模块可以完成网络邮箱的收取邮件、发送邮件、保存邮件的功能,并可以对这些邮件进行存储、转发、群发、浏览、删除、修改、打印等操作。

此模块还具有通讯录的功能,可以存储其他网络邮箱用户的用户名和邮箱地址进行存储、修改等功能。

1.2需求分析

Email客户端的设计目的是要为了实现网络邮箱的邮件发送和收取的以些功能。

为使用邮箱的用户提供便利。

系统所面对的用户可以是任何普通用户,系统对于一个用户只允许以一种身份登录。

用户登录后可以对系统进行管理,其主要操作是维护个人的基本信息,对其信息进行修改、存储等操作。

将系统需求加以总结,得出系统需求如下:

●系统可以运行任何操作系统平台上,并具有友好的用户界面。

●系统用户类型为:

任何普通用户。

1.3可行性分析

1.3.1技术可行性分析

Java很有雄心的宣言--"write once, run anywhere"许诺:

一个具有下拉菜单,命令按钮,滚动条以及其他常见的GUI控件的应用程序将能够在各种操作系统上运行而不必重新编译成针对某一平台的二进制代码,包括Microsoft Windows, Sun’s own Solaris, Apple’s Mac OS以及Linux。

1.3.2环境可行性分析

Java很有雄心的宣言--"write once, run anywhere"许诺:

一个具有下拉菜单,命令按钮,滚动条以及其他常见的GUI控件的应用程序将能够在各种操作系统上运行而不必重新编译成针对某一平台的二进制代码,包括Microsoft Windows, Sun’s own Solaris, Apple’s Mac OS以及Linux。

也就是说本系统可以跨平台使用.

1.3.3经济可行性分析

开发此系统所用软件可在网络上下载使用。

第2章系统开发基本介绍

2.1选题背景与目的

随着信息技术的提高,网络的普及于发展,越来越多的网络工具随之产生出来,网络邮箱就是其中之一,它可以通过网络来实现人们之间的通信,可以给人们的工作带来极大的方便,同时也缩短了人与人之间的距离,使人们在通信上需要花费的时间更短。

该Email客户端不仅仅具有网络邮箱的功能,它可以让用户绑定多个邮箱,可以说是多个网络邮箱的公共接口,不进方便了人们的工作,还做到了有效利用网络的信息资源,极大的提高人们的工作效率,减少了很多的工作量。

正是因为该系统所具有的这些优点才开发了此系统。

2.2系统开发工具

本系统在开发过程中使用javaGUI和java中javamail工具包实现了email的收发和一些基本的管理功能。

2.3系统开发环境

在软件环境方面,系统的开发环境如下:

操作系统:

SuseLinux;

开发平台:

java;

2.4开发技术概述

2.4.1J2EE概述

J2EE是美国Sun公司刚刚推出的一种全新概念的模型,与传统的互联网应用程序模型相比有着不可比拟的优势。

目前,Java2平台有3个版本,它们是适用于小型设备和智能卡的Java2平台Micro版(Java2PlatformMicroEdition,J2ME)、适用于桌面系统的Java2平台标准版(Java2PlatformStandardEdition,J2SE)、适用于创建服务器应用程序和服务的Java2平台企业版(Java2PlatformEnterpriseEdition,J2EE)。

J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。

J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的JDBC(JavaDataBaseConnectivity)应用程序接口(API,ApplicationProgramInterface)技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技术的全面支持。

其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。

2.4.2JavaGUI

当Java在1995年的春天第一次发布的时候,它包含了一个叫AWT(Abstract Windowing Toolkit)的库,用来构建图形用户界面应用程序。

Java很有雄心的宣言--"write once, run anywhere"许诺:

一个具有下拉菜单,命令按钮,滚动条以及其他常见的GUI控件的应用程序将能够在各种操作系统上运行而不必重新编译成针对某一平台的二进制代码,包括Microsoft Windows, Sun’s own Solaris, Apple’s Mac OS以及Linux。

为了方便用Java构建图形用户界面,Sun最初提供了一个在所有平台下具有的独特Java外观的图形界面库。

Sun在applet技术策略方面的首要伙伴Netscape提出applets应该维持和运行时平台一样的外观。

他们希望applets在某一平台下在显示和行为上能够像其他应用程序一样。

为了实现Netscape的"本地外观"的目标,在JDK的第一个发布版中包含了AWT这个库。

AWT的缺省实现使用了"对等"机制,即每一个Java GUI窗口部件都在底层的窗口系统中有一个对应的组件。

例如,每一个java.awt.Button对象将在底层窗口系统中创建一个唯一对应的button。

当用户点击那个按钮的时候,事件将从本地实现库传送到Java虚拟机里,并且最终传送到与java.awt.Button对象相关联的逻辑。

对等系统的实现以及Java组件与对等组件之间的交流的实现都隐藏在底层JVM实现中,Java语言级的代码仍然跨平台。

于1997年JavaOne大会上提出并在1998年5月发布的JFC(Java Foundation Classes)包含了一个新的使用Java窗口开发包。

这个新的GUI组件叫做Swing,感觉到它是对AWT的升级,并且看起来对Java占据计算机世界很有帮助。

尽管"Swing"仅仅是这个新组件的指代名称,它一直持续使用到今天。

可能是因为这个名称太贴切了,Swing尝试着以以下几种方式改变公认的观点:

AWT依赖对等架构,用Java代码包装本地窗口部件,Swing却根本不使用本地代码和本地窗口部件AWT把绘制屏幕交给本地窗口部件,Swing自己的组件绘制自己,因为Swing不依赖本地窗口部件,它可以抛弃AWT的最小公分母的方法并在每个平台下实现每个窗口部件,从而创建一个比AWT更强大的开发工具包

从最开始Java就提供了构建跨平台的窗口GUI应用程序库,从AWT,Swing到现在的SWT和JFace。

最初的工具包能力微弱,但是后来提供的工具包认识到之前工具包的缺点并取得了巨大的进步。

SWT和JFace不仅使Java成为一个构建桌面应用程序的可行的选择,也使之成为一个具有优势的开发平台。

尽管过去对得到轻便和强大的Java系统的尝试必然意味着接受它在GUI方面的缺点,如今这个不足已经不存在了,Java终于可以统领它在桌面计算应用方面的位置了。

2.4.3Javamail

想将邮件工具结合到您独立于平台的Java解决方案中吗?

再没有比JavaMailAPI更合适的了,它提供了个独立于协议的模块,能用于IMAP、POP、SMTP、MIME和其它涉及因特网的消息传递协议。

现在,有了JavaBeansActivationFramework(JAF)的支持,您的应用程序经由JavaMailAPI就能启用邮件功能啦。

第3章系统总体设计

3.1系统功能模块划分

模块分析是描述系统需求的一个过程,需要将需求分析中的感性描述进行抽象,提取出要实现的功能,这是整个系统开发的一个关键过程。

模块分析的第一步,是描述Email客户端的功能,以此确定系统的功能需求。

本Email客户端对任何一个用户都是普通用户,无管理员设置,对每一个用户都具有普通邮箱所具有的收取、发送邮件的功能,因此根据用户操作需求,将系统划分为如下功能,并对其模块的划分和功能进行描述.整个系统的模块结构如图3.1所示,此图将Email客户端划分为三大模块,这些模块又是由若干个子模块构成的,形成一个结构紧凑功能明确完整,子模块的划分见3.2系统具体功能模块的基本介绍。

Email客户端

收件箱

发件箱

通讯录

图3.1

3.2系统具体功能模块基本介绍

本部分主要介绍Email客户端的一些基本功能,主要描述了收件箱、发件箱、和通讯录所具有的功能,详细设计见第4章内容。

3.2.1发件箱

发件箱可以通过用户设置发送用户所需要的邮件信息,本页面可以实现查看已保存邮件信息、重发已发邮件、转发所收邮件、邮件标记、编辑邮件、新建邮件、删除邮件和打印邮件、发送,抄送、密送、发送附件、存储邮件、未存储提示等功能,具体功能图如图3.2.1

发件箱

发送已存邮件

查看保存邮件

新建邮件

重发邮件

打印邮件

删除邮件

存储邮件

编辑邮件

图3.2.1

3.2.2收件箱

收件箱可以通过用户设置收取用户所需要的邮件信息,本页面可以实现查看所收取的邮件信息、转发邮件、群发邮件、邮件标记(标记已读和未读)、编辑和存储邮件、删除邮件和打印邮件等功能,具体功能图如图3.2.2

收件箱

查看邮件

转发邮件

转发邮件

邮件标记

打印邮件

删除邮件

存储邮件

编辑邮件

图3.2.2

3.2.3通讯录

通讯录可以存储用户的好友信息,可以方便用户完成对邮件信息的发送,尤其是转发和群组发送功能,通讯录的存在在很大程度上方便了使用系统的用户。

本通讯录可以实现查看好友、增加好友、删除好友、编辑好友信息、删除好友信息等功能,本系统还可以建立多个通讯录,每个通讯录都可以对所存用户进行分组,以便方便邮件的发送,存储通讯录的文件还可以转存,即修改当前通讯录的存放位置,其基本功能图如图3.2.3

通讯录

编辑通讯录文件

增加新通讯录

编辑好友信息

查看好友

增加好有

删除好友

删除好友

删除通讯录

图3.2.3

第4章系统详细设计及系统实现

4.1章节内容总体介绍

系统分析完成后,进入系统的设计阶段这是整个系统实现过程中非常重要的一个阶段。

本章节描述了系统设计的详细过程和内容及实现过程。

4.2各模块功能详细设计

4.2.1发送邮件功能的实现

4.2.1.1发送普通邮件功能

实现此功能需要引入javamail工具包中的以下包

importjavax.mail.*;

importjavax.mail.internet.*;

构造sendMail类的主要代码如下

publicclasssendMail{

privateStringSMTP,mailFrom,mailTo,mailCC,mailTitle,mailBody,mailEncode;

privateStringuserName,userPass;

privateObject[]attachFileList;

privatebooleanisAuthentic=false;

publicsendMail(){

//初始化参数代码段

this.SMTP="";

this.mailFrom="";

this.mailTo="";

this.mailCC="";

this.mailTitle="";

this.mailBody="";

this.mailEncode="BIG5";

}

//为用户提供参数设置接口

//在本系统中通过以下方法实现对用户写入的信息加以传递

publicvoidsetFrom(Stringfrom){this.mailFrom=from;}

publicvoidsetTo(Stringto){this.mailTo=to;}

publicvoidsetCC(Stringcc){this.mailCC=cc;}

publicvoidsetBody(Stringbody){this.mailBody=body;}

publicvoidsetTitle(Stringtitle){this.mailTitle=title;}

publicvoidsetSMTP(Stringsmtp){this.SMTP=smtp;}

publicvoidsetUserName(StringuserName){this.userName=userName;}

publicvoidsetPassword(Stringpass){this.userPass=pass;}

publicvoidsetAttachFile(Object[]fileListAry){

this.attachFileList=fileListAry;

}

//设置文字编码代码如下

publicvoidsetEncode(Stringencode){this.mailEncode=encode;

publicintsend(booleanhasSMTPAuth){

this.isAuthentic=hasSMTPAuth;//检查参数是否安全

if(!

checkParameters(isAuthentic)){

return1;

}else{

Propertiesprop=newProperties();//设定SMTPServer

prop.put("mail.smtp.host",this.SMTP);

SessionmailConn=Session.getDefaultInstance(prop,null);

Messagemsg=newMimeMessage(mailConn);

try{

msg.setHeader("Content-Transfer-Encoding",this.mailEncode);

reEncode();

//设置邮件的地址和邮件的编码

msg.setFrom(newInternetAddress(this.mailFrom));

//Setrecievere-mailaddressandnickname

msg.setRecipient(Message.RecipientType.TO,

newInternetAddress(this.mailTo));

if(this.mailCC.trim().length()!

=0){

msg.setRecipient(Message.RecipientType.CC,

newInternetAddress(this.mailCC));

}

//设定信件标题

if(this.mailTitle.trim().length()==0){

msg.setSubject("[无标题信件]");

}else{

msg.setSubject(this.mailTitle);

}

Multipartmp=newMimeMultipart();

MimeBodyPartmbpBody=newMimeBodyPart();

mbpBody.setContent(this.mailBody+this.mailEncode);

MimeBodyPartmbpFile;

for(inti=0;i

StringfullPath=this.toBIG5(attachFileList[i].toString());

mbpFile=newMimeBodyPart();

FileDataSourcefds=newFileDataSource(fullPath);

mbpFile.setDataHandler(newDataHandler(fds));

mbpFile.setFileName(fds.getName());

mp.addBodyPart(mbpFile);

}

mp.addBodyPart(mbpBody);//將內容加入

msg.setContent(mp);

if(isAuthentic){//送信

prop.put("mail.smtp.auth",isAuthentic);

Transporttrans=mailConn.getTransport("smtp");

try{

trans.connect(this.SMTP,this.userName,this.userPass);

trans.sendMessage(msg,msg.getAllRecipients());

return0;

}catch(Exceptionex){

ex.printStackTrace();

return2;

}finally{

trans.close();

}

}else{

try{

Transport.send(msg);

return0;

}catch(SendFailedExceptionex){

System.out.println(ex.toString());

return3;

}

}

}catch(Exceptionex){

ex.printStackTrace();

retu

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1