ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:240.73KB ,
资源ID:8067089      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8067089.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(客户端的设计毕业设计论文.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、客户端的设计毕业设计论文E M A I L客 户 端 ( Java GUI )姓 名学 号年 级专 业计算机科学与技术系(院)指导教师摘要本系统是用java语言实现的一个Email客户端,主要用到 java GUI图形界面设计和javamail工具包,它适用于所有用户,无管理员设置,可以实现网络邮箱的邮件发送和邮件收取的基本功能,还具有通讯录的存储功能,针对用户的需求,本Email客户端具有以下两大模块:1基本设置模块;此模块主要包括用户设置和邮箱设置两大内容:1.1 用户设置:主要设置用户的一些基本信息,如用户名,用户密码等设置1.2 邮箱设置:主要设置邮箱服务器,SMTP,POP3等2.

2、Email功能模块;此模块根据大众用户的需求划分了以下三个部分:2.1收取邮件功能;2.2发送邮件功能;2.3通讯录功能;该系统的开发过程为:1.Email客户端的需求分析;2.Email客户端的系统分析;3.Email客户端的功能模块划分划分;4.Email客户端的数据库设计;5.Email客户端的界面设计;6.Email客户端的功能模块设计及代码实现关键字:java,java GUI,java mailAbstractThis email client system is developed in java language using java GUI and java mail too

3、ls .It can be used by any users who want to use it.The system is not including manager settings and it can finish the function of sending and accepting mails in web mail system, it can store user information a function like a addressbook in the web.The systems need to achieve the overall function to

4、 run two parts, as follows1.The basic settingsTwo parts are followed:1.1 Maintenance System Administrators basic information; 1.2 Student response functions; 2.Email functionsThree function will be available2.1 Sending mails2.2 Receiving mails2.3 Address bookThe system development process : 1. Email

5、 client needs analysis; 2. Email clientsystem analysis; 3. Email client function modules partition; 4. Email client design; 5. Email client interface design; 6. Email clientfunctional design and code modules to achieve Key word:java,java GUI,java mail前 言邮件系统是一套单独的系统,要有自己的服务器,在邮件系统中可以设多个域,每个域中可以设多个用户

6、,比如说我买了anymacro或快客的邮件系统,可以进行多项设置.它的数据是放在自己的服务器上.随着信息技术的提高,网络的普及于发展,越来越多的网络工具随之产生出来,网络邮箱就是其中之一,它可以通过网络来实现人们之间的通信,可以给人们的工作带来极大的方便,同时也缩短了人与人之间的距离,使人们在通信上需要花费的时间更短。该Email客户端不仅仅具有网络邮箱的功能,它可以让用户绑定多个邮箱,可以说是多个网络邮箱的公共接口,不进方便了人们的工作,还做到了有效利用网络的信息资源,极大的提高人们的工作效率,减少了很多的工作量。因此它应该是能够得到用户欢迎的一个系统。第1章 系统概述及系统分析1.1系统概

7、述随着信息技术的提高,网络的普及于发展,越来越多的网络工具随之产生出来,网络邮箱就是其中之一,它可以通过网络来实现人们之间的通信,可以给人们的工作带来极大的方便,同时也缩短了人与人之间的距离,使人们在通信上需要花费的时间更短。该Email客户端不仅仅具有网络邮箱的功能,它可以让用户绑定多个邮箱,可以说是多个网络邮箱的公共接口,不进方便了人们的工作,还做到了有效利用网络的信息资源,极大的提高人们的工作效率,减少了很多的工作量。该系统的功能模块主要由以下部分组成:1.1.1基本设置模块该模块可以完成此用户设置和邮箱设置两大内容,其中用户设置可以完成用户的一些基本信息的设置,包括用户名、用户密码、联

8、系方式、邮政编码、通讯地址、邮箱地址,并可以对其进行存储、浏览、查看、删除、修改、打印等操作。邮箱设置可以完成对所使用邮箱的邮箱服务器、SMTP、POP3的一些设置,也可以对这些设置进行存储、浏览、查看、删除、修改等操作。1.1.2 Email功能模块该模块可以完成网络邮箱的收取邮件、发送邮件、保存邮件的功能,并可以对这些邮件进行存储、转发、群发、浏览、删除、修改、打印等操作。此模块还具有通讯录的功能,可以存储其他网络邮箱用户的用户名和邮箱地址进行存储、修改等功能。1.2需求分析Email客户端的设计目的是要为了实现网络邮箱的邮件发送和收取的以些功能。为使用邮箱的用户提供便利。系统所面对的用户

9、可以是任何普通用户,系统对于一个用户只允许以一种身份登录。用户登录后可以对系统进行管理,其主要操作是维护个人的基本信息,对其信息进行修改、存储等操作。将系统需求加以总结,得出系统需求如下: 系统可以运行任何操作系统平台上,并具有友好的用户界面。 系统用户类型为:任何普通用户。1.3 可行性分析1.3.1技术可行性分析Java很有雄心的宣言writeonce,runanywhere许诺:一个具有下拉菜单,命令按钮,滚动条以及其他常见的GUI控件的应用程序将能够在各种操作系统上运行而不必重新编译成针对某一平台的二进制代码,包括MicrosoftWindows,SunsownSolaris,Appl

10、esMacOS以及Linux。1.3.2环境可行性分析Java很有雄心的宣言writeonce,runanywhere许诺:一个具有下拉菜单,命令按钮,滚动条以及其他常见的GUI控件的应用程序将能够在各种操作系统上运行而不必重新编译成针对某一平台的二进制代码,包括MicrosoftWindows,SunsownSolaris,ApplesMacOS以及Linux。也就是说本系统可以跨平台使用.1.3.3经济可行性分析开发此系统所用软件可在网络上下载使用。第2章系统开发基本介绍2.1 选题背景与目的随着信息技术的提高,网络的普及于发展,越来越多的网络工具随之产生出来,网络邮箱就是其中之一,它可以

11、通过网络来实现人们之间的通信,可以给人们的工作带来极大的方便,同时也缩短了人与人之间的距离,使人们在通信上需要花费的时间更短。该Email客户端不仅仅具有网络邮箱的功能,它可以让用户绑定多个邮箱,可以说是多个网络邮箱的公共接口,不进方便了人们的工作,还做到了有效利用网络的信息资源,极大的提高人们的工作效率,减少了很多的工作量。正是因为该系统所具有的这些优点才开发了此系统。2.2 系统开发工具本系统在开发过程中使用javaGUI和java中javamail工具包实现了email的收发和一些基本的管理功能。2 .3 系统开发环境在软件环境方面,系统的开发环境如下:操作系统:Suse Linux;开

12、发平台:java;2.4开发技术概述2.4.1 J2EE概述J2EE是美国Sun公司刚刚推出的一种全新概念的模型,与传统的互联网应用程序模型相比有着不可比拟的优势。目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition,J2SE)、适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform Enterprise Edition,J2EE)。J2EE是一种

