java邮件系统的设计与实现毕业论文Word文档格式.docx
- 文档编号:21058158
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:53
- 大小:1.42MB
java邮件系统的设计与实现毕业论文Word文档格式.docx
《java邮件系统的设计与实现毕业论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《java邮件系统的设计与实现毕业论文Word文档格式.docx(53页珍藏版)》请在冰豆网上搜索。
除了文中特别加以标注引用的容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
日期:
年月日
学位论文使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
日期:
导师签名:
日期:
基于Java的系统
摘要
在过去的几十年里,人们主要通过书信与相隔较远的人相互交流情感与思想。
而当今世界人们更多的是使用电子,与传统的书信相比电子具有使用简易、投递迅速、收费低廉,易于保存、全球畅通无阻等优点。
基于java的电子系统是使用当今流行的计算机语言(java语言)和当今流行的SSH(Struts+Spring+Hibernate)框架开发而成。
在数据存储上使用了免费、开源、跨平台的Oracle数据库,服务器使用了免费、开源的支持SMAP协议发送电子和IMAP协议接收电子的ApacheJames服务器,界面简单大方。
系统的实现将有效地提高企业员工的工作效率,降低员工之间的沟通成本,并且具有较广泛的推广价值。
本论文阐述了基于java的电子系统背景、研究现状及发展趋势,介绍了系统开发所使用的语言、环境和工具,并对使用的相关的技术进行了详细的阐述。
按照软件开发的生命周期论述方法,进行了系统分析、概要设计、详细设计和代码实现、系统测试的过程。
具体论述了面向对象设计方法、系统设计的原则、系统设计的总体目标以及体系结构的特点。
关键词:
系统,Java,James服务器,Oracle,SSH
Java-basedMailSystem
Abstract
Inthepastfewdecades,peoplemainlyusethelettersandfarapart,temporarilyseetheemotionalsideofpeopleandexchangeideas.
Andintoday'
sworldpeoplearemore,comparedwiththetraditionalcorrespondencewitheasytouse,fastdelivery,low-cost,easytostore,theworld'
ssmoothandsoon.
Java-basedsystemistousetoday'
spopularcomputerlanguages(javalanguage)andtoday'
spopularSSH(Struts+Spring+Hibernate)frameworkdevelopedwith.
Usedindatastorageonafree,opensource,cross-platformOracledatabase,mailserverusesthefree,open-sourcesupportforSMAPandIMAPemailprotocolstoreceivee-ApacheJamesmailserver,theinterfacesimpleandgenerous.
Systemimplementationwilleffectivelyimprovestaffproductivity,reducecostofcommunicationbetweenemployees,andhasawiderspreadvalue.
Thispaperdescribesthesystembasedonjavabackground,researchstatusanddevelopmenttrends,describesthedevelopmentofthelanguagesystem,environmentandtools,andrelatedtechnologiesusedinadetailedexposition.
Accordingtothesoftwaredevelopmentlifecycle,discussesthesystemanalysis,outlinedesign,detaileddesignandcode,systemtestingprocess.
Specificallydiscussestheobject-orienteddesign,systemdesignprinciples,systemdesignandarchitecturetheoverallobjectiveofthecharacteristics.
KeyWords:
MailSystem,Java,JamesMailServer,Oracle,SSH
目录1
1绪论3
1.1设计的背景3
1.2设计的目的3
1.3发展现状4
1.4研究方法4
1.5论文构成4
1.6研究容5
2实现技术及开发工具6
2.1Struts2简介6
2.2Spring简介7
2.3Hibernate简介8
2.4Myeclipse简介9
2.5Oracle简介9
2.6Tomcat服务器简介10
2.7James服务器简介11
2.8JQuery简介12
2.9电子简介13
3系统需求分析15
3.1可行性分析15
3.1.1经济可行性分析15
3.1.2技术可行性分析16
3.1.3社会因素可行性分析16
3.2功能需求分析16
3.3性能需求分析19
3.4数据库需求分析19
4数据库的设计与实现21
4.1数据库的设计21
4.1.1概念结构设计21
4.1.2逻辑结构设计23
4.2数据库的实现23
4.2.1用户登录信息表23
4.2.2用户基本信息表24
4.2.3联系人分组表24
4.2.4联系人信息表25
5系统的设计与实现26
5.1系统设计的目标26
5.2系统设计的思想26
5.3系统模块设计27
5.3.1用户登录系统的工作流程28
5.3.2注册新用户信息的工作流程29
5.3.3用户找回密码信息工作流程30
5.3.4用户添加联系人信息工作流程33
5.3.5用户发送电子工作流程34
5.3.6用户查看电子工作流程35
5.4系统模块的实现37
5.4.1用户登录系统的实现38
5.4.2用户找回密码的实现39
5.4.3用户发送电子的实现43
5.4.4用户查看电子的实现45
5.4.5用户查看联系人的实现46
5.4.6用户添加联系人的实现47
6系统测试49
6.1单元测试49
6.2集成测试50
6.3系统测试53
结论55
致56
参考文献57
附录59
1绪论
1.1设计的背景
电子(简称E-mai1)又称电子信箱、电子邮政,它是—种用电子手段提供信息交换的通信方式。
它是全球多种网络上使用最普遍的一项服务。
这种非交互式的通信,加速了信息的交流及数据传送。
通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将送到世界的各个角落。
到目前为止,可以说电子是Internet资源使用最多的一种服务,E-mai1不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。
与传统的信件相比电子更具有传统信件没有的优势,传统的受到时间、地点等各种限制,而电子却不受这些限制。
正是由于电子的使用简易、投递迅速、收费低廉,易于保存、全球畅通无阻,使得电子被广泛地应用,它使人们的交流方式得到了极大的改变。
另外,电子还可以进行一对多的传递,同一可以一次发送给许多人。
最重要的是,电子是整个网络间以至所有其他网络系统中直接面向人与人之间信息交流的系统,它的数据发送方和接收方都是人,所以极满足了大量存在的人与人之间的通信需求。
现在随着互联网和计算机的普及[1],电子将会成为人们越来越受欢迎的交流方式。
1.2设计的目的
当今流行的系统如LotusNotes和Exchange是非常强大的商业软件[2]。
但这些系统包含的协作功能和每客户端得许可证费用使它们的整体成本急剧上升。
而事实上,很多使用这些系统的公司仅仅需要其中的服务器基本功能,因此对于这些企业来说花重金来购买这些系统还不如花少量的钱去重新开发一款功能简单的系统。
所以开发一款简单易用的,使用户容易上手的电子系统是非常有必要的。
对于大型的企业来说开发一种简单易用的具有电子基本功能的电子系统,不仅能够提高企业的生产效率而且能够降低人与人之间的沟通成本,使企业能够更好的发展。
1.3发展现状
随着Internet网的广泛普及,电子的使用迅速增多起来。
电子的使用不仅在数量上有突飞猛进的发展,而且其重要性日益增加。
电子已不只是的替代品,它可以而且已经在更广泛的应用着。
利用电子用户可以交互电子表格与数据文件,当然也可以发送长的便笺和传送官方文献。
由于目前我国电子的渗透率还很低,但用户的需求日益强烈,且有国家对企业信息化的支持,因此电子的发展潜力巨大。
特别是外包式的电子,由于建设成本和管理成本相对更低,而安全性、互通性等基础功能的性能更优,因此将受到更多用户的青睐。
目前国产品提供商还只停留在提供单一的产品阶段,还未形成一整套的解决方案。
这与电子在中国所处的发展阶段有直接关系,目前中国的电子市场还处于起步阶段,普及率非常低,因此电子提供商当下亟需解决的问题是加大宣传、开拓市场,让更多的用户首先接受电子这个最核心的产品,然后再在此基础上提供一整套的解决方案。
虽然如此,我国的电子提供商还是可以学习国外先进的管理解决方案的思路,了解用户在管理中需要解决的问题,将其融入到现有的产品中,为用户提供更全面的一站式服务。
1.4研究方法
采用结构化的分析和设计的方法,在Windows7系统下,使用java语言,基于Myeclipse10.0开发平台,以Tomcat7.0为服务器,并以Oracle10g为后台数据库。
在对系统进行详细的需求分析的基础上,画出数据流图,序列图,类层次图等。
在设计数据库时根据需求分析画出E-R图,给出相关信息的数据字典,建立相关数据库,在进一步细化数据流图的基础上得出系统的体系结构,然后进行编码和测试。
1.5论文构成
本论文主要从Java系统的相关背景及相关技术、需求分析、数据库设计实现、系统设计与实现系统测试等五个方面分别进行阐述。
第一章绪论,介绍了论文的研究意义,国外对该选题的研究动向及已有研究成果,以及本文的主要研究容和论文结构。
第二章实现技术与开发工具,叙述了与电子相关的实现技术及开发工具,包括Struts2、Spring、hibernate框架的介绍,以及开发工具myeclipse的简单介绍和使用方法,还包括数据库orcale的相关简介,同时还有服务器tomcat的简单介绍和使用。
第3章需求分析,对电子系统进行了剖析,并对其进行了可行性分析,包括经济可行性分析、技术可行性分析、社会因素可行性分析等分析工作。
同时对其功能需求、性能需求、数据库需求等都做了详细的分析
第4章数据库设计与实现,完成了对电子系统数据库的设计和实现。
详细完成了数据库的概念结构设计和逻辑结构设计,同时也实现了数据库的具体容。
第5章系统设计与实现,从系统设计的目标、设计思想开始,完成了系统模块的设计。
系统设计模块部分包括用户登录、注册、找回密码信息、添加联系人信息、发送电子、查看电子等工作流程。
最后实现了以上模块。
第6章系统测试,对系统进行了单元测试、集成测试和系统测试。
结论部分总结了本文的主要工作,并对研究前景进行了展望。
1.6研究容
本论文主要研究容为设计与实现一个电子系统。
在本论文中,实现了电子系统数据库的设计和实现。
还实现了系统的具体设计与实现。
本章从系统设计的目标、设计思想开始,完成了系统模块的设计。
系统设计模块部分包括用户登录、注册、找回密码信息、添加联系人信息、发送电子、查看电子等工作流程并且实现了以上模块。
最后对系统进行了系统测试。
2实现技术及开发工具
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.5Oracle简介
OracleDatabase,又名OracleRDBMS,或简称Oracle。
是甲骨文公司的一款关系数据库管理系统。
到目前仍在数据库市场上占有主要份额。
劳伦斯·
埃里森和他的朋友,之前的同事BobMiner和EdOates在1977年建立了软件开发实验室咨询公司(SDL,SoftwareDevelopmentLaboratories)。
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。
比如SilverStream就是基于数据库的一种中间件。
ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;
作为一个关系数据库,它是一个完备关系的产品;
作为分布式数据库它实现了分布式处理功能。
但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。
Oracle数据库具有完整的数据管理功能,完备关系的产品,分布式处理功能,用Oracle可以轻松的实现数据仓库的操作。
Oracle具有良好的优点,体现在可用性强,可扩展性强,数据安全性强,稳定性强。
Oracle的体系结构如图2.5所示
图2.5Oracle体系结构
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独立的进程单独运行的。
Tomcat体系结构如图2.6所示
图2.6Tomcat体系结构
2.7James服务器简介
JavaApache服务器一般是指Apache组织开发的James[10],它是一个轻便的、安全的100%纯Java实现的服务器。
不仅如此James还可以提供更多的功能,感James给我们提供了插件化协议架构和Mailet底层构造,它可以让我们利用Web服务器的servlets处理。
Email服务到处都是,开始是DARPA(国防部高级研究计划局)的一个计划并最终发展为Internet,但是James成为了打破这一传统规则的第一个应用。
TheJavaApache企业服务器(a.k.a.ApacheJames)是一个100%用Jav
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 邮件系统 设计 实现 毕业论文