电子邮箱系统的设计与实现资料.docx
- 文档编号:22811879
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:48
- 大小:1.11MB
电子邮箱系统的设计与实现资料.docx
《电子邮箱系统的设计与实现资料.docx》由会员分享,可在线阅读,更多相关《电子邮箱系统的设计与实现资料.docx(48页珍藏版)》请在冰豆网上搜索。
电子邮箱系统的设计与实现资料
本科毕业论文(设计)
(2016届本科毕业生)
题 目:
电子邮箱系统的设计与实现
学生姓名:
郭磊
学生学号:
12008086
学院名称:
科信软件学院
专业名称:
软件工程
指导教师:
朱良
二零一六年五月
【摘要】随着互联网通信业务的快速发展,很多企业都有自己的邮箱服务系统,现在流行的QQ邮箱,163邮箱等等邮箱无法满足这些企业的需求,因此,本人设计这个电子邮箱系统,此系统的主要运行环境有Eclipse,Mysql,通过对JSP编程和网页设计技术的学习,开发出一个简单的B/S结构下的电子邮箱系统。
能完成邮件的发送、接收、以及附件处理功能等。
本系统是采用JAVA语言开发,主要采用MVC开发模式,实现了一个基于JSP的B/S模式的电子邮箱系统。
该系统需要通过身份验证之后才能进入系统。
在系统中用户可以注册邮箱账号、可以查看自己所收到的邮件,用户也可以发送邮件到本系统中的其它用户的邮箱,发送邮件的时候可以发送带附件的邮件,可以下载附件,管理联系人,删除邮件等。
其主要功能包括发送邮件和接收邮件。
【关键词】邮箱,发送,接收,JSP,JAVA
DesignandImplementationof
ElectronicMailboxSystem
【Abstract】withtherapiddevelopmentofInternetcommunicationservices,manyenterpriseshaveitsownmailboxservicesystem,nowpopularQQmailbox,163mailbox,themailboxunabletomeettheneedsoftheseenterprises.Therefore,Idesignedtheelectronicmailsystem,thissystemmainoperatingenvironmenttotheeclipse,mysql,throughthestudyofJSPprogrammingandwebdesigntechnologydevelopedasimpleB/Sstructureoftheelectronicmailsystem.Cancompletethemailsend,receive,andtheattachmentprocessingfunction,etc..ThesystemistheuseofJAVAlanguagedevelopment,themainuseofMVCdevelopmentmodel,toachieveaB/SbasedontheJSPmodeloftheelectronicmailsystem.Thesystemneedstobeauthenticatedbeforeenteringthesystem.Inthesystemtheusercanregisteredemailaccount,youcancheckthereceivede-mail,userscanalsosendmessagestootherusersinthesystemmailboxandsendmailcansendmailwithattachments,candownloadtheattachmentandcontactmanagement,deletethemail.Itsmainfunctionsincludesendingandreceivingmessages.
【Keywords】Mailbox,send,receive,JAVA,JSP
1绪论
1.1课题背景
电子邮箱系统已经成为当今时代发送信件最重要的手段之一。
其发送的信件的大小已经不是以前可比的,其发送的信件的类型多,可以发送不带附件的信件,发送视频,发送音乐,发送许多格式的图片等。
通过使用电子邮箱系统,用户可以把自己不敢说的话通过信件或者音频发送到对方来表达自己的心意,公司的领导可以通过使用电子邮箱系统给公司的员工下达其需要完成的任务,既节省了时间,也提高了工作的效率,员工完成任务之后可以通过发送邮件来告知领导已完成自己的任务,让领导再通过邮件给自己布置任务,这样可以使员工不用和领导面对面交谈,正是由于电子邮件的使用简单易懂、投递速度快、收费价格低廉,信件容易保存、在全球范围内使用,可以无障碍交流,使得电子邮件被广泛地应用,它使人们的交流方式得到了极大的改变,因此本人开发了此电子邮箱系统,此电子邮箱系统可以满足用户所有的需求,此电子邮箱系统只适合公司内部使用即安全,又节省开支,既方便,又节约时间。
此电子邮箱系统的缺点就是无法向其它的邮箱系统发送邮件。
1.2国内现状
电子邮箱系统最早出现在20世界80年代,当时互联网通信才刚刚起步,人们还不了解互联网通信能做什么,但是由于互联网才刚刚起步,网速太慢,那时的邮箱只能发送简单的信息,其它信息都无法发送,而且需要,发送邮件人和接受邮件的人需要同时在线,现如今电子邮箱系统已经普及,电子邮箱系统功能越来越完善,发送的内容也越来越丰富,发送和接受双方不用同时在线,许多国家都有自己的电子邮箱系统,而我国使用的电子邮箱系统大致分为两种:
第一种是国外的电子邮箱系统。
在目前最具代表性的就是谷歌,雅虎,网易@@@@@@等。
它们是全国性的、综合的、在目前中国大陆的电子邮箱通信行业中应该是处于领先和知名度最高的邮箱系统。
当然随着互联网通信业务的高速发展,以及日益激烈的竞争,它们各有各的特色,但是在我国用的最多的国外邮箱如谷歌的@hotmail邮箱和苹果公司的邮箱系统,主要是因为拥有这些电子邮箱方便大家在其应用商店消费,这些电子邮箱方便人们消费,提高了人们生活质量。
第二种电子邮箱系统是我国自主设计和开发的。
最具代表性的就是:
QQ邮箱、新浪邮箱、中国人民银行系统、中国石化电子邮箱系统、邮政电子邮箱系统、教育部电子邮箱
系统、交行电子邮箱系统等,但这些电子邮箱系统,使用最多的是邮箱系统是QQ邮箱,163邮箱,其它邮箱基本上都不对外开放使用,因此这些邮箱系统根本无法满足人们所需要,这些邮箱系统有待与改进才能满足大众的需要。
综上所述,用户应该对电子邮件使用的安全性、邮件的可靠性及功能上的要求也必须在不断提高。
因此,电子邮箱系统就应该必须设计出更加安全、更加可靠、功能更加完善的邮箱系统,如何能设计出满足大众需求的邮箱系统,这才是设计和开发电子邮箱系统的关键之处,因此本人根据如今的国内研究邮箱系统的现状,自己独立设计和实现此邮箱系统,此系统完全免费,功能比较齐全,本系统适合公司内部使用,此系统只需要在一个局域网下的用户进行发送和接受邮件,此邮箱系统还存在许多不足之处,本人会在以后的开发过程中进行改进。
1.3研究意义
随着网络的快速发展,现在的人们都有自己的电子邮箱,有的人还可能有多个电子邮箱,以前的邮箱已经无法满足现在人们的需求,如今大多数人们的学习,工作,社交等都离不开电子邮箱,它已经深深的融入到人们的生活中,同时现在的邮箱和以前的邮箱具有天壤之别,现在的邮箱不但可以发送邮件,还可以发送贺卡,发送视频,发送音频,发送文件等等。
现如今各中大型公司都有自己的电子邮箱系统,它既可以节省人们的工作时间,又可以提高员工的工作效率,又因为电子邮箱系统完全免费,所以深受人们的喜爱,由此可以开发电子邮箱系统是必然的,因此本人选择设计和开发电子邮箱系统。
开发完善的电子邮箱系统,可以为许多公司,学校,医院等等,提供快捷服务,本人设计和开发的电子邮箱系统,不但具备其他邮箱的功能,此系统还有自己特有的功能,本系统如果在公司使用,领导和员工可以不用再面对面交流来布置任务,只需要给员工发送邮件来通知员工他自己的任务是什么,员工可以通过邮箱和领导交流,既节省了员工的工作时间,又提高员工的工作效率,又节省公司的开支。
展望未来,电子邮箱系统必成为社会发展不可缺少的一部分,而其自身的发展趋势也必然更专业化、高质量化。
那么就要求我们提供的不仅仅是简单的发送邮件,接受邮件这么一个功能,而是要做到邮箱可以满足用户其使用邮箱的要求等因素来改进我们的服务,使之更加专业,更有特色。
如今的邮箱应该具有的功能更多,邮箱的使用方式更加简单,方便。
1.4本文结构
1绪论,介绍课题的来源,课题的国内现状、研究意义及论文的结构等。
2需求分析,主要对系统的定义,功能需求,功能需求主要对邮箱的需求分析和用户的需求分析,数据需求是对邮箱使用者的个人信息分析,邮件的详细信息分析,邮件使用者联系人的信息分析。
3数据库设计,主要是数据库的概念,数据库选择是MySQL,数据库表的描述,数据库表主要有用户表,发件箱表,收件箱表,联系人表,并对数据关系进行说明。
4技术介绍,主要是对介绍JAVA开发语言的选择,J2EE平台技术介绍,JSP,SpringMVC技术。
MVC设计模式,SQL语言,以及开发环境的介绍。
5系统实现,系统总体实现部分主要论述写邮件实现,以及查看已发邮件功能模块、查看收件箱功能模块、联系人功能模块等功能模块如何实现进行论述。
6系统测试,主要是对系统进行测试。
2需求分析
2.1系统定义
电子邮箱系统顾名思义和以前的邮箱有巨大的差别,以前的邮箱只能发送信件,不能发送图片,视频,音频等不同类型的信息。
电子邮箱系统的出现在一定程度上取代了送信邮递员所具有的职能和作用,那么本系统只作为一个公司的邮箱系统使用,为本公司的领导与领导,员工与员工,领导与员工提供双向服务。
2.2功能需求
电子邮箱系统的功能需求实现了用户注册邮箱,用户发送带附件的邮件或发送不带附件的邮件,用户接收带附件的邮件或不带附件的邮件,邮件管理实现再次编辑发送功能,联系人管理可以添加联系人信息,修改联系人信息,删除联系人,邮箱最主要功能发送邮件和接收邮件。
2.2.1从邮箱需求的角度分析
邮箱发送主要是发送带附件的邮件和发送不带附件的邮件。
邮箱接收主要接受带附件的邮件和不带附件的邮件。
2.2.2从用户的角度分析
邮箱使用者主要注册电子邮箱,如果注册的邮箱存在的,系统会提示用户此邮箱地址已经被注册。
邮箱使用者登录邮箱修改个人信息,修改用户姓名,修改用户登录密码。
邮箱使用者即用户可以查看联系人信息,可以修改联系人信息,添加联系人信息,如果添加的联系人在此用户的通讯录存在时,提示用户通讯录已经添加过这个联系人,用户还可以删除联系人信息。
邮箱使用者发送邮件,发送邮件包括发送带附件的邮件和发送不带附件的邮件。
邮箱使用者还可以查看所有已经发送过的邮件,已发的邮件可以编辑之后再次发送。
邮箱使用者可以删除发件箱的邮件。
邮箱使用者可以查看其它用户给其发送的信件,可以回复别人的信件,也可以下载
其它用户所发送的附件信息。
邮箱使用者可以删除其它用户给其发送的信件。
2.3数据需求
1.电子邮箱使用者的个人信息
电子邮箱使用者信息包括使用者姓名、电子邮箱地址,邮箱登录密码。
2.邮件的详细信息
邮件主要分为发送的邮件和接收的邮件,发送的邮件信息包括,邮件主题,邮件发送的收件人,邮件的附件,邮件主要内容,邮件的发送时间,邮件是否发送成功,接收邮件信息包括,邮件主题,邮件发件人,邮件附件,邮件主要内容,邮件发送时间,邮件是否已读。
3.邮箱使用者的联系人的信息
邮箱使用者联系人信息包括联系人姓名、联系人邮箱地址。
2.4邮箱系统总体用例图
图2-1邮箱系统总体用例图
通过图2-1可知用户可以注册邮箱账号,登录系统,查看个人信息,修改个人信息,查看所有发送邮件,查看其中一封邮件,编辑之后可以再次发送。
删除已发邮件,查看所有收到的信件,查看信件详细信息,下载附件,回复信件,用户也可以查看通讯录的详细信息,添加联系人信息,修改联系人信息,删除联系人信息,用户发送邮件时,可以上传附件等。
3技术介绍
3.1JAVA开发语言的选择
Java是由SunMicrosystems公司于1995年5月推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。
由JamesGosling和同事们共同研发,并在1995年正式推出。
Java有很多特点适合程序员选择它开发,如使用简单、它是面向对象的编程思想、分布式的特点也很好、它具有健壮性、使用其安全、结构比较中立、可移植到别的操作系统、性能很优异的、它还是多线程的、开发语言是动态的。
Java是平台无关性的语言,引用虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。
Java吸取了C++面向对象的概念,将数据封装在类中,利用类的优点,实现了程序的简洁性和便于维护性。
Java分为三种体系:
其一J2SEjava平台标准版(Java2PlatformStandardEdition),其二J2EEjava平台企业版(Java2PlatformEnterpriseEdition),J2MEjava平台微型版(Java2PlatformMicroEdition)。
但是本邮箱系统采用的是J2EE平台技术。
由于java开发语言要各种特点符合编程的思想,使程序员使用简单易懂,开发的系统可以在各种系统上运行,因此本人选择java语言作为本系统的开发语言。
3.2J2EE平台技术介绍
J2EE(Java2Platform,EnterpriseEdition,java平台企业版)是专为大型企业主机级的计算类型而开发的Java平台。
它是由sun公司定义的一个分布式开发的应用模型,它为一些开发技术进行规范。
由于定义了标准的可重复使用模块组件以及由于构建出能够自动处理编程过程中所遇到的多方面问题的等级结构,J2EE简化了应用程序的开发,也降低了对编程和对使用此平台的程序员的要求。
使用多层次的分布式应用模型可以把指定功能和应用逻辑进行分层,每个层次可以支持相对应的服务器和组件,在分布式的组件容器中可以运行多种组件,通过各种协议,各个容器之间可以进行通讯,从而实现各个容器间相互调用,从而应用开发变得越来越简单,快速。
J2EE包含13中核心技术,因此本邮箱系统使用此平台,主要用了JDBC技术,JSP技术,javaservlet技术和xml技术,本系统使用JDBC来连接数据库,从而可以从数据库表中获取数据到页面,使用JSP技术作为界面为用户呈现从数据库表中获取的数据,使用javaservlet技术来控制model层和JSP层从而可以实现页面与数据库进行交互,使用xml来配置文件等等,因为它支持完整的web服务,解决方案时间更加迅速,也可以自由选择使用,从而保证此平台开发的应用程序和组件的可移植性。
此平台也可以简化连接,它很容易把已开发的应用程序和其他设备连接起来,以便通过远程连接来控制应用程序可见使用此平台可以大大缩短了开发时间,可以使开发者写更少的代码,这样可以更快的开发应用程序。
但是学习此平台比较困难,需要经验与思考,需要多动手,多实践,更需要有创新精神。
3.3JSP,SpringMVC技术
3.3.1JSP
JSP(JavaServerPages)一种动态网页技术。
JSP技术和ASP技术,有点相似,它主要表示视图层,而servlet主要表示业务逻辑层。
JSP语法分三大类,指令元素,脚本元素,动作元素,指令元素又包括包含指令,页指令,动作元素,脚本元素有注释即源文件显示,页面不显示也有源文件不显示,页面也不显示,主要给程序员写程序的时候使用。
声明,相当于定义变量,定义方法,声明部分不能被调用,只是声明,但是可在下面用表达式调用声明,表达式相当于一个输出流,脚本段主要是代码段不能写方法,但是可以在声明里写函数,在脚本段调用,前台不显示,只在后台执行java语句,动作元素是以JSP开头的其中静态包含灵活性不高,速度快,占用资源小,相当于把一个页面的代码拆成两个页面来写,动态包含占用资源大速度慢,灵活性高静态包含相当于把两个页面的代码放在一起编译动态包含是把两个界面代码分别编译把结果放到第一个界面一起输出。
JSP有九大内置对象,request是为了获得从页面传递过来的参数,获得cookie,response对象可以禁用缓存,页面刷新,定时跳转,设置文本类型,重定向等,session是服务器端管理状态的技术,当客户端向服务端发送请求时,服务器端会自动创建一个session对象,默认情况下,服务器端会使用cookie技术把sessionid发送给客户端,客户端会把sessionid保存起来,当客户端下次访问服务器时候,服务器会依据sessionid找到session对象,application对象,out对象相当于输出,page对象相当于this别名,config对象配置对象,pageContext对象,它包含page对象request对象,session对象,application对象,exception对象,异常对象。
本邮箱系统主要使用的session对象,它作用与同一个浏览器中,在各个页面共享数据,无论当前浏览器是否在多个页面间执行了跳转操作,整个用户会话一直存在,直到关闭浏览器,如果一个会话中的客户端时间不向服务器发出请求,session对象就会自动消失,这个时间取决于服务器而page对象只能在本页面使用request对象可以视为一个域,可以应用setAttribute()方法在域范围内存放数据,application对象在服务器启动时自动创建,在服务器停止时销毁当application对象没有被销毁时,所有用户都可以共享他,它适用于在同一个应用程序中的各个用户共享数据。
3.3.2SpringMVC
SpringMVC框架是一种基于Java的实现了WebMVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,它是基于请求的驱动,指的就是使用请求响应模型,其实框架的目的就是帮助我们简化开发,SpringMVC也是要简化开发者日常Web开发的。
SpringMVC也是一个基于请求驱动的web框架,并且也使用了前端控制器模式来进行设计,在根据请求映射规则分发给相应的页面控制器即动作处理器进行处理。
框架开发过程如图3-1。
图3-1SpringMVC图
具体执行步骤如下:
首先用户发送请求给DispatcherServlet,前端控制器收到请求后自己不进行处理,而是委托给其它的解析器进行处理作为统一访问点,进行全局的流程控制Handlermapping将会把请求映射HandlerExecutionChain对象,servlet将会把处理器包装为适配器,从而支持多种类型的处理器,即适配器设计模式的应用,从而很容易支持很多类型的处理器,处理器的功能处理方法的调用,HandlerAdapter将会根据适配的结果调用真正的处理器功能处理方法,完成功能处理;并且返回一个ModelAndview对象包含模型数据和逻辑视图名,逻辑视图名通过ViewResolver将把逻辑视图名解析为具体的View,通过这种策略模式,很容易更换其他视图技术,view经过渲染,会根据传进来的model模型数据进行渲染,此处的model实际是一个map数据结构,因此很容易支持其他视图技术,然后返回控制权给DispacherServlet,由DispacherServlet返回响应给用户。
到此整个过程结束。
3.4MVC设计模式
MVC它是Model,View,Controller三个单词的简称,它是一种程序设计模式,MVC设计模式可分成三个重要的模块:
模型模块、视图模块、控制器模块,控制器控制其它模块,但它们各自还要处理其自己的任务。
1.视图
负责进行模型展示,一般就是人们见到的用户界面,即客户想看到的东西视图是,它的作用包括向用户展示相关的数据、接收用户的请求、向模型查看模型其的业务状态、接收模型所发出的数据要修改的事件,这样就可以对用户界面进行更新操作。
2.模型
数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或者JAVABEAN组件,不过现在都分开使用,数据和服务层。
也就是模型提供了模型数据查询和模型数据的状态更新功能,包括数据和业务。
3.控制器
控制器接收用户请求,委托给模型进行处理即状态改变,处理完毕后吧返回的模型数据返回给视图,由视图负责展示。
也就是说控制器做了个调度员的工作,但在web开发中模型是无法主动更新用户界面,因为web开发是请求响应模型,由此可见控制器是控制模型和视图的中枢,它来调度视图与模型使其发生改变。
3.4.1MVC的优点
一个模型可以给多个视图使用,重用性高,可以降低代码的耦合度,控制层的灵活性比较高,易完成用户的需求,适合完成较大的项目,使用MVC,可以提高后期项目开发效率,使用MVC可以直接向数据库发送请求并且把响应显示到界面,MVC开发的项目,通过分层结构比较清晰,MVC开发的项目能够软件工程化管理,由于是分层的,每层都有每层的作用,可以通过工程化,工具化管理应用程序代码。
3.4.2MVC的缺点
由于MVC没有完整的定义,所以完全理解MVC是什么并不是很简单。
使用MVC需要有详细的计划,又因为它的内部原理很复杂,所以需要使用很多时间去理解。
开发者需要花费许多时间去研究如何将MVC使用用到设计者开发的应用程序中,同时由于模型和视图需要单独分离,这样使应用程序的调试更加困难。
每个构件在使用之前都需要经过完全的测试。
如果开发者的构件通过了测试,开发者就可以毫无顾忌的重复使用次构件了。
根据开发者经验,因为一个应用程序被开发者分成三个部件,所以如果使用MVC同时也意味着你需要管理比以前更多的文件,这一点是必须需要的而且不能缺少。
这样可能使开发者的工作量增加,但是运用MVC设计模式到应用程序的好处并不是很多。
小型或者中等规模的应用程序不适合用MVC设计模式,花费更多的时间将MVC应用到规模并不是很大的应用程序通常不被开发者使用。
3.4.3MVC处理过程
首先用户发送请求给前段控制器,然后前段控制器根据请求信息来决定选择哪个页面控制器进行处理并把请求委托给它,页面控制器接受到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在框架中叫命令对象,并进行验证。
然后将命令对象委托给业务对象进行处理,处理完毕后返回一个ModelAndView,然后前段控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染,前段控制器再次收回控制器,将响应返回给用户,至此整个过程到此结束。
处理过程图见图3-2。
图3-2MVC图
3.5SQL语言
SQL(StructureQueryLanguage结构化查询语言)是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,它的编程语言是一种非过程化语言,使用此数据库用户可以不用指定存放数据的方式,也不用知道如何把数据存放到数据库中,结构化查询语句可以嵌套,由此可知SQL数据库灵活性极高和它的功能如此齐全。
SQL语言
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子邮箱 系统 设计 实现 资料