基于Java的邮件系统的设计与实现定稿毕业设计.docx

上传人:b****3 文档编号:5345183 上传时间:2022-12-15 格式:DOCX 页数:53 大小:1.06MB
下载 相关 举报
基于Java的邮件系统的设计与实现定稿毕业设计.docx_第1页
第1页 / 共53页
基于Java的邮件系统的设计与实现定稿毕业设计.docx_第2页
第2页 / 共53页
基于Java的邮件系统的设计与实现定稿毕业设计.docx_第3页
第3页 / 共53页
基于Java的邮件系统的设计与实现定稿毕业设计.docx_第4页
第4页 / 共53页
基于Java的邮件系统的设计与实现定稿毕业设计.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

基于Java的邮件系统的设计与实现定稿毕业设计.docx

《基于Java的邮件系统的设计与实现定稿毕业设计.docx》由会员分享,可在线阅读,更多相关《基于Java的邮件系统的设计与实现定稿毕业设计.docx(53页珍藏版)》请在冰豆网上搜索。

基于Java的邮件系统的设计与实现定稿毕业设计.docx

基于Java的邮件系统的设计与实现定稿毕业设计

 

PINGDINGSHANUNIVERSITY

毕业论文(设计)

 

题目:

基于Java的邮件系统的

设计与实现

院(系):

软件学院

专业年级:

软件工程2008级

姓名:

刘军光

学号:

081530324

指导教师:

夏栋梁讲师

2011年9月27日

原创性声明

 

本人郑重声明:

本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。

毕业论文中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。

除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。

对本文的研究成果做出重要贡献的个人和集体,均已在文中以明确方式标明。

本声明的法律责任由本人承担。

 

论文作者签名:

日期:

关于毕业论文使用授权的声明

 