13、利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的JDBC(Java DataBase Connectivity)应用程序接口(API, Application Program Interface)技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技

14、术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。2.4.2Java GUI当Java在1995年的春天第一次发布的时候,它包含了一个叫AWT(AbstractWindowingToolkit)的库,用来构建图形用户界面应用程序。Java很有雄心的宣言writeonce,runanywhere许诺:一个具有下拉菜单,命令按钮,滚动条以及其他常见的GUI控件的应用程序将能够在各种操作系统上运行而不必重新编译成针对某一平台的二进制代码,包括MicrosoftWindows,SunsownSolaris,ApplesMacOS以及Linux。为了方便用Java构建图

15、形用户界面,Sun最初提供了一个在所有平台下具有的独特Java外观的图形界面库。Sun在applet技术策略方面的首要伙伴Netscape提出applets应该维持和运行时平台一样的外观。他们希望applets在某一平台下在显示和行为上能够像其他应用程序一样。为了实现Netscape的本地外观的目标,在JDK的第一个发布版中包含了AWT这个库。AWT的缺省实现使用了对等机制,即每一个JavaGUI窗口部件都在底层的窗口系统中有一个对应的组件。例如,每一个java.awt.Button对象将在底层窗口系统中创建一个唯一对应的button。当用户点击那个按钮的时候,事件将从本地实现库传送到Java

