《毕业设计--email客户端的分析与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计--email客户端的分析与实现.doc(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、毕业设计Email客户端的分析与实现学生姓名: 学号: 华中科技软件学院学 院: 软件工程专 业: 指导教师: 37 Email客户端的分析与实现摘 要随着人们生活水平的提高和信息技术的高速发展,人们再也不能满足现实世界中效率低、费用高、时间长的寄信方式了。然而在高速发展的信息世界中,人们找到一种不受时间和区域限制的既方便又快捷的寄信方式-电子邮件。与传统的寄信方式相比电子邮件具有不受时间、地点和费用的限制。只需要使用能上网的计算机就能随时随地免费的收发自己的电子邮件。与传统的寄信内容相比电子邮件能够表达更丰富的内容不在局限于文字表达,同时也可以通过声音、图片、视频等多种方式表达更丰富的信息内
2、容。在当今信息技术高速发展的情况下,电子邮件也随之应运而生。而本系统是使用当今流行的计算机语言java语言开发而成的。本系统主要采用B/S模式,用户只要有浏览器就能够使用该系统,该系统采用了当今流行的SSH(Struts+Spring+Hibernate)框架。数据库采用了开源免费跨平台的Oracle数据库。邮件服务器是采用开源免费的支持IMAP方式接收电子邮件的Apache James邮件服务器,采用以上软件既可以降低系统开发成本又能够提高开发效率。本系统界面设计简单、大方、易与操作用户很容易上手,基本不需要指导就能快速上手,本系统是一款不错的电子邮件收发系统。关键词:电子邮件,信箱系统,O
3、racle,Java37 Java-based Mail System Design and ImplementationAbstractAs peoples living standards and rapid development of information technology, people can no longer meet the real world, low efficiency, high cost, send a letter means a long time. So people are turning to high-speed world of informa
4、tion development, strive to find a world of information without time and area restrictions convenient and fast way to send a letter, the attendant e-mail. Compared with the traditional way of e-mailers have not time, place and cost restrictions. As long as people can access the Internet anytime, any
5、where on the computer can send and receive their free e-mail. Compared with traditional e-mailers are not limited to the text content of expression, it can sound, pictures, video and other means to express a richer information content. The rapid development of information technology in todays case,
6、e-mail also came into being. The application of this system is todays popular computer language java language develop. The system mainly uses the B / S mode, the user as long as the browser will be able to use the system, the system used in todays popular SSH (Struts + Spring + Hibernate) framework
7、developed with. Database is free cross-platform using open source MySQL database. Open source mail server is used to receive free e-mail support IMAP Apache James mail server, using the above software can reduce system development costs and to improve development efficiency. The system interface is
8、designed to be simple, elegant, easy to operate user with easy to use, the basic need to guide you can quickly get started, the system is a good email delivery system. Keywords: E-mail, James mail server,ORACLE, Java 37华中科技大学软件学院 目 录1引言11.1 课题研发背景11.2 选题的意义11.3 电子邮件的现状分析21.4电子邮件的发展前景22 实现技术及开发工具42.1
9、 Struts2简介42.2 Spring简介52.3 Hibernate简介62.4 Eclipse开发工具简介72.5 ORACLE数据库简介72.6 Tomcat服务器简介83 系统需求分析103.1 可行性分析103.1.1 经济可行性分析103.1.2 技术可行性分析113.1.3 社会因素可行性分析113.2 功能需求分析113.3功能模块的初步设计123.3.1 前台分析13第 II 页 共 IIII 页 3.3.2 后台分析143.4数据库设计154 系统的设计与实现194.1用户注册模块的设计194.2用户登陆模块的设计204.3邮件发送模块的设计224.4邮件接收和转发模块
10、的设计255 系统测试295.1 单元测试295.2 集成测试305.3 系统测试316 总结与展望33参考文献34致 谢353 华中科技大学软件学院1 引言1.1 课题研发背景电子邮件(简称E-mai1)又称电子信箱、电子邮政,它是种用电子手段提供信息交换的通信方式。它是全球多种网络上使用最普遍的一项服务。这种非交互式的通信,加速了信息的交流及数据传送。通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将邮件送到世界的各个角落。到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,E-mai1不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类
11、型的信息。与传统的信件相比电子邮件更具有传统信件没有的优势,传统的邮件受到时间、地点等各种限制,而电子邮件却不受这些限制。电子邮件可以在任意时间、任意地点使用,可以说是只要能上网的就能收发电子邮件。现在随着互联网和计算机的普及1,电子邮件将会成为人们越来越受欢迎的交流方式。1.2 选题的意义当今流行的邮件系统如 Lotus Notes2 和Exchange 是非常强大的商业软件。但这些系统包含的协作功能和每客户端得许可证费用使它们的整体成本急剧上升。而事实上,很多使用这些系统的公司仅仅需要其中的邮件服务器基本功能。因此开发一种简单易用的,使用户容易上手的电子邮件系统是势在必得。对于大型的企业来
12、说开发一种简单易用的具有电子邮件基本功能的电子邮件系统,不仅能够提高企业的生产效率而且能够降低人与人之间的沟通成本,使企业能够更好的发展。对于我个人来说,开发该系统既可以使我四年所学的东西学有所用,又可以提高自己的项目开发水平,同时还能够为自己以后的发展积累丰富的项目经验。虽然开发该系统可能会发费很多时间,但是就该系统来说就算花费再多的时间也是物有所值的。 1.3 电子邮件的现状分析自从1987年9月,CANET在北京计算机应用技术研究所内正式建成中国第一个国际互联网电子邮件节点,并于9月14日发出了中国第一封电子邮件:Across the Great Wall we can reach ev
13、ery corner in the world.(越过长城,走向世界)以来,电子邮件服务在我国得到了飞速的发展。随着电子商务近几年的飞速发展,现在使用电子邮件已经成为了主流,用户可以随时随地方便的使用它来传送信息,并且电子邮件作为一种新兴的商务手段,也得到了广泛的应用。虽然在电子商务不断发展的同时,还逐渐出现了许多应用技术,如:IP电话、网络会议、留言版、论坛等等。然而电子邮件以其普及适用性、稳定性、易用性、传输内容多样性、相对保密性成为了众多电子商务应用技术中最为普遍和重要的一种应用方式,并受到越来越多的人的青睐。可是,电子邮件作为一种计算机的数字化技术,其方便性和快捷性则非常重要,对设计和
14、开发的邮件收发程序的要求也越来越高,我们都向着这个方向努力着。1.4电子邮件的发展前景电子邮件系统经过几十年的发展,已经形成了完善的技术体系。邮件服务器系统在保留了电子邮件系统最初的收发邮件、邮件存储等基本功能的同时,融入了最新的计算机与网络技术,使电子邮件系统有了全新的改观 。随着我国经济发展和网络的普及,网络技术也越来越多地被应用于日常工作之中。人们越来越希望寻找一种更加方便、低廉的交流信息的工具以代替古老的纸张发信形式,而随着网络信息时代的来临,网络应用越来越广泛,人们越来越习惯于在网上获取和交流信息,因此网上邮件便成为人们的首选。为了能够使邮件的处理能力可以无限扩展,就需要引入集群和负
15、载均衡技术,使应用平台可以在需要的时候无限扩充,满足长期或临时的业务需要。为了便于邮件存储,需要高性能的邮件存储解决方案。现在,电子邮件已成为许多商家和组织机构的生命血脉。它是一项系统工程,需要网络、数据存储、数据库等技术的支持。它现在已经演变成为一个更加复杂并丰富的系统,可以传送声音、图片、图像、文档等多媒体信息,以至于如数据库或账目报告等更加专业化的文件都可以通过附件的形式在网上分发。用户可以通过电子邮件的讨论会进行项目管理,并且有时要根据快速,或洲际的电子邮件信息交换进行重要的决策行动。电子邮件系统已成为人们生活中不可缺少的重要工具,也是许多商家和组织机构的生命血脉。客户端结合移动邮箱服
16、务将是未来发展核心应用之四。移动邮箱在具备常规互联网邮件功能的同时,充分利用手机的功能优势,让用户可以通过手机短信、彩信或手机WAP上网方式,随时随地获取邮件信息、对邮件进行操作,实现真正的移动畅快沟通。只要手机有信号,不用在乎有没有带宽接入,随时随地都可以查收邮件。当前往3G时代的路上,移动邮箱的成熟定会成为历史,会有越来越多的用户在享受传统邮箱的互联网邮件功能同时,加入体验移动邮箱的短信、彩信、邮件到达通知等移动特色服务的行列。 邮件桌面客户端是未来发展核心应用之三。电子邮箱未来的发展,更多的应用扩展和体验,像DreamMail、FoxMail、Outlook等这类的桌面客户端将无疑扮演着
17、最重要的角色。电子邮箱客户端将使人们脱离频繁登陆Web页面的烦恼。凭借着飞快的网速,在上传附件方面将与Web页面的速度一样,甚至更快速。2实现技术及开发工具本部分主要介绍开发系统所采用的一些技术支持,包括采用的现在比较流行的J2EE框架技术Struts2、Spring、Hibernate、James邮件服务器、jQuery等的简单介绍。2.1 Struts2简介Struts 23是Struts的下一代产品。是在 Struts 和WebWork的技术基础上进行了合并,全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWo
18、rk为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。因为Struts 2和Struts 1有着太大的变化,但是相对于WebWork,Struts 2只有很小的变化。Struts2框架的处理流程如图2.1所示:图2.1 Struts2框架处理流程通过上面对Struts2体系结构4的了解,我们发现Struts2对Struts1进行了巨大的改进。主要表现在如下几个方面:(1) 在Action的实现方面:Struts1要求必须统一扩展自Action类,而Struts2中可以是一个普通
19、的POJO。(2) 线程模型方面:Struts1的Action工作在单例模式,一个Action的实例处理所有的请求。Struts2的Action是一个请求对应一个实例。没有线程安全方面的问题。(3) Servlet依赖方面:Struts1的Action依赖于Servlet API,比如Action的execute方法的参数就包括request和response对象。这使程序难于测试。Struts2中的Action不再依赖于Servlet API,有利于测试,并且实现TDD。(4) 封装请求参数:Struts1中强制使用ActionForm对象封装请求的参数。Struts2可以选择使用POJO类
20、来封装请求的参数,或者直接使用Action的属性。(5) 表达式语言方面:Struts1中整合了EL,但是EL对集合和索引的支持不强,Struts2整合了OGNL(Object Graph NavigationLanguage)。(6)绑定值到视图技术:Struts1使用标准的JSP,Struts2使用“ValueStack”技术。(7) 类型转换:Struts1中的ActionForm基本使用String类型的属性。Struts2中使用OGNL进行转换,可以更方便的使用。(8) 数据校验:Struts1中支持覆盖validate方法或者使用Validator框架。Struts2支持重写val
21、idate方法或者使用XWork的验证框架。(9) Action执行控制的对比:Struts1支持每一个模块对应一个请求处理,但是模块中的所有Action必须共享相同的生命周期。Struts2支持通过拦截器堆栈为每一个Action创建不同的生命周期。2.2 Spring简介Spring框架技术5实际上是Rod Johnson在Expert One-on-One J2EE Design and Development6一书中所阐述的设计思想的具体实现。Spring框架为J2EE平台的开发者提供的是一种“对象管理”技术,也就是为开发者解决包括对象的生命周期、对象之间的依赖关系建立、对象的缓存实现等
22、方面问题的管理技术。Spring框架是一个轻量级的控制反转(IoC)技术和面向切面编程(AOP)技术的容器框架,利用Spring框架中的IoC技术可以实现J2EE平台中所倡导的由容器实现对象的生命周期管理,而利用Spring框架中的AOP技术可以实现J2EE平台中所倡导的分离应用系统中业务逻辑组件和通用技术服务组件。应用系统的开发者在应用系统中应用Spring框架后能够达到“解耦”和“脱离容器”的设计和实现的目的。Spring框架主要由7个定义良好的、相互独立的模块组件构成。Spring系统框架如图2.2所示:图2.2 Spring系统框架2.3 Hibernate简介Hibernate7是J
23、ava应用和数据库之间的桥梁,通过对JDBC的简单封装,使Java程序员可以使用面向对象的思想操作数据表,不用再考虑数据访问细节,可以专注于业务逻辑的开发,它对软件分层做了进一步细化,使数据的持久化与业务逻辑和数据库分开,便于软件的后期维护。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate体系结构如图2.3所示:图2.3 Hibernate体系结构2.4 Eclipse开发工具简介Ecli
24、pse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。 Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。MyEclipse是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的
25、功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP,CSS,Javascript, SQL, Hibernate。2.5 ORACLE数据库简介ORACLE是以高级结构化查询语言(SQL)为基础的大型关系数据库,
26、通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。它有如下特点:(1) ORACLE7.X以来引入了共享SQL和多线索服务器体系结构。这减少了ORACLE的资源占用,并增强了ORACLE的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。(2) 提供了基于角色(ROLE)分工的安全保密管理。在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。(3) 支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。(4) 提供了与第三代高级语言的接口
27、软件PRO*系列,能在C,C+等主语言中嵌入SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。加上它有许多优秀的前台开发工具如POWERBUILD、SQL*FORMS、VISIABASIC等,可以快速开发生成基于客户端PC平台的应用程序,并具有良好的移植性。(5) 提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。2.6 Tomcat服务器简介Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新
28、的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat是稳固的独立的Web服务器与Servlet Container,不过,其Web服务器的功能则不如许多更健全的Web服务器完整,如Apache Web服务器(举例来说,Tomcat没有大量的选择性模块)。不过,Tomcat是自由的开源软件,而且有许多高手致力于其发展。Tomcat 是一个小型的轻量级应用服务器9,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat
29、 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行Tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。2.7 系统所需协议介绍SMTP(简单邮件传输协议)负责邮件的发送和传输,使用TCP25端口,首先用户写好邮件之后发送给SMTP服务器,SMTP将邮件转换为ASCII码并添加报头,发送出去,邮件在INTERNET中路由交换到达目的地的邮件服务器,对方的SMTP将邮件的ASCII码解码。SMTP的一个重要特点是它能够在传送中进行接力传送邮件,即邮件可以通过不同网络上的主机接力式传送。它工作在两种情况下:一是电子邮件从客户机传输到服务器;二是从某一个服务器传输到
30、另一个服务器。SMTP协议非常的简单和直观,在RFC821中,SMTP由一些通过ASCII码表示的命令字组成,通过这些命令字,两个节点之间(客户机和服务器)可以建立SMTP连接,并进行信息传递。POP 协议(电子邮局协议)是一种允许用户从邮件服务器收发邮件的协议。它有两种版本,即POP2和POP3,都具有简单的电子邮件存储转发功能。POP2与POP3本质上类似,都属于离线式工作协议,但是由于使用了不同的协议端口,两者并不兼容。与 SMTP协议相结合,POP3是目前最常用的电子邮件服务协议。POP3除了支持离线工作方式外,还支持在线工作方式。在离线工作方式下,用户收发邮件时,首先通过POP3客户
31、程序登录到支持POP3协议的邮件服务器,然后发送邮件及附件;接着,邮件服务器将为该用户收存的邮件传送给POP3客户程序,并将这些邮件从服务器上删除;最后,邮件服务器将用户提交的发送邮件,转发到运行SMTP协议的计算机中,通过它实现邮件的最终发送。在为用户从邮件服务器收取邮件时,POP3是以该用户当前存储在服务器上全部邮件为对象进行操作的,并一次性将它们下载到用户端计算机中。一旦客户的邮件下载完毕,邮件服务器对这些邮件的暂存托管即告完成。使用POP3,用户不能对他们贮存在邮件服务器上的邮件进行部分传输。离线工作方式适合那些从固定计算机上收发邮件的用户使用。当使用POP3在线工作方式收发邮件时,用
32、户在所用的计算机与邮件服务器保持连接的状态下读取邮件。用户的邮件保留在邮件服务器上。3 系统需求分析用户需求分析是整个设计制作的起点,它是在用户需求调研的基础上,确定系统的总体结构方案,完成相应的需求分析报告。在确定系统的总体结构方案过程中,需要确定应用程序的结构、系统开发环境、系统测试环境和运行环境以及系统的功能模块。在用户需求调研结束之后,应立即进行用户需求分析。需求分析的结果反映了用户的时间需求,它将影响到设计的合理性和实用性。开发软件计划的提出与软件消亡之间的过程中我们称之为软件的生存周期。软件生存周期是根据软件所处的状态、特征以及软件开发活动的目的、任务可以划分若干阶段,从这一思想出
33、发,软件生存周期包括软件定义,软件开发、软件使用与维护三个部分,具体则可以得到软件生存周期的六个步骤,即制定计划、需求分析,软件设计、程序编码、测试及运行维护。 软件需求分析13工作是软件生存期中具有决定性意义的一步,只有通过需求分析才能把软件的功能和性能的总体要领描述为具体的软件规程说明,从而奠定软件开发基础。本系统在开发的过程也应严格遵循这一过程,进行详细的需求分析设计,从而设计出一个优秀的电子邮件系统软件。3.1 可行性分析可行性分析也称可行性研究,是决策部门在采取一项重大改革或投资行动之前,对该项目的必要性和可能性进行分析与论证的活动。可行性分析已被广泛应用于新产品开发、基建、工业企业
34、、交通运输、商业设施等项目投资的多个领域。在展开一项开发行动之前,必须对用户提出的目标的必要性和可能性进行必要的论证。可行性分析是在进行初步调查后所进行的对系统开发必要性和可能性的研究,所以也称为可行性研究。信息系统也应从技术可行性,经济可行性和社会可行性三方面来论证。通过长时间的观察与实践,我认为电子邮件系统的可行性分析如下。3.1.1 经济可行性分析本系统是基于Java的而Java是开源免费的,另外本系统所采用的Tomcat服务器、James邮件服务器以及MySQL数据库服务器都是开源免费的。这样在成本上势必会降低很多。现行的公司大型的邮件系统所提供的功能基本很多都是很少用到的,花大量的成
35、本去开发很少用到的功能对于一般的小公司来说是完全没有必要的,本系统是只开发了与电子邮件有关的基本功能,这样即减少了开发成本又提高了开发效率。对于一般的小型公司来说该系统经济上是完全可行的。3.1.2 技术可行性分析技术可行性分析主要包括硬件、技术和开发人员等几个方面,下面分别对这几方面进行简单的分析:(1) 硬件:当今世界随着计算机的普及,计算机硬件行业也随之日新月异。对于一款简单的电子邮件系统普通的PC机都能流畅的运行更别说专业的Web服务器了,所以对于电子邮件系统的硬件问题已经不再是关键性问题。(2) 技术:本系统主要采用的开发语言是Java语言,Java语言擅长Web方面的系统开发,另外
36、当今流行框架Struts、Spring、Hibernate都是采用Java语言开发的,本系统采用这些框架开发可以明显的降低系统开发的工作量同时降低系统开发过程中的错误率。而我也很自信能够使用当今流行的框架开发一款简单的电子邮件系统。(3) 开发人员:本款软件的开发人员主要是本人,本人有足够多的时间用在开发本款软件上,同时我也相信通过这几年的学习我可以胜任电子邮件系统的开发任务。3.1.3 社会因素可行性分析社会因素可行性主要包括法律因素可行性和用户使用可行性,下面就这两个方面进行简单的分析:(1)法律因素可行性:本系统完全是自主开发,开发完成以后也将免费开源,因此任何企业或个人都可以使用该系统
37、而不需要额外支付任何费用。另外本系统主要是进行电子邮件的收发,并不会违反相关的法律。(2)用户使用可行性:本系统主要是针对普通用户开发的,普通计算机用户只要会使用鼠标就能完成简单的电子邮件的收发。因此用户在使用本系统时不需要专门的培训。3.2 功能需求分析通过对用户需求调研并进行了分析,确定邮件收发系统的功能模块主要划分为五部分:注册模块、登陆模块、邮件发送、邮件接收和转发模块。各模块的具体功能设计如下:1)注册模块:未注册用户无法登陆邮箱系统。用户点击链接进入注册页面,必须填入所必需的格式正确的信息以及对应的验证码才可注册成功。2)登陆模块要求用户输入正确的用户名,密码。如果输入信息合法,则
38、登陆成功进入邮件系统主页。如果输入错误(用户名或密码错误),则无法跳转到邮件系统主页。3)邮件发送:用户发送邮件,需要输入:收件人地址、寄件人地址、发送邮件的标题以及发送邮件的正文。如果输入的收件人邮箱地址错误或文本框至少有一项为空,则邮件发送失败;反之,邮件发送成功,系统跳转到邮件发送成功界面。4)邮件接收和转发模块登陆信箱系统后,系统会显示接收到的邮件数量,用户可以很轻松地查看邮件。邮件中将显示发件人、主题、内容和发送时间等等。用户还可将所需的邮件进行转发,提高工作效率。5)系统附加功能本系统还实现了删除邮件、群发邮件功能,用户可以查看已删除的邮件,方便用户管理邮件信息。同时,用户还可以更
39、换部分背景图片,提高了邮箱的美观。3.3功能模块的初步设计本邮件系统设计是在J2EE平台上使用Java语言实现的,后台数据库使用了功能强大、性能优越的Oralce数据库为用户管理数据、浏览、交换信息带来了极大的方便。系统的功能体系图如图3.1:邮件系统附加功能系统用户写邮件收件箱发件箱草稿箱垃圾箱邮件管理记事本换皮肤用户登陆用户注册用户退出图3.1系统总体流程架构3.3.1 前台分析1)用户注册:与一般的注册流程一样,用户在注册时需检验用户名是否可用,以及密码与确认密码是否匹配。同时,它与数据库动态连接,注册合法的用户及用户密码并写入数据库。只有注册的用户才能顺利登陆邮件系统,使用邮件系统。同
40、时,密码也被写入数据库。2)数据使用:用户对于数据的使用包括了管理,传递与存储,下面对这三方面需求分别做说明。3)数据管理:作为一个收发邮件系统,数据信息管理是最重要的。对用户资料的管理,邮件信息的管理,邮件的分类,对邮件的转移和删除等,合理的管理数据信息一方面节约了空间,另一方面又方便了使用。4)传递功能:对于邮件收发系统来说,这个功能是最为基本的。这里说的传递功能即邮件的发送和邮件的收取,它使数据进行了传递。这里是局域网内部的数据传递。5)数据存储:对于一个系统设计,每一个环节都是为了协调另一个环节来完成的,要使用数据就必须有能使用的数据,不储存自然无法使用,设计中没有注册到数据库的地址和
41、用户无法使用。只有符合才能进入系统。功能如图3.2所示: 前台用户注册数据使用 后台管理用户管理数据图3.2功能体系图3.3.2 后台分析后台是数据分类存储的重要平台,对数据的合理规划将能极大的提升系统的性能。后台主要是对用户注册、登陆、记事本等各类信息进行高效的管理,以便前台随时查询和调用,以完成系统功能的实现。详细功能图如图3.3:收转邮件系统详细功能需求示意图前台后台用户注册用户登陆信息传递数据存储权限设置数据规划 图3.3详细功能示意图3.4数据库设计数据库设计是系统设计中非常重要的一个环节,因为数据库设计就像在建设高楼大厦的根基一样,如果设计不好,在后来的系统维护、变更和功能扩充时,
42、甚至在系统开发过程中,将会引起比较大的问题,有时会导致大量的工作重新进行。数据库是负责数据共享网站所有信息的存储,它的地位尤其非常重要。前台与后台之间进行信息的交互离不开数据库。因此,设计一个合理的数据库成为一个十分关键的步骤。本项目采用oracle作为数据库,应该是比较稳定和高效的。要想很好的完成一个项目,数据库的设计是整个项目设计中的关键,一个好的数据库表结构能有效的管理后台中的数据,提高软件的实用性和软件的数据访问效率。数据库设计主要包括两个方面内容:数据库设计与实现。本系统中为了实现用户登陆、注册的功能,以及邮件收发过程中与数据库的信息交互,在数据库中创建了五张表,分别为用户信息表(t
43、b_mail_user)、收发邮件信息表(tb_mail_email)、联系人信息表(tb_mail_linkman)、记事本表(tb_mail_book)、上传下载文件表(tb_mail_file)。具体如表所示: (1)用户信息表,字段信息如下表:表3.1 tb_mail_user列(属性)名中文名称类型id 用户idintname用户名Varcher2password密码Varcher2email邮箱名Varcher2question 密码问题Varcher2answer问题答案Varcher2realname真实姓名Varcher2birthday生日Varchar2gender性别V
44、archar2address地址Varcher2phone电话Varchar2(2)收发邮件的内容信息,其字段信息如下表:表3.2tb_mail_email 列(属性)名中文名称类型id 邮件idintsender发送者Varcher2title 标题Varcher2content内同Varcher2time时间date(3)联系人表中各字段的信息如下表:表3.3 tb_mail_linkman 列(属性)名中文名称类型id联系人idintemail邮件名Varcher2realname真实姓名Varcher2gender性别Varcher2birthday生日Varcher2phone电话V
45、archer2address地址Varcher2(4)记事本的信息存储在记事本表中,表中各字段的信息如下表:表3.4 tb_mail_book 列(属性)名中文名称类型id记事本idinttitle主题Varcher2content内容Varcher2bookdate日期date(5)上传文件表,表中各字段的信息如下表:表3.5 tb_mail_file 列(属性)名中文名称类型id文件idintrealfile路径Varcher2namefile文件名Varcher2upfiledate上传日期date4 系统的设计与实现4.1用户注册模块的设计在用户注册时页面与数据库动态连接,首先检测该用户注册的用户名和密码是否为空,不为空再检测数据库中用户名是否已存在,如果满足条件,则将用户信息写入数据库,即注册成功。不可用则放弃操作或重新填写。功能图如图4.1:页面加载开始用户输入相关信息判定格式信息写入数据表结束 格式错误/ 用户名重名正确图4.1用户注册功能图 用户点击“注册用户”按钮后跳转到注册用户页面,注册页面见图4.2:图4.2用户注册页面注册功能实现的主要代码如下:public String register()/登录时将信息放在user中user=new User(name,password,name+M,ques