信箱系统的设计与实现.docx
- 文档编号:26413887
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:76
- 大小:1.52MB
信箱系统的设计与实现.docx
《信箱系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《信箱系统的设计与实现.docx(76页珍藏版)》请在冰豆网上搜索。
信箱系统的设计与实现
信箱系统的设计与实现
摘要
电子邮件是整个网络间以至所有其他网络系统中直接面向人与人之间信息交流的系统,它的数据发送方和接收方都是人,所以极大地满足了大量存在的人与人之间的通信需求。
电子邮件指用电子手段传送信件、单据、资料等信息的通信方法。
电子邮件综合了电话通信和邮政信件的特点,它传送信息的速度和电话一样快,又能像信件一样使收信者在接收端收到文字记录。
电子邮件系统又称基于计算机的邮件报文系统。
它参与了从邮件进入系统到邮件到达目的地为止的全部处理过程。
电子邮件不仅可利用电话网络,而且可利用其它任何通信网传送。
在利用电话网络时,还可在其非高峰期间传送信息,这对于商业邮件具有特殊价值。
由中央计算机和小型计算机控制的面向有限用户的电子系统可以看作是一种计算机会议系统。
电子邮件采用储存-转发方式在网络上逐步传递信息,不像电话那样直接、及时,但费用低廉。
通过本次设计完成一个简单的邮件收发系统,实现邮件的接收与发送,并能完成附件的传输,同时能实现邮件用户登录管理及邮件删除等功能,开发这个各种功能相对简单实用的邮件客户端程序,简化了很多不必要的功能,解决了小型企业和集体不能在同一平台通信交流的问题。
电子邮件作为现在重要的通信手段,在各种网络服务中,电子邮件系统以其方便、快捷的特点成为人们进行信息交流的理想工具。
通过电子邮件人们可以以十分低廉的代价,以非常快的速度同世界上其他互联网用户联络。
电子邮件的使用者数量呈几何级数增长。
关键词:
电子邮件;互联网通信;网络服务
Mailsystemdesignandimplementation
Abstract
E-mailisamongtheentirenetworkaswellasallothernetworksfortheexchangeofinformationdirectlybetweenpeople,systems,anditsdatasenderandreceiverareallhuman,sogreattomeetalotofpeopleexistsbetweencommunicationneeds.E-mailreferstoletters,documents,dataandotherinformationcommunicationmethodoftransmissionbyelectronicmeans.Emailacombinationoftelephonecommunicationsandpostalmailfeatures,itsendstheinformationasfastasthespeedandthetelephone,butalsoliketomaketherecipientreceivedtheletteraswrittenrecordsonthereceivingend.E-mailsystem,alsoknownascomputer-basedmessagesystems.Itisinvolvedinthemailfromthemailintothesystemtoreachthedestinationofalltheprocesses.E-mailcannotusethetelephonenetwork,andmaybetransmittedusinganyothercommunicationsnetwork.Whenusingthetelephonenetworkmayalsotransmitinformationonthenon-peakperiods,ithasaspecialvaluetocommercialmessages.Electronicsystemfortheuserislimitedbythecentralcontrolcomputerandasmallcomputercanbeconsideredasacomputerconferencingsystem.Emailusingstorage-forwardinggraduallypassinformationoverthenetwork,sounlikedirecttelephone,timely,butinexpensive.
Thedesigniscompletedbyasimplemailsystem,receivingandsendinge-mailandattachmentscancompletethetransfer,andtoachievethemailuserloginmanagement,ande-mailanddeletefunctions,thedevelopmentofthevariousfunctionsisrelativelysimpleandpracticalmailclientendoftheprogram,simplifyingalotofunnecessaryfeaturestosolvethesmallbusinesscannotbeonthesameplatformandcollectivecommunicationproblems.
Nowe-mailasanimportantmeansofcommunicationinavarietyofnetworkservices,e-mailsystemwithitsconvenient,fastandfeaturesanidealtoolforpeopletoexchangeofinformation.ThecostcanbeverylowtoveryfastcontactwithotherInternetusersviae-mailpeopleintheworld.Thenumberofe-mailusersisgrowingexponentially.
Keywords:
Email;Internetcommunications;NetworkServices
1绪论
1.1课题背景
电子邮件(Electronic-Mail也称为E-mail),它是用户或用户组之间通过计算机网络收发信息的服务。
目前,电子邮件是互联网上使用最为广泛的功能,现已成为公司进行顾客服务的强大工具,成为网络用户之间快捷、简便、可靠且成本低廉的现代化通讯手段,也是互联网上使用最广泛、最受欢迎的服务之一。
并且现在很多高校也采用邮件方式教学和收发作业。
目前互联网60%以上的活动都与电子邮件有关。
尤其如今环境资源遭到破坏,提倡环保的主题下,不论是企业还是个人都应该尽量节省纸张,采用邮件形式来传递信息,这样不仅可以环保同时也提高了效率和安全性。
而信箱系统来处理用户收发邮件及管理邮件等基本操作是必不可少的。
由于网络中信箱系统繁多、业务需求多变,基于各邮件服务器的信箱系统的维护和业务变更变得难以进行。
为了极大地方便上网用户,系统使用了B/S技术来进行开发,避免了原有的C/S结构开发所带来的弊端。
并且将E-mail系统和Web应用结合起来,用户仅通过浏览器访问邮件系统即可。
本邮件系统的基本功能包括:
用户登录、通讯录管理、邮件收取、邮件发送、查看邮件、邮件的管理功能。
本文从软件体系结构设计模式的角度入手,首先设计和实现一个支持邮件收发、管理等基本功能的信箱系统,并在此基础上添加各项扩展功能。
在介绍Struts2和MVC整体架构相关理论的基础上,研究如何使用这些JAVA框架和技术,使用MyEclipse开发工具构建灵活、实用的邮件收发平台。
该架构的主要优点是:
易于维护和扩展,方便用户的掌握和使用。
此邮箱系统功能主要分为管理员管理和用户管理两大部分,管理员管理主要包括管理用户信息、删除用户等;用户管理主要包括用户个人信息的管理、个人邮箱的管理等。
该系统可以根据对功能需求进行扩展和完善。
1.2目的和意义
电子邮件作为现在重要的通信手段,在各种网络服务中,电子邮件系统以其方便、快捷的特点成为人们进行信息交流的理想工具。
通过电子邮件人们可以以十分低廉的代价,以非常快的速度同世界上其他互联网用户联络。
电子邮件的使用者数量呈几何级数增长。
当前流行的各大邮件客户端软件,除了最主要的收发信件之外,功能越来越复杂,但是人们平常真正用到的功能很少,很多功能尤其对于那些计算机知识相对缺乏的人来说,更加显得太过于华丽而不太实用。
对于用户来说一款简单,方便,快捷的邮件收发系统将会在很大程度上为用户提供满意的服务,制作一款能满足用户需求的邮件收发系统是每一个设计者所追求的目标。
因此希望通过本次设计完成一个简单的邮件收发系统,实现邮件的接收与发送,并能完成附件的传输,同时能实现邮件用户登录管理及邮件删除等功能,开发这个各种功能相对简单实用的邮件客户端程序,简化了很多不必要的功能,解决了小型企业和集体不能在同一平台通信交流的问题。
1.3开发工具及技术
1.3.1开发工具
此次设计主要采用MyEclipse加Tomcat后台服务器进行,设计过程中页面主要使用JSP技术完成,下面对MyEclipse、Tomcat和SqlServer数据库进行简要介绍。
(1)MyEclipse
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)
是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境。
MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。
可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。
(2)Tomcat
Tomcat服务器是一个免费的开放源代码的Web应用服务器。
Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
可以这样认为,当在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求。
实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
(3)SqlServer
SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。
SQL语言的主要功能就是同各种数据库建立联系,进行沟通。
按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。
SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。
目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL语言标准。
SqlServer使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性;支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统;为多种编程语言提供了API;支持多线程,充分利用CPU资源;提供TCP/IP、ODBC和JDBC等多种数据库连接途径;可以处理拥有上千万条记录的大型数据库。
对于一般的个人使用者和中小型企业来说,SqlServer提供的功能已经绰绰有余,而且由于SqlServer是开放源码软件,因此可以大大降低总体拥有成本。
1.3.2JSP
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP网站基本结构如图1.1所示:
图1.1Jsp网站结构示意图
JSP技术有以下优点:
(1)一次编写,到处运行。
除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP/.net的局限性是显而易见的。
(3)强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。
Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下
(5)支持服务器端组件。
web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。
JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。
内部对象说明:
request客户端请求,此请求会包含来自GET/POST请求的参数;response 网页传回客户端的响应;pageContext网页的属性是在这里管理;session与请求有关的会话;applicationservlet正在执行的内容;out用来传送响应的输出流;config 代码片段配置对象;page JSP网页本身;exception 针对错误网页,未捕捉的例外。
1.3.3JavaScript
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。
同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。
JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。
在HTML基础上,使用Javascript可以开发交互式Web网页。
Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。
在本系统中很多地方使用了javascript技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。
1.3.4Struts2简介
Struts最早是作为ApacheJakarta项目的组成部分问世运作。
项目的创立者希望通过对该项目的研究,改进和提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。
它的目的是为了减少在运用MVC设计模型来开发Web应用的时间。
使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。
Struts是Apache软件基金会(ASF)赞助的一个开源项目。
它最初是Jakarta项目中的一个子项目,并在2002年3月成为ASF的顶级项目。
它通过采用JavaServlet/JSP技术,实现了基于JavaEEWeb应用的Model-View-Controller〔MVC〕设计模式的应用框架〔WebFramework〕,是MVC经典设计模式中的一个经典产品。
而Struts2则是Struts的升级版本。
Struts2的工作流程如图1.2所示:
图1.2Struts2响应用户请求的工作流程
(1)首先Struts2接收到一个httprequest时Interceptor对其进行一些拦截或者初始的工作。
这时候如果有外部的httpservletrequest到来时,数据就会到servlet容器中,然后被传递给一个标准的过滤器链ActionContextCleanUp。
(2)然后Struts2开始调用Dispatecher会去查找相应的ActionMapper,如果找到了相应的ActionMapperStruts2将会将控制权限交给ActionProxy。
接着ActionProxy通过ConfigurationManager来查找配置struts.xml文件。
(3)最后Struts2通过ActionInvocation来负责命令模式的实现,action返回Result。
(返回的Result类型可以是jsp或者freeMark等)。
Struts2是Struts的下一代产品,是在struts1和WebWork的技术基础上进行了合并的全新的Struts2框架。
其全新的Struts2的体系结构与Struts1的体系结构差别巨大。
Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。
虽然从Struts1到Struts2有着太大的变化,但是相对于WebWork,Struts2的变化很小。
ApacheStruts2是一个优雅的,可扩展的JavaEEweb框架。
框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。
ApacheStruts2是大家所熟知的WebWork2,在经历了几年的各自发展后,WebWork和Struts社区决定合二为一而成的产品。
它的优点在于:
(1)Struts2基于MVC架构,框架结构清晰,开发流程一目了然,开发人员可以很好的掌控开发的过程;
(2)使用OGNL进行参数传递,并且有强大的拦截器,而且易于测试;
(3)易于扩展的插件机制和全局结果与声明式异常。
1.3.5Hibernate简介
Hibernate是一个开放源代码的对象关系映射框架,Hibernate是数据持久层的一个轻量级框架。
数据持久层的框架有很多比如:
iBATIS,myBatis,Nhibernate,Siena等等。
并且Hibernate是一个开源的orm(object-relations-mapping)框架,提供了查询获取数据的方法,用面向对象的思想来操作数据库,节省了我们开发处理数据的时间,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate的核心接口一共有5个,分别为:
Session、SessionFactory、Transaction、Query和Configuration。
这5个核心接口在任何开发中都会用到。
通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。
Hibernate的运行过程如下:
1、应用程序先调用Configuration类,该类读取Hibernate配置文件及映射文件中的信息,
2、并用这些信息生成一个SessionFactory对象,
3、然后从SessionFactory对象生成一个Session对象,
4、并用Session对象生成Transaction对象;
A、可通过Session对象的get(),load(),save(),update(),delete()和saveOrUpdate()等方法对PO进行加载、保存、更新、删除、等操作;
B、在查询的情况下,可通过Session对象生成一个Query对象,然后利用Query对象执行查询操作;如果没有异常,Transaction对象将提交这些操作到数据库中。
1.4软硬件需求
硬件需求:
CPU:
Pentium以上计算机
内存:
512M以上
软件需求:
操作系统版本:
Win7
开发工具:
MyEclipse8.5
后台服务器:
ApacheTomcat6.0
开发语言:
Java
浏览器:
IE9.0
2需求分析
2.1需求调研
借助现代信息技术和管理理论,建立现代管理信息系统是当今社会的重要趋势。
随着企业的规模不断扩大,员工数量急剧增加,有关员工的各种信息量也成倍增长。
为了适应信息时代发展,提高企业的工作效率和办公水平,实现现代化企业的运行机制和高水平的管理,体现企业中计算机的特色,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信箱 系统 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)