16、虚拟机里,并且最终传送到与java.awt.Button对象相关联的逻辑。对等系统的实现以及Java组件与对等组件之间的交流的实现都隐藏在底层JVM实现中,Java语言级的代码仍然跨平台。于1997年JavaOne大会上提出并在1998年5月发布的JFC(JavaFoundationClasses)包含了一个新的使用Java窗口开发包。这个新的GUI组件叫做Swing,感觉到它是对AWT的升级,并且看起来对Java占据计算机世界很有帮助。尽管Swing仅仅是这个新组件的指代名称,它一直持续使用到今天。可能是因为这个名称太贴切了,Swing尝试着以以下几种方式改变公认的观点:AWT依赖对等架构,

17、用Java代码包装本地窗口部件,Swing却根本不使用本地代码和本地窗口部件AWT把绘制屏幕交给本地窗口部件,Swing自己的组件绘制自己,因为Swing不依赖本地窗口部件,它可以抛弃AWT的最小公分母的方法并在每个平台下实现每个窗口部件,从而创建一个比AWT更强大的开发工具包从最开始Java就提供了构建跨平台的窗口GUI应用程序库,从AWT,Swing到现在的SWT和JFace。最初的工具包能力微弱,但是后来提供的工具包认识到之前工具包的缺点并取得了巨大的进步。SWT和JFace不仅使Java成为一个构建桌面应用程序的可行的选择,也使之成为一个具有优势的开发平台。尽管过去对得到轻便和强大的J

18、ava系统的尝试必然意味着接受它在GUI方面的缺点,如今这个不足已经不存在了,Java终于可以统领它在桌面计算应用方面的位置了。2 .4.3Java mail想将邮件工具结合到您独立于平台的 Java 解决方案中吗?再没有比 JavaMail API 更合适的了,它提供了个独立于协议的模块,能用于 IMAP、POP、SMTP、MIME 和其它涉及因特网的消息传递协议。现在,有了 JavaBeans Activation Framework (JAF)的支持,您的应用程序经由 JavaMail API 就能启用邮件功能啦。第3章系统总体设计3.1 系统功能模块划分模块分析是描述系统需求的一个过程

19、,需要将需求分析中的感性描述进行抽象,提取出要实现的功能,这是整个系统开发的一个关键过程。模块分析的第一步,是描述Email客户端的功能,以此确定系统的功能需求。本Email 客户端对任何一个用户都是普通用户,无管理员设置,对每一个用户都具有普通邮箱所具有的收取、发送邮件的功能,因此根据用户操作需求,将系统划分为如下功能,并对其模块的划分和功能进行描述.整个系统的模块结构如图3.1所示,此图将Email客户端划分为三大模块,这些模块又是由若干个子模块构成的,形成一个结构紧凑功能明确完整,子模块的划分见3.2 系统具体功能模块的基本介绍。 Email客户端收件箱发件箱通讯录图3.13 .2系统具

20、体功能模块基本介绍本部分主要介绍Email客户端的一些基本功能,主要描述了收件箱、发件箱、和通讯录所具有的功能,详细设计见第4章内容。3 .2.1发件箱发件箱可以通过用户设置发送用户所需要的邮件信息,本页面可以实现查看已保存邮件信息、重发已发邮件、转发所收邮件、邮件标记、编辑邮件、新建邮件、删除邮件和打印邮件、发送,抄送、密送、发送附件、存储邮件、未存储提示等功能,具体功能图如图3.2.1发件箱发送已存邮件查看保存邮件新建邮件重发邮件打印邮件删除邮件存储邮件编辑邮件图3.2.13 .2.2收件箱收件箱可以通过用户设置收取用户所需要的邮件信息,本页面可以实现查看所收取的邮件信息、转发邮件、群发邮

21、件、邮件标记(标记已读和未读)、编辑和存储邮件、删除邮件和打印邮件等功能,具体功能图如图3.2.2收件箱查看邮件转发邮件群转发邮件邮件标记打印邮件删除邮件存储邮件编辑邮件图3.2.23 .2.3通讯录通讯录可以存储用户的好友信息,可以方便用户完成对邮件信息的发送,尤其是转发和群组发送功能,通讯录的存在在很大程度上方便了使用系统的用户。本通讯录可以实现查看好友、增加好友、删除好友、编辑好友信息、删除好友信息等功能,本系统还可以建立多个通讯录,每个通讯录都可以对所存用户进行分组,以便方便邮件的发送,存储通讯录的文件还可以转存,即修改当前通讯录的存放位置,其基本功能图如图3.2.3通讯录编辑通讯录文

