1、 本科毕业论文(设计)(2016 届本科毕业生)题 目 : 电 子 邮 箱 系 统 的 设 计 与 实 现 学 生 姓 名 : 郭 磊 学 生 学 号 : 12008086 学 院 名 称 : 科 信 软 件 学 院 专 业 名 称 : 软 件 工 程 指 导 教 师 : 朱 良 二零一六年 五月沈阳师范大学本科毕业论文I【摘 要】 随着互联网通信业务的快速发展,很多企业都有自己的邮箱服务系统,现在流行的 QQ 邮箱,163 邮箱等等邮箱无法满足这些企业的需求,因此,本人设计这个电子邮箱系统,此系统的主要运行环境有 Eclipse,Mysql,通过对 JSP 编程和网页设计技术的学习,开发出一
2、个简单的 B/S 结构下的电子邮箱系统。能完成邮件的发送、接收、以及附件处理功能等。本系统是采用 JAVA 语言开发,主要采用 MVC 开发模式,实现了一个基于JSP 的 B/S 模式的电子邮箱系统。该系统需要通过身份验证之后才能进入系统。在系统中用户可以注册邮箱账号、可以查看自己所收到的邮件,用户也可以发送邮件到本系统中的其它用户的邮箱,发送邮件的时候可以发送带附件的邮件,可以下载附件,管理联系人,删除邮件等。其主要功能包括发送邮件和接收邮件。【关键词】 邮箱,发送 ,接收 ,JSP,JAVA 沈阳师范大学本科毕业论文II Design and Implementation of Elect
3、ronic Mailbox System【Abstract】with the rapid development of Internet communication services, many enterprises have its own mailbox service system, now popular QQ mailbox, 163 mailbox, the mailbox unable to meet the needs of these enterprises. Therefore, I designed the electronic mail system, this sy
4、stem main operating environment to the eclipse, mysql, through the study of JSP programming and web design technology developed a simple B / S structure of the electronic mail system. Can complete the mail send, receive, and the attachment processing function, etc The system is the use of JAVA langu
5、age development, the main use of MVC development model, to achieve a B/S based on the JSP model of the electronic mail system. The system needs to be authenticated before entering the system. In the system the user can registered email account, you can check the received e-mail, users can also send
6、messages to other users in the system mailbox and send mail can send mail with attachments, can download the attachment and contact management, delete the mail. Its main functions include sending and receiving messages.【Keywords】Mailbox ,send ,receive ,JAVA ,JSP沈阳师范大学本科毕业论文III 目 录1 绪论 11.1 课题背景 11.2
7、 国内现状 11.3 研究意义 21.4 本文结构 22 需求分析 42.1 系统定义 42.2 功能需求 42.2.1 从邮箱需求的角度分析 42.2.2 从用户的角度分析 42.3 数据需求 42.4 邮箱系统总体用例图 53 技术介绍 63.1 JAVA 开发语言的选择 .63.2 J2EE 平台技术介绍 .63.3 JSP,Spring MVC 技术 73.4 MVC 设计模式 93.5 SQL 语言 .103.6 开发环境 .114 数据库设计 .124.1 数据库的概念 .124.2 数据库的选择 .124.3 数据库表的描述 .125 系统实现 .175.1 邮箱系统总体架构及实
8、现 .175.2 写信 .185.3 查看已发邮件信息 .215.4 查看收件箱信息 .235.5 查看联系人信息 .27沈阳师范大学本科毕业论文IV5.6 其他功能 .306 系统测试 .336.1 测试的目的 .336.2 登录测试 .336.3 发送邮件测试 .336.4 测试结果分析 .34总结 35致 谢 36参考文献 37附录一 数据库连接 38沈阳师范大学本科毕业论文11 绪论1.1 课题背景电子邮箱系统已经成为当今时代发送信件最重要的手段之一。其发送的信件的大小已经不是以前可比的,其发送的信件的类型多,可以发送不带附件的信件,发送视频,发送音乐,发送许多格式的图片等。通过使用电
9、子邮箱系统,用户可以把自己不敢说的话通过信件或者音频发送到对方来表达自己的心意,公司的领导可以通过使用电子邮箱系统给公司的员工下达其需要完成的任务,既节省了时间,也提高了工作的效率,员工完成任务之后可以通过发送邮件来告知领导已完成自己的任务,让领导再通过邮件给自己布置任务,这样可以使员工不用和领导面对面交谈,正是由于电子邮件的使用简单易懂、投递速度快、收费价格低廉,信件容易保存、在全球范围内使用,可以无障碍交流,使得电子邮件被广泛地应用,它使人们的交流方式得到了极大的改变,因此本人开发了此电子邮箱系统,此电子邮箱系统可以满足用户所有的需求,此电子邮箱系统只适合公司内部使用即安全,又节省开支,既
10、方便,又节约时间。此电子邮箱系统的缺点就是无法向其它的邮箱系统发送邮件。1.2 国内现状电子邮箱系统最早出现在 20 世界 80 年代,当时互联网通信才刚刚起步,人们还不了解互联网通信能做什么,但是由于互联网才刚刚起步,网速太慢,那时的邮箱只能发送简单的信息,其它信息都无法发送,而且需要,发送邮件人和接受邮件的人需要同时在线,现如今电子邮箱系统已经普及,电子邮箱系统功能越来越完善,发送的内容也越来越丰富,发送和接受双方不用同时在线,许多国家都有自己的电子邮箱系统,而我国使用的电子邮箱系统大致分为两种:第一种是国外的电子邮箱系统。在目前最具代表性的就是谷歌,雅虎,网易 等。它们是全
11、国性的、综合的、在目前中国大陆的电子邮箱通信行业中应该是处于领先和知名度最高的邮箱系统。当然随着互联网通信业务的高速发展,以及日益激烈的竞争,它们各有各的特色,但是在我国用的最多的国外邮箱如谷歌的hotmail 邮箱和苹果公司的邮箱系统,主要是因为拥有这些电子邮箱方便大家在其应用商店消费,这些电子邮箱方便人们消费,提高了人们生活质量。第二种电子邮箱系统是我国自主设计和开发的。最具代表性的就是:QQ 邮箱、新浪邮箱、中国人民银行系统、中国石化电子邮箱系统、邮政电子邮箱系统、教育部电子邮箱沈阳师范大学本科毕业论文2系统、交行电子邮箱系统等,但这些电子邮箱系统,使用最多的是邮箱系统是 QQ 邮箱,1
12、63 邮箱,其它邮箱基本上都不对外开放使用,因此这些邮箱系统根本无法满足人们所需要,这些邮箱系统有待与改进才能满足大众的需要。综上所述,用户应该对电子邮件使用的安全性、邮件的可靠性及功能上的要求也必须在不断提高。因此,电子邮箱系统就应该必须设计出更加安全、更加可靠、功能更加完善的邮箱系统,如何能设计出满足大众需求的邮箱系统,这才是设计和开发电子邮箱系统的关键之处,因此本人根据如今的国内研究邮箱系统的现状,自己独立设计和实现此邮箱系统,此系统完全免费,功能比较齐全,本系统适合公司内部使用,此系统只需要在一个局域网下的用户进行发送和接受邮件,此邮箱系统还存在许多不足之处,本人会在以后的开发过程中进
13、行改进。1.3 研究意义随着网络的快速发展,现在的人们都有自己的电子邮箱,有的人还可能有多个电子邮箱,以前的邮箱已经无法满足现在人们的需求,如今大多数人们的学习,工作,社交等都离不开电子邮箱,它已经深深的融入到人们的生活中,同时现在的邮箱和以前的邮箱具有天壤之别,现在的邮箱不但可以发送邮件,还可以发送贺卡,发送视频,发送音频,发送文件等等。现如今各中大型公司都有自己的电子邮箱系统,它既可以节省人们的工作时间,又可以提高员工的工作效率,又因为电子邮箱系统完全免费,所以深受人们的喜爱,由此可以开发电子邮箱系统是必然的,因此本人选择设计和开发电子邮箱系统。开发完善的电子邮箱系统,可以为许多公司,学校
14、,医院等等,提供快捷服务,本人设计和开发的电子邮箱系统,不但具备其他邮箱的功能,此系统还有自己特有的功能,本系统如果在公司使用,领导和员工可以不用再面对面交流来布置任务,只需要给员工发送邮件来通知员工他自己的任务是什么,员工可以通过邮箱和领导交流,既节省了员工的工作时间,又提高员工的工作效率,又节省公司的开支。展望未来,电子邮箱系统必成为社会发展不可缺少的一部分,而其自身的发展趋势也必然更专业化、高质量化。那么就要求我们提供的不仅仅是简单的发送邮件,接受邮件这么一个功能,而是要做到邮箱可以满足用户其使用邮箱的要求等因素来改进我们的服务,使之更加专业,更有特色。如今的邮箱应该具有的功能更多,邮箱
15、的使用方式更加简单,方便。1.4 本文结构1 绪论,介绍课题的来源,课题的国内现状、研究意义及论文的结构等。沈阳师范大学本科毕业论文32 需求分析,主要对系统的定义,功能需求,功能需求主要对邮箱的需求分析和用户的需求分析,数据需求是对邮箱使用者的个人信息分析,邮件的详细信息分析,邮件使用者联系人的信息分析。3 数据库设计,主要是数据库的概念,数据库选择是 MySQL,数据库表的描述,数据库表主要有用户表,发件箱表,收件箱表,联系人表,并对数据关系进行说明。 4 技术介绍,主要是对介绍 JAVA 开发语言的选择,J2EE 平台技术介绍,JSP,Spring MVC 技术。MVC 设计模式,SQL
16、 语言,以及开发环境的介绍。5 系统实现,系统总体实现部分主要论述写邮件实现,以及查看已发邮件功能模块、查看收件箱功能模块、联系人功能模块等功能模块如何实现进行论述。6 系统测试,主要是对系统进行测试。沈阳师范大学本科毕业论文42 需求分析2.1 系统定义电子邮箱系统顾名思义和以前的邮箱有巨大的差别,以前的邮箱只能发送信件,不能发送图片,视频,音频等不同类型的信息。电子邮箱系统的出现在一定程度上取代了送信邮递员所具有的职能和作用,那么本系统只作为一个公司的邮箱系统使用,为本公司的领导与领导,员工与员工,领导与员工提供双向服务。2.2 功能需求电子邮箱系统的功能需求实现了用户注册邮箱,用户发送带
17、附件的邮件或发送不带附件的邮件,用户接收带附件的邮件或不带附件的邮件,邮件管理实现再次编辑发送功能,联系人管理可以添加联系人信息,修改联系人信息,删除联系人,邮箱最主要功能发送邮件和接收邮件。2.2.1 从邮箱需求的角度分析邮箱发送主要是发送带附件的邮件和发送不带附件的邮件。邮箱接收主要接受带附件的邮件和不带附件的邮件。2.2.2 从用户的角度分析邮箱使用者主要注册电子邮箱,如果注册的邮箱存在的,系统会提示用户此邮箱地址已经被注册。邮箱使用者登录邮箱修改个人信息,修改用户姓名,修改用户登录密码。邮箱使用者即用户可以查看联系人信息,可以修改联系人信息,添加联系人信息,如果添加的联系人在此用户的通
18、讯录存在时,提示用户通讯录已经添加过这个联系人,用户还可以删除联系人信息。邮箱使用者发送邮件,发送邮件包括发送带附件的邮件和发送不带附件的邮件。邮箱使用者还可以查看所有已经发送过的邮件,已发的邮件可以编辑之后再次发送。邮箱使用者可以删除发件箱的邮件。邮箱使用者可以查看其它用户给其发送的信件,可以回复别人的信件,也可以下载其它用户所发送的附件信息。邮箱使用者可以删除其它用户给其发送的信件。2.3 数据需求1.电子邮箱使用者的个人信息电子邮箱使用者信息包括使用者姓名、电子邮箱地址,邮箱登录密码。沈阳师范大学本科毕业论文52.邮件的详细信息邮件主要分为发送的邮件和接收的邮件,发送的邮件信息包括,邮件
19、主题,邮件发送的收件人,邮件的附件,邮件主要内容,邮件的发送时间,邮件是否发送成功,接收邮件信息包括,邮件主题,邮件发件人,邮件附件,邮件主要内容,邮件发送时间,邮件是否已读。3.邮箱使用者的联系人的信息邮箱使用者联系人信息包括联系人姓名、联系人邮箱地址。2.4 邮箱系统总体用例图registerloginsendLeterupdateAdresBokdeleteAdresBokshowAdresBokshowonesendemaildeleteOneSendEmalshowAlSendEmailshowOneRecipEmaildeleteOneRecipEmailupdateSelfInf
20、oshowSelfInfoUsershowAlRecipEmal图 2-1 邮箱系统总体用例图通过图 2-1 可知用户可以注册邮箱账号,登录系统,查看个人信息,修改个人信息,查看所有发送邮件,查看其中一封邮件,编辑之后可以再次发送。删除已发邮件,查看所有收到的信件,查看信件详细信息,下载附件,回复信件,用户也可以查看通讯录的详细信息,添加联系人信息,修改联系人信息,删除联系人信息,用户发送邮件时,可以上传附件等。沈阳师范大学本科毕业论文63 技术介绍3.1 JAVA 开发语言的选择Java 是 由 Sun Microsystems 公 司 于 1995 年 5 月 推 出 的 Java 面 向
21、 对 象 程 序 设计 语 言 ( 以 下 简 称 Java 语 言 ) 和 Java 平 台 的 总 称 。 由 James Gosling 和 同 事 们共 同 研 发 , 并 在 1995 年 正 式 推 出 。Java 有很多特点适合程序员选择它开发,如使用简单、它是面向对象的编程思想、分布式的特点也很好、它具有健壮性、使用其安全、结构比较中立、可移植到别的操作系统、性能很优异的、它还是多线程的、开发语言是动态的。Java 是平台无关性的语言,引用虚拟机原理,并运行于虚拟机,实现不同平台的 Java 接口之间。Java 吸取了 C+面向对象的概念,将数据封装在类中,利用类的优点,实现了
22、程序的简洁性和便于维护性。Java 分 为 三 种 体 系 : 其 一 J2SE java 平 台 标 准 版 (Java2 Platform Standard Edition), 其 二 J2EE java 平 台 企 业 版 (Java 2 Platform Enterprise Edition),J2ME java 平 台 微 型 版 (Java 2 Platform Micro Edition)。 但 是 本 邮 箱 系 统 采 用 的是 J2EE 平 台 技 术 。由于 java 开发语言要各种特点符合编程的思想,使程序员使用简单易懂,开发的系统可以在各种系统上运行,因此本人选择 j
23、ava 语言作为本系统的开发语言。3.2 J2EE 平台技术介绍J2EE(Java 2 Platform, Enterprise Edition,java 平台企业版)是专为大型企业主机级的计算类型而开发的 Java 平台。它是由 sun 公司定义的一个分布式开发的应用模型,它为一些开发技术进行规范。由于定义了标准的可重复使用模块组件以及由于构建出能够自动处理编程过程中所遇到的多方面问题的等级结构,J2EE 简化了应用程序的开发,也降低了对编程和对使用此平台的程序员的要求。使用多层次的分布式应用模型可以把指定功能和应用逻辑进行分层,每个层次可以支持相对应的服务器和组件,在分布式的组件容器中可以
24、运行多种组件,通过各种协议,各个容器之间可以进行通讯,从而实现各个容器间相互调用,从而应用开发变得越来越简单,快速。J2EE 包含 13 中核心技术,因此本邮箱系统使用此平台,主要用了 JDBC 技术,JSP技术,java servlet 技术和 xml 技术,本系统使用 JDBC 来连接数据库,从而可以从数据库表中获取数据到页面,使用 JSP 技术作为界面为用户呈现从数据库表中获取的数据,使用 java servlet 技术来控制 model 层和 JSP 层从而可以实现页面与数据库进行交互,沈阳师范大学本科毕业论文7使用 xml 来配置文件等等,因为它支持完整的 web 服务,解决方案时间
25、更加迅速,也可以自由选择使用,从而保证此平台开发的应用程序和组件的可移植性。此平台也可以简化连接,它很容易把已开发的应用程序和其他设备连接起来,以便通过远程连接来控制应用程序可见使用此平台可以大大缩短了开发时间,可以使开发者写更少的代码,这样可以更快的开发应用程序。但是学习此平台比较困难,需要经验与思考,需要多动手,多实践,更需要有创新精神。3.3 JSP,Spring MVC 技术3.3.1 JSPJSP(Java Server Pages)一种动态网页技术。JSP 技术和 ASP 技术,有点相似,它主要表示视图层,而 servlet 主要表示业务逻辑层。JSP 语法分三大类,指令元素,脚本
26、元素,动作元素,指令元素又包括包含指令,页指令,动作元素,脚本元素有注释即源文件显示,页面不显示也有源文件不显示,页面也不显示,主要给程序员写程序的时候使用。声明,相当于定义变量,定义方法,声明部分不能被调用,只是声明,但是可在下面用表达式调用声明,表达式相当于一个输出流,脚本段主要是代码段不能写方法,但是可以在声明里写函数,在脚本段调用,前台不显示,只在后台执行 java 语句,动作元素是以 JSP 开头的其中静态包含灵活性不高,速度快,占用资源小,相当于把一个页面的代码拆成两个页面来写,动态包含占用资源大速度慢,灵活性高静态包含相当于把两个页面的代码放在一起编译动态包含是把两个界面代码分别
27、编译把结果放到第一个界面一起输出。JSP 有九大内置对象,request 是为了获得从页面传递过来的参数,获得 cookie ,response 对象可以禁用缓存,页面刷新,定时跳转,设置文本类型,重定向等,session 是服务器端管理状态的技术,当客户端向服务端发送请求时,服务器端会自动创建一个 session 对象,默认情况下,服务器端会使用 cookie 技术把 session id 发送给客户端,客户端会把 session id 保存起来,当客户端下次访问服务器时候,服务器会依据session id 找到 session 对象,application 对象,out 对象相当于输出,p
28、age 对象相当于 this 别名,config 对象 配置对象,pageContext 对象,它包含 page 对象 request 对象,session 对象,application 对象,exception 对象,异常对象。本邮箱系统主要使用的 session 对象,它作用与同一个浏览器中,在各个页面共享数据,无论当前浏览器是否在多个页面间执行了跳转操作,整个用户会话一直存在,直到关闭浏览器,如果一个会话中的客户端时间不向服务器发出请求,session 对象就会自动消失,这个时间取决于服务器而 page 对象只能在本页面使用 request 对象可以视为一个域,可以应用 setAttri
29、bute()方法在域范围内存放数据,application 对象在服沈阳师范大学本科毕业论文8务器启动时自动创建,在服务器停止时销毁当 application 对象没有被销毁时,所有用户都可以共享他,它适用于在同一个应用程序中的各个用户共享数据。3.3.2 Spring MVCSpring MVC 框架是一种基于 Java 的实现了 Web MVC 设计模式的请求驱动类型的轻量级 Web 框架,即使用了 MVC 架构模式的思想,将 web 层进行职责解耦,它是基于请求的驱动,指的就是使用请求响应模型,其实框架的目的就是帮助我们简化开发,Spring MVC 也是要简化开发者日常 Web 开发的
30、。Spring MVC 也是一个基于请求驱动的 web 框架,并且也使用了前端控制器模式来进行设计,在根据请求映射规则分发给相应的页面控制器即动作处理器进行处理。框架开发过程如图 3-1。用户 前段控制器页面控制器 / 处理器视图 模型1 , 发送请求8 . 产生响应6 , 渲染视图7 , 返回控制2 , 委托请求给处理器5 , 返回M o d e l A n d V i e w4 , 返回模型数据调用业务对象图 3-1 Spring MVC 图具体执行步骤如下:首先用户发送请求给 DispatcherServlet,前端控制器收到请求后自己不进行处理,而是委托给其它的解析器进行处理作为统一访
31、问点,进行全局的流程控制 Handlermapping 将会把请求映射 HandlerExecutionChain 对象,servlet 将会把处理器包装为适配器,从而支持多种类型的处理器,即适配器设计模式的应用,从而很容易支持很多类型的处理器,处理器的功能处理方法的调用,HandlerAdapter 将会根据适配的结果调用真正的处理器功能处理方法,完成功能处理;并且返回一个 ModelAndview 对象包含模型数据和逻辑视图名,逻辑视图名通过 ViewResolver 将把逻辑视图名解析沈阳师范大学本科毕业论文9为具体的 View,通过这种策略模式,很容易更换其他视图技术,view 经过渲
32、染,会根据传进来的 model 模型数据进行渲染,此处的 model 实际是一个 map 数据结构,因此很容易支持其他视图技术,然后返回控制权给 DispacherServlet,由 DispacherServlet 返回响应给用户。到此整个过程结束。3.4 MVC 设计模式MVC 它是 Model,View,Controller 三个单词的简称,它是一种程序设计模式,MVC设计模式可分成三个重要的模块:模型模块、视图模块、控制器模块,控制器控制其它模块,但它们各自还要处理其自己的任务。1.视图负责进行模型展示,一般就是人们见到的用户界面,即客户想看到的东西视图是,它的作用包括向用户展示相关的
33、数据、接收用户的请求、向模型查看模型其的业务状态、接收模型所发出的数据要修改的事件,这样就可以对用户界面进行更新操作。2.模型数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或者JAVABEAN 组件,不过现在都分开使用,数据和服务层。也就是模型提供了模型数据查询和模型数据的状态更新功能,包括数据和业务。3.控制器控制器接收用户请求,委托给模型进行处理即状态改变,处理完毕后吧返回的模型数据返回给视图,由视图负责展示。也就是说控制器做了个调度员的工作,但在 web 开发中模型是无法主动更新用户界面,因为 web 开发是请求响应模型,由此可见控制器是控制模型和视图的中枢,它来调度
34、视图与模型使其发生改变。3.4.1 MVC 的优点一个模型可以给多个视图使用,重用性高,可以降低代码的耦合度,控制层的灵活性比较高,易完成用户的需求,适合完成较大的项目,使用 MVC,可以提高后期项目开发效率,使用 MVC 可以直接向数据库发送请求并且把响应显示到界面,MVC 开发的项目,通过分层结构比较清晰,MVC 开发的项目能够软件工程化管理,由于是分层的,每层都有每层的作用,可以通过工程化,工具化管理应用程序代码。3.4.2 MVC 的缺点由于 MVC 没有完整的定义,所以完全理解 MVC 是什么并不是很简单。使用 MVC需要有详细的计划,又因为它的内部原理很复杂,所以需要使用很多时间去
35、理解。 开发者需要花费许多时间去研究如何将 MVC 使用用到设计者开发的应用程序中,沈阳师范大学本科毕业论文10同时由于模型和视图需要单独分离,这样使应用程序的调试更加困难。每个构件在使用之前都需要经过完全的测试。如果开发者的构件通过了测试,开发者就可以毫无顾忌的重复使用次构件了。 根据开发者经验,因为一个应用程序被开发者分成三个部件,所以如果使用 MVC同时也意味着你需要管理比以前更多的文件,这一点是必须需要的而且不能缺少。这样可能使开发者的工作量增加,但是运用 MVC 设计模式到应用程序的好处并不是很多。小型或者中等规模的应用程序不适合用 MVC 设计模式,花费更多的时间将 MVC 应用到
36、规模并不是很大的应用程序通常不被开发者使用。3.4.3 MVC 处理过程首先用户发送请求给前段控制器,然后前段控制器根据请求信息来决定选择哪个页面控制器进行处理并把请求委托给它,页面控制器接受到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在框架中叫命令对象,并进行验证。然后将命令对象委托给业务对象进行处理,处理完毕后返回一个 ModelAndView,然后前段控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染,前段控制器再次收回控制器,将响应返回给用户,至此整个过程到此结束。处理过程图见图 3-2。用户模型视图控制器1 .
37、发送请求2 . 状态改变可能返回视图要展示的数据模型3 . 选择视图 , 展示模型4 . 返回响应3 . 将模型直接退给视图图 3-2 MVC 图沈阳师范大学本科毕业论文113.5 SQL 语言SQL(Structure Query Language 结构化查询语言)是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,它的编程语言是一种非过程化语言,使用此数据库用户可以不用指定存放数据的方式,也不用知道如何把数据存放到数据库中,结构化查询语句可以嵌套,由此可知 SQL 数据库灵活性极高和它的功能如此齐全。SQL 语言的分类1、数据库查询语言 DQL(Data Query language
38、),它是为了从数据库中的表获取数据,从而确定应用程序如何获取数据的。2、数据操纵语言 DML(Data Manipulation Language),其作用包括插入数据信息、删除数据信息、更改数据信息(insert、 delete、 update),也称为动作查询语言。3、事务处理语言 TPL,它的作用是为了保证被 DML 语句影响的所有行数及时得到修改,语句包括 开始(BEGIN),事务(TRANSACTION),提交(COMMIT)和回滚(ROLLBACK)。4、数据控制语言 DCL(Data Control Language),作用主要对是授权数据库对象(grant, revoke)。5
39、、数据定义语言 DDL(Data Definition Language),作用主要在数据库中创建表或者删除表(create table ,drop table),它也是动作查询的一部分。6、指针控制语言 CCL(Command Control Language),作用主要对是授权数据库对象(grant, revoke)。3.6 开发环境操作系统:WINDOWS XP,WINDOWS 7;运行工具:IE 6.0, Google Chrome;开发工具:Eclipse 4.5, 数据库: MySQL 5.5服务器: Tomcat 6.0辅助工具:MySQL-Front沈阳师范大学本科毕业论文12
40、4 数据库设计4.1 数据库的概念数据库,什么是数据库,顾名思义,数据库是存放数据的仓库,它是由数据以及管理软件组成。它是为了更好适应对数据的处理,从而变成人们所需求的一个比较完善的数据处理系统,它也是一个实际可对数据的存储、数据维护和数据应用的软件系统,是存储介质、处理对象和管理系统的集合体。数据库系统 DBS(Data Base System,简称DBS)它是由数据库、软件和数据管理员组成。数据库系统中软件主要包括编程所用的编程语言、各种操作系统、有效的应用程序和数据库管理系统等等。数据库可以管理数据库管理系统统一管理,通过数据库管理系统,可以对数据进行各种操作,比如插入数据,修改数据,删
41、除数据等。数据库管理员就是对数据库维护和管理的工作人员。本系统将使用的就是大多数系统都最为广泛的关系模型作为数据库的建设依据。对于用户来说,关系模型中数据的逻辑结构是一张二维表,表与表之间的关系对应通常说的一张表,并且关系的每一个分量必须是一个不可分的数据项。而一个基于关系模型的数据库则是由若干个二维表组成的。对于一些大型和中型的数据库,如 Oracle,SQL Server 2000/7.0 等都属于关系型数据库,同时它们所带有的数据库管理工具是其他小型数据库所没有的,而同时这些工具又为管理员的工作节省了很多的时间和财力。4.2 数据库的选择本邮箱系统使用 MySQL 5.5 实现关系型数据
42、库。MySQL 也是一个关系型数据库管理系统之一,它是由瑞典的 MySQL AB 公司所开发,MySQL 最适合 WEB 应用程序开发,关系型数据库都是将数据保存在不同的数据库表中,而不是将所有的数据像把东西放在仓库中一样放在一个大仓库内,这样就提高了数据库的处理速度并且提高了数据库的灵活性。MySQL 也使用 SQL 语言作为它数据库用于访问数据库的最常用标准化语言。MySQL 分为商业版和社区版,由于其所占内存不大,处理速度快,并且使用它所花成本低,而且它具有开放源码这一特点,一般中小型网站的开发的开发者都喜欢选择 MySQL 作为网站的数据库,这也是本电子邮箱系统选用 MySQL 作为后
43、台数据库系统的一个重要原因之一。沈阳师范大学本科毕业论文13但是 MySQL 也有很多不足之处,但是这完全不能影响开发者对其的运用,对于一般的个人使用者和中小型企业来说,MySQL 提供的功能已经完全能够其使用,由于其是免费的,可以节约许多开支,何乐而不为,这也是本系统使用此数据库的最大原因之一。4.3 数据库表的描述数据库表是数据库中一个非常重要的对象,数据库只是一个框架,数据库表才是其实质内容,一个数据库中可能包括许多数据库表。每个表中包含一个主题信息,其不包含重复信息,表中必须有关键字,主键,索引,约束等。数据库就相当于一栋大楼,数据库表就相当于楼中的房间,楼里边的人就相当于数据,由此可
44、见,这些各自单独建立的数据库表通过建立某种关系被连接起来,变成可以交叉查看的数据库。ER 图也成为实体联系图,提供了表示实体类型,属性,联系的方法,来用来描述概念模型,实体用矩形表示,在框中写实体名,属性用椭圆表示,在框中写属性名,用菱形表示关系,在框中记入联系名。本邮箱系统表示实体及其联系的 ER 图,见图 4-1。为了更加清晰的描述出本邮箱系统的实体,属性,联系之间的关系,本人用 VISIO2 003 软件生成了一张包含实体属性的完整 ER 图,见图 4-2。沈阳师范大学本科毕业论文14s e n d e m a i lr e c i p e m a i lu s e ra d r e s
45、 s b o o k发送管理接收n11n1n图 4-1 E-R 图通过 E-R 图 4-1 一位邮箱用户可以发送多封邮件,一封邮件只能属于一位用户,一位用户可以发送多封邮件,一封邮件只能被一位用户发送,一位用户可以添加多位联系人信息,一个联系人只能属于一位邮箱用户。沈阳师范大学本科毕业论文15a d r e s s b o o kP K i du s e r n a m eu i da d r e s su s e rP K i du s e n a m ep a s sa d r e s sr e g i s t e r T i m es e n d e m a i lP K i ds u
46、b j e c tr e c i p i e n tu i dl e t t e ra f f i xs e n d T i m es t a t u sr e c i p e m a i lP K i ds u b j e c tr e c i p i e n ta d r e s s e rl e t t e ra f f i xs e n d T i m es t a t u su i d1N1n1n图 4-2 实体属性完整 E-R 图通过实体属性图 4-2,在联系人表中(adressbook )有联系人 id,联系人名字(usename)用户 id(uid ) ,联系人邮箱地址(adr
47、ess) ,在用户表中(user) ,用户id,用户名字(username) ,登录密码(pass),邮箱地址(adress)注册邮箱时间(register) ,在收件箱表中有邮件主题(subject) ,收件人(recipient ) ,发件人(adresser) ,信件主要内容(letter) ,附件(affix) ,发送邮件时间(sendtime) ,邮件状态(status) ,用户 id、在发件箱表中(sendemail) ,发件箱 id,主题(subject) ,收件人(recipient ) ,用户 id,信件具体内容(letter) ,发送时间(sendtime) ,邮件状态(s
48、tatus) 。4.3.1 用户表(user)该表主要是对邮箱使用者的信息录入,更新用户的信息。该表定义了 4 个字段来进行用户信息的存储,见表 4-1。表 4-1 用户表沈阳师范大学本科毕业论文16标识符 数据类型 长度 非空 描述 主键 外键 说明id INT 11 Y Y 自增username VAECHAR 30 N 姓名pass VARCHAR 30 Y 密码address VARCHAR 50 Y 邮箱地址此表中 id 是唯一标示设置为自增,不能为空,username 是用户的姓名可以为空,pass 是邮箱的登录密码不能为空,address 是邮箱的地址不能为空,也不能重复。 4.
49、3.2 发件箱表(sendemail)该表主要是为邮箱使用者发送邮件时对已发邮件的录入,删除功能,编辑已发送邮件,和查看邮件是否发送成功,该表定义了 8 个字段来进行发件箱的存储,并将邮箱使用者的 id 作为外键保存。见表 4-2。表 4-2 发件箱表标识符 数据类型长度 非空 描述 主键 外键 说明id INT 11 Y Y 自增subject VARCHAR 50 Y 主题recipient VARCHAR 50 Y 收件人uid INT 11 Y 发件人 id Y user 表 idletter TEXT 自动 N 邮件内容Affix VARCHAR 50 附件sendTime VARCHAR 50 Y 发送时间status INT 11 状态 1 表示 发送成功,0表示发送失败Id 是此发件箱唯一标示,设置为自增,不能为空,subject 邮件主题可以为空,recip 是收件人