本人在指导老师指导下所完成的论文及相关的资料(包括图纸、试验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属平顶山学院。

本人完全了解平顶山学院有关保存、使用毕业论文的规定,同意学校保存或向国家有关部门或机构送交论文的纸质版和电子版,允许论文被查阅和借阅;本人授权平顶山学院可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存和汇编本毕业论文。

如果发表相关成果,一定征得指导教师同意,且第一署名单位为平顶山学院。

本人离校后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为平顶山学院。

 

论文作者签名:

日期:

指导老师签名:

日期:

基于java的邮件系统的设计与实现

摘要

在过去的几十年里,人们主要通过书信与相隔较远的人相互交流情感与思想。

而当今世界人们更多的是使用电子邮件,与传统的书信相比电子邮件具有使用简易、投递迅速、收费低廉,易于保存、全球畅通无阻等优点。

基于java的电子邮件系统是使用当今流行的计算机语言(java语言)和当今流行的SSH(Struts+Spring+Hibernate)框架开发而成。

在数据存储上使用了免费、开源、跨平台的MySQL数据库,邮件服务器使用了免费、开源的支持SMAP协议发送电子邮件和IMAP协议接收电子邮件的ApacheJames邮件服务器,界面简单大方。

系统的实现将有效地提高企业员工的工作效率,降低员工之间的沟通成本,并且具有较广泛的推广价值。

本论文阐述了基于java的电子邮件系统背景、研究现状及发展趋势,介绍了系统开发所使用的语言、环境和工具,并对使用的相关的技术进行了详细的阐述。

按照软件开发的生命周期论述了系统分析、概要设计、详细设计和代码实现、系统测试的过程。

具体论述了面向对象设计方法、系统设计的原则、系统设计的总体目标以及体系结构的特点。

关键词:

电子邮件,James邮件服务器,MySQL,Java,SSH

 

Java-basedMailSystemDesignandImplementation

Abstract

Inthepastfewdecades,peoplemainlyusethelettersandfarapart,temporarilyseetheemotionalsideofpeopleandexchangeideas. Andintoday'sworldpeoplearemoree-mail,comparedwiththetraditionale-mailcorrespondencewitheasytouse,fastdelivery,low-cost,easytostore,theworld'ssmoothandsoon. 

Java-basede-mailsystemistousetoday'spopularcomputerlanguages​​(javalanguage)andtoday'spopularSSH(Struts+Spring+Hibernate)frameworkdevelopedwith. Usedindatastorageonafree,opensource,cross-platformMySQLdatabase,mailserverusesthefree,open-sourcesupportforSMAPandIMAPemailprotocolstoreceivee-ApacheJamesmailserver,theinterfacesimpleandgenerous. Systemimplementationwilleffectivelyimprovestaffproductivity,reducecostofcommunicationbetweenemployees,andhasawiderspreadvalue. 

Thispaperdescribesthee-mailsystembasedonjavabackground,researchstatusanddevelopmenttrends,describesthedevelopmentofthelanguagesystem,environmentandtools,andrelatedtechnologiesusedinadetailedexposition. Accordingtothesoftwaredevelopmentlifecycle,discussesthesystemanalysis,outlinedesign,detaileddesignandcode,systemtestingprocess. Specificallydiscussestheobject-orienteddesign,systemdesignprinciples,systemdesignandarchitecturetheoverallobjectiveofthecharacteristics. 

 

Keywords:

E-mail,Jamesmailserver,MySQL,Java,SSH

目录朗读显示对应的拉丁字符的拼音 

1绪论

1.1课题研发背景

电子邮件(简称E-mai1)又称电子信箱、电子邮政,它是—种用电子手段提供信息交换的通信方式。

它是全球多种网络上使用最普遍的一项服务。

这种非交互式的通信,加速了信息的交流及数据传送。

通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将邮件送到世界的各个角落。

到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,E-mai1不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。

与传统的信件相比电子邮件更具有传统信件没有的优势,传统的邮件受到时间、地点等各种限制,而电子邮件却不受这些限制。

正是由于电子邮件的使用简易、投递迅速、收费低廉,易于保存、全球畅通无阻,使得电子邮件被广泛地应用,它使人们的交流方式得到了极大的改变。

另外,电子邮件还可以进行一对多的邮件传递,同一邮件可以一次发送给许多人。

最重要的是,电子邮件是整个网络间以至所有其他网络系统中直接面向人与人之间信息交流的系统,它的数据发送方和接收方都是人,所以极大地满足了大量存在的人与人之间的通信需求。

现在随着互联网和计算机的普及[1],电子邮件将会成为人们越来越受欢迎的交流方式。

1.2选题的意义

当今流行的邮件系统如LotusNotes和Exchange是非常强大的商业软件[2]。

但这些系统包含的协作功能和每客户端得许可证费用使它们的整体成本急剧上升。

而事实上,很多使用这些系统的公司仅仅需要其中的邮件服务器基本功能,因此对于这些企业来说花重金来购买这些邮件系统还不如花少量的钱去重新开发一款功能简单的邮件系统。

所以开发一款简单易用的,使用户容易上手的电子邮件系统是非常有必要的。

对于大型的企业来说开发一种简单易用的具有电子邮件基本功能的电子邮件系统,不仅能够提高企业的生产效率而且能够降低人与人之间的沟通成本,使企业能够更好的发展。

1.3发展现状

随着Internet网的广泛普及,电子邮件的使用迅速增多起来。

电子邮件的使用不仅在数量上有突飞猛进的发展,而且其重要性日益增加。

电子邮件已不只是电话的替代品,它可以而且已经在更广泛的应用着。

利用电子邮件用户可以交互电子表格与数据文件,当然也可以发送长的便笺和传送官方文献。

由于目前我国电子邮箱的渗透率还很低,但用户的需求日益强烈,且有国家对企业信息化的支持,因此电子邮箱的发展潜力巨大。

特别是外包式的电子邮箱,由于建设成本和管理成本相对更低,而安全性、互通性等基础功能的性能更优,因此将受到更多用户的青睐。

目前国内邮箱产品提供商还只停留在提供单一的邮箱产品阶段,还未形成一整套的邮箱解决方案。

这与电子邮箱在中国所处的发展阶段有直接关系,目前中国的电子邮箱市场还处于起步阶段,普及率非常低,因此电子邮箱提供商当下亟需解决的问题是加大宣传、开拓市场,让更多的用户首先接受电子邮箱这个最核心的产品,然后再在此基础上提供一整套的邮件解决方案。

虽然如此,我国的电子邮箱提供商还是可以学习国外先进的邮件管理解决方案的思路,了解用户在邮件管理中需要解决的问题,将其融入到现有的邮箱产品中,为用户提供更全面的一站式邮件服务。

2实现技术及开发工具

本部分主要介绍开发系统所采用的一些技术支持,包括采用的现在比较流行的J2EE框架技术Struts2、Spring、Hibernate、James邮件服务器、jQuery等的简单介绍。

2.1Struts2简介

Struts2是Struts的下一代产品。

是在Struts和WebWork的技术[3]基础上进行了合并,全新的Struts2框架。

其全新的Struts2的体系结构与Struts1的体系结构的差别巨大。

Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。

因为Struts2和Struts1有着太大的变化,但是相对于WebWork,Struts2只有很小的变化。

Struts2框架的处理流程如图2-1所示。

图2-1Struts2框架处理流程

通过上面对Struts2体系结构[4]的了解,我们发现Struts2对Struts1进行了巨大的改进。

主要表现在如下几个方面:

(1)在Action的实现方面:

Struts1要求必须统一扩展自Action类,而Struts2中可以是一个普通的POJO。

(2)线程模型方面:

Struts1的Action工作在单例模式,一个Action的实例处理所有的请求。

Struts2的Action是一个请求对应一个实例。

没有线程安全方面的问题。

(3)Servlet依赖方面:

Struts1的Action依赖于ServletAPI,比如Action的execute方法的参数就包括request和response对象。

这使程序难于测试。

Struts2中的Action不再依赖于ServletAPI,有利于测试,并且实现TDD。

(4)封装请求参数:

Struts1中强制使用ActionForm对象封装请求的参数。

Struts2可以选择使用POJO类来封装请求的参数,或者直接使用Action的属性。

(5)表达式语言方面:

Struts1中整合了EL,但是EL对集合和索引的支持不强,Struts2整合了OGNL(ObjectGraphNavigationLanguage)。

(6)绑定值到视图技术:

Struts1使用标准的JSP,Struts2使用“ValueStack”技术。

(7)类型转换:

Struts1中的ActionForm基本使用String类型的属性。

Struts2中使用OGNL进行转换,可以更方便的使用。

(8)数据校验:

Struts1中支持覆盖validate方法或者使用Validator框架。

Struts2支持重写validate方法或者使用XWork的验证框架。

(9)Action执行控制的对比:

Struts1支持每一个模块对应一个请求处理,但是模块中的所有Action必须共享相同的生命周期。

Struts2支持通过拦截器堆栈为每一个Action创建不同的生命周期。

2.2Spring简介

Spring框架技术[5]实际上是RodJohnson在ExpertOne-on-OneJ2EEDesignandDevelopment[6]一书中所阐述的设计思想的具体实现。

Spring框架为J2EE平台的开发者提供的是一种“对象管理”技术,也就是为开发者解决包括对象的生命周期、对象之间的依赖关系建立、对象的缓存实现等方面问题的管理技术。

Spring框架是一个轻量级的控制反转(IoC)技术和面向切面编程(AOP)技术的容器框架,利用Spring框架中的IoC技术可以实现J2EE平台中所倡导的由容器实现对象的生命周期管理,而利用Spring框架中的AOP技术可以实现J2EE平台中所倡导的分离应用系统中业务逻辑组件和通用技术服务组件。

应用系统的开发者在应用系统中应用Spring框架后能够达到“解耦”和“脱离容器”的设计和实现的目的。

Spring框架主要由7个定义良好的、相互独立的模块组件构成。

Spring系统框架如图2-2所示。

图2-2Spring系统框架

2.3Hibernate简介

Hibernate是Java应用和数据库之间的桥梁,通过对JDBC的简单封装,使Java程序员可以使用面向对象的思想操作数据表,不用再考虑数据访问细节,可以专注于业务逻辑的开发,它对软件分层做了进一步细化,使数据的持久化与业务逻辑和数据库分开,便于软件的后期维护[7]。

Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

Hibernate体系结构如图2-3所示。

图2-3Hibernate体系结构

2.4MyEclipse开发工具简介

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。

Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。

MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。

MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。

它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP, CSS, Javascript,SQL,Hibernate。

2.5MySQL简介

MySQL是一个真正的多用户、多线程SQL数据库服务器[8]。

SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。

MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。

SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。

例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。

MySQL主要目标是快速、健壮和易用。

最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。

MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。

MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置的软件中去。

2.6Tomcat服务器简介

Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。

由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。

Tomcat是稳固的独立的Web服务器与ServletContainer,不过,其Web服务器的功能则不如许多更健全的Web服务器完整,如ApacheWeb服务器(举例来说,Tomcat没有大量的选择性模块)。

不过,Tomcat是自由的开源软件,而且有许多高手致力于其发展。

Tomcat是一个小型的轻量级应用服务器[9],在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。

对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。

实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行Tomcat时,它实际上作为一个与Apache独立的进程单独运行的。

2.7James邮件服务器简介

JavaApache邮件服务器一般是指Apache组织开发的James[10],它是一个轻便的、安全的100%纯Java实现的邮件服务器。

不仅如此James还可以提供更多的功能,感谢James给我们提供了插件化协议架构和Mailet底层构造,它可以让我们利用Web服务器的servlets处理邮件。

Email服务到处都是,开始是DARPA(国防部高级研究计划局)的一个计划并最终发展为Internet,但是James成为了打破这一传统规则的第一个应用。

TheJavaApache企业邮件服务器(a.k.a.ApacheJames)是一个100%用Java实现的SMTP和POP3邮件服务器,同时,他还实现了NNTP新闻服务器的功能。

James被设计成一个完整的、可移植的企业邮件引擎解决方案,他完全基于目前可用的开放性协议。

James还是一个邮件应用平台。

Apache组织提供了一套JavaAPI-mailetAPI,利用MailetAPI,可以根据自己的需要用Java语言编写代码来对邮件进行个性化的处理。

Mailet可以生成一个自动回复,更新数据库,阻止垃圾邮件,建立消息档案,或者任何我们能想像的到的功能。

与Mailet密切相关的是消息适配器(Matcher),一个消息适配器可以判断Mailet是否要对服务器中的一个邮件进行处理。

James被设计为实现几个确定的目标。

比如它完全使用Java开发以便适应最大的轻便行;它提供了很多安全特性用于保护服务器的运行环境安全还提供了安全服务。

James是多线程的,它使用了很多Avalon架构提供的功能。

James提供了完善的服务,包括一个完全可以运行的Email服务器。

这些服务主要是有Macther和MailetAPI实现的,这两个API提供了Email检查和处理功能。

James支持标准的email协议(SMTP,POP3,IMAP),另外还提供了一些附加功能,它使用了松散耦合的插件设计方式使消息框架从协议中抽象出来。

这种设计方式非常有用,使我们可以把James当作一个通常的消息服务器或者为即时消息传输提供支持。

James一个更重要的设计目标是提出了Mailet概念,Mailet提供了一个开发邮件应用程序的完整生命周期。

当然你也可以在这里使用其他MTA(邮件传输代理),比如SendMail,要这样作的话我们需要提供一个可调用的程序然后将数据传送给它来完成工作,不过,James提供了一套更简单、通用的API来完成这些工作。

2.8Jquery简介

jQuery由美国人JohnResig创建,至今已吸引了来自世界各地的众多JavaScript高手加入其中,包括来自德国的JrnZaefferer,罗马尼亚的StefanPetre[11]等。

jQuery是继Prototype之后又一个优秀的JavaScript框架。

其宗旨是——WRITELESS,DOMORE,写更少的代码,做更多的事情。

使用jQuery有如下特点:

(1)提供了强大的功能函数:

使用jQuery提供的强大的函数库能够帮助我们快速完成各种功能,而且会让我们的代码异常简洁。

(2)解决浏览器兼容性问题:

对于普通的JavaScript脚本往往是不同的浏览器需要编写不同的JavaScript脚本。

有了jQuery我们就不需要再重复的编写JavaScript代码了,因为jQuery对于各种浏览器是兼容的,使用jQuery并不需要考虑浏览器兼容性问题。

(3)实现丰富的UI:

jQuery为我们提供了界面美观且有兼容各种浏览器的各种UI,使用开发web页面更加容易。

(4)丰富的插件:

jQuery为我们提供了各种插件,使我们只要懂得jQuery基本语法就能够编写出漂亮的功能完善的Web页面。

2.9电子邮件简介

电子邮件(简称E-mai1)又称电子信箱、电子邮政,它是—种用电子手段提供信息交换的通信方式。

它是全球多种网络上使用最普遍的一项服务。

这种非交互式的通信,加速了信息的交流及数据传送,它是—个简易、快速的方法。

通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将邮件送到世界的各个角落。

到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,E-mai1不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。

邮件服务器按通讯协议可以划分为以下两种类型:

SMTP服务器:

用于替用户发送邮件和接收外面发送给本地用户的邮件,它相当于现实生活中邮件的邮件接收部门(可接收普通用户投递的邮件以及其它邮局投递过来的邮件)。

POP3/IMAP服务器:

用于帮助用户读取SMTP服务器接收进来的该用户的邮件。

当前常用的电子邮件协议有SMTP、POP3、IMAP4,它们都隶属于TCP/IP协议簇,默认状态下,分别通过TCP端口25、110和143建立连接。

下面分别对其进行简单介绍。

(1)SMTP协议:

SMTP的全称是SimpleMailTransferProtocol,即简单邮件传输协议。

目标是向用户提供高效、可靠的邮件传输。

SMTP的一个重要特点是它能够在传送中接力传送邮件,即邮件可以通过不同网络上的主机接力式传送。

工作在两种情况下:

一是电子邮件从客户机传输到服务器;二是从某一个服务器传输到另一个服务器。

(2)POP3协议:

POP的全称是PostOfficeProtocol,即邮局

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

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

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

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