22、件增加新通讯录编辑好友信息查看好友增加好有删除好友删除好友删除通讯录图3.2.3第4章系统详细设计及系统实现4.1 章节内容总体介绍系统分析完成后,进入系统的设计阶段这是整个系统实现过程中非常重要的一个阶段。本章节描述了系统设计的详细过程和内容及实现过程。4.2各模块功能详细设计4.2.1 发送邮件功能的实现4.2.1.1 发送普通邮件功能实现此功能需要引入java mail 工具包中的以下包import javax.mail.*;import javax.mail.internet.*;构造sendMail类的主要代码如下public class sendMail private Strin

23、g SMTP,mailFrom,mailTo,mailCC,mailTitle,mailBody,mailEncode;private String userName,userPass;private Object attachFileList;private boolean isAuthentic = false;public sendMail()/初始化参数代码段 this.SMTP = ; this.mailFrom =; this.mailTo = ; this.mailCC = ; this.mailTitle = ; this.mailBody = ; this.mailEncod

24、e = BIG5; /为用户提供参数设置接口 /在本系统中通过以下方法实现对用户写入的信息加以传递public void setFrom(String from)this.mailFrom = from;public void setTo(String to)this.mailTo = to;public void setCC(String cc)this.mailCC = cc;public void setBody(String body)this.mailBody = body;public void setTitle(String title)this.mailTitle = titl

25、e;public void setSMTP(String smtp)this.SMTP = smtp;public void setUserName(String userName)this.userName = userName;public void setPassword(String pass)this.userPass = pass;public void setAttachFile(Object fileListAry)this.attachFileList = fileListAry;/设置文字编码代码如下public void setEncode(String encode)t

26、his.mailEncode = encode;public int send(boolean hasSMTPAuth) this.isAuthentic = hasSMTPAuth;/检查参数是否安全 if(!checkParameters(isAuthentic) return 1; else Properties prop = new Properties();/设定SMTP Server prop.put(mail.smtp.host,this.SMTP); Session mailConn = Session.getDefaultInstance(prop,null); Messag

27、emsg = new MimeMessage(mailConn); trymsg.setHeader(Content-Transfer-Encoding,this.mailEncode); reEncode(); /设置邮件的地址和邮件的编码 msg.setFrom(new InternetAddress(this.mailFrom); /Set reciever e-mail address and nickname msg.setRecipient(Message.RecipientType.TO, new InternetAddress(this.mailTo); if(this.mai

28、lCC.trim().length()!=0) msg.setRecipient(Message.RecipientType.CC, new InternetAddress(this.mailCC); /设定信件标题 if(this.mailTitle.trim().length()=0) msg.setSubject(无标题信件); else msg.setSubject(this.mailTitle); Multipart mp = new MimeMultipart(); MimeBodyPart mbpBody = new MimeBodyPart(); mbpBody.setCont

29、ent(this.mailBody+ this.mailEncode); MimeBodyPart mbpFile; for(int i=0;iattachFileList.length;i+) StringfullPath = this.toBIG5(attachFileListi.toString(); mbpFile = new MimeBodyPart(); FileDataSource fds = new FileDataSource(fullPath); mbpFile.setDataHandler(new DataHandler(fds); mbpFile.setFileName

30、(fds.getName(); mp.addBodyPart(mbpFile); mp.addBodyPart(mbpBody); /將內容加入 msg.setContent(mp); if(isAuthentic) /送信 prop.put(mail.smtp.auth,isAuthentic); Transport trans = mailConn.getTransport(smtp); try trans.connect(this.SMTP,this.userName,this.userPass); trans.sendMessage(msg,msg.getAllRecipients(); return 0; catch(Exception ex)ex.printStackTrace();return 2;finallytrans.close(); else try Transport.send(msg); return 0; catch(SendFailedException ex) System.out.println(ex.toString(); return 3; catch(Exception ex) ex.printStackTrace(); retu

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

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