java邮件系统的设计与实现毕业设计论文(编辑修改稿)内容摘要:
,目前中国的电子邮箱市场还处于起步阶段,普及率非常低,因此电子邮箱提供商当下亟需解决的问题是加大宣传、开拓市场,让更多的用户首先接受电子邮箱这个最核心的产品,然后再在此基础上提 供一整套的邮件解决方案。 虽然如此,我国的电子邮箱提供商还是可以学习国外先进的邮件管理解决方案的思路,了解用户在邮件管理中需要解决的问题,将其融入到现有的邮箱产品中,为用户提供更全面的一站式邮件服务。 研究方法 采用结构化的分析和设计的方法,在 Windows7 系统下,使用 java 语言,基于 开发平台,以 为服务器,并以 Oracle10g 为后台数据库。 在对邮件系统进行详细的需求分析的基础上,画出数据流图,序列图,类层次图等。 在设计数据库时根据需求分析画出 ER 图, 给出相关信息的数据字典,建立相关数据库,在进一步细化数据流图的基础上得出系统的体系结构,然后进行编码和测试。 论文构成 本 论文主要从 Java 邮件系统的相关背景及相关技术、需求分析、数据库设计实现、系统设计与实现系统测试等五个方面分别进行阐述。 第一章绪论 , 介绍了论文的研究意义,国内外对该选题的研究动向及已有研究成 东北大学秦皇岛分校毕业设计(论文) 第 5 页 果,以及本文的主要研究内容和论文结构。 第二章 实现技术与开发工具, 叙述了与电子邮件相关的实现技术及开发工具,包括Struts Spring、 hibernate 框架的介绍,以及开发工具 myeclipse 的简单介绍和使用方法,还包括数据库 orcale 的相关简介,同时还有服务器 tomcat 的简单介绍和使用。 第三章 需求分析, 对电子邮件系统进行了剖析,并对其进行了可行性分析,包括经济可行性分析、技术可行性分析、社会因素可行性分析等分析工作。 同时对其功能需求、性能需求、数据库需求等都做了详细的分析 第四章 数据库设计与实现, 完成了对电子邮件系统数据库的设计和实现。 详细完成了数据库的概念结构设计和逻辑结构设计,同时也实现了数据库的具体内容。 第五章 系统设计与实现, 从系统设计的目标、设计思想开始,完成了系统模块的设计。 系统设计 模块部分包括用户登录、注册、找回密码信息、添加联系人信息、发送电子邮件、查看电子邮件等工作流程。 最后实现了以上模块。 第六章 系统测试, 对系统进行了单元测试、集成测试和系统测试。 结论部分总结了本文的主要工作,并对研究前景进行了展望。 研究内容 本论文主要研究内容为设计与实现一个电子邮件系统。 在本论文中,实现了电子邮件系统数据库的设计和实现。 详细完成了数据库的概念结构设计和逻辑结构设计,同时也实现了数据库的具体内容。 还实现了系统的具体设计与实现。 本章从系统设计的目标、设计思想开始,完成了系统模块的设计。 系统 设计模块部分包括用户登录、注册、找回密码信息、添加联系人信息、发送电子邮件、查看电子邮件等工作流程并且实现了以上模块。 最后对系统进行了系统测试。 东北大学秦皇岛分校毕业设计(论文) 第 6 页 2 实现技术及开发工具 Struts2 简介 Struts2 是 Struts 的下一代产品。 是在 Struts 和 WebWork 的技术 [3]基础上进行了合并,全新的 Struts2 框架。 其全新的 Struts2 的体系结构与 Struts1 的体系结构的差别巨大。 Struts2 以 WebWork 为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与 Servlet API 完全脱离开,所以 Struts2 可以理解为 WebWork的更新产品。 因为 Struts2 和 Struts1 有着太大的变化,但是相对于 WebWork, Struts2 只有很小的变化。 Struts2 框架的处理流程如 图 所示。 图 Struts2 框架 处理流程 通过上面对 Struts2 体系结构 [4]的了解,我们发现 Struts2 对 Struts1 进行了巨大的改进。 主要表现在如下几个方面: (1) 在 Action 的实现方面: Struts1 要求必须统一扩展自 Action 类,而 Struts2 中可以是一个 普通的 POJO。 东北大学秦皇岛分校毕业设计(论文) 第 7 页 (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 类来封装请求的参数,或者直接使用 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 支持重写 validate 方法或者使用 XWork 的验证框架。 (9) Action 执行控制的对比: Struts1 支持每一个模块对应一个请求处理,但是模块中的所有 Action必须共享相同的生命周期。 Struts2支持通过拦截器堆栈为每一个 Action创建不同的生命周期。 Spring 简介 Spring 框架技术 [5]实际上是 Rod Johnson 在 Expert OneonOne J2EE Design and Development[6]一书中所阐述的设计思想的具体实现。 Spring 框架为 J2EE 平台的开发者提供的是一种“对象管理”技术,也就是为开发者解决包括对象的生命周期、对象之间的依赖关系建立、对象的缓存实现等方面问题的管理技术。 Spring 框架是一个轻量级的控制反转 (IoC)技术和面向切面编程 (AOP)技术的容器框架,利用 Spring 框架中的 IoC 技术可以实现 J2EE 平台中所倡导的由容器实现对象的生命周期管理,而利用 Spring框架中的 AOP技术可以实现 J2EE平台中所倡导的分离应用系统中业务逻辑组件和通用技术服务组件。 应用系统的开发者在应用系统中应用 Spring框架后能够达到“解耦”和“脱离容器”的设计和实现的目的。 Spring 框架主要由 7 个定义良好的、相互独立的模块组件构成。 Spring 系统框架如 东北大学秦皇岛分校毕业设计(论文) 第 8 页 图 所示。 图 Spring 系统框架 Hibernate 简介 Hibernate 是 Java 应用和数据库之间的桥梁,通过对 JDBC 的简单封装,使 Java 程序员可以使用面向对象的思想操作数据表,不用再 考虑数据访问细节,可以专注于业务逻辑的开发,它对软件分层做了进一步细化,使数据的持久化与业务逻辑和数据库分开,便于软件的后期维护 [7]。 Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java的客户端程序使用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是,Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任。 Hibernate 体 系结构如图 所示。 东北大学秦皇岛分校毕业设计(论文) 第 9 页 图 Hibernate 体系结构 Myeclipse 简介 Eclipse 是 一个开放源代码的、基于 Java 的可扩展开发平台。 就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。 幸运的是, Eclipse 附带了一个标准的插件集,包括 Java 开发工具( Java Development Tools, JDT)。 Eclipse 还包括插件开发环境( Plugin Development Environment, PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。 MyEclipse 是一个十分 优秀的用于开发 Java, J2EE 的 Eclipse 插件 集合, MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。 MyEclipse企业级工作平台( MyEclipse Enterprise Workbench ,简称 MyEclipse)是对 Eclipse IDE的扩展,利用它我们可以在数据库和 JavaEE 的开发、发布以及 应用程序 服务器的整合方面极大的提高工作效率。 它是功能丰富的 JavaEE 集成开发环境 ,包括了完备的编码、调试、测试和发布功能,完整支持 HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。 Oracle 简介 Oracle Database,又名 Oracle RDBMS,或简称 Oracle。 是甲骨文公司的一款 关系数据库管理系统。 到目前仍在数据库市场上占有主要份额。 劳伦斯埃里森 和他的朋友, 东北大学秦皇岛分校毕业设计(论文) 第 10 页 之前的同事 Bob Miner 和 Ed Oates 在 1977 年建立了软件开发实验室咨询公司 ( SDL,Software Development Laboratories)。 ORACLE 数据库系统 是美国 ORACLE 公司(甲骨文)提供的以 分布式数据库 为核心的一组软件产品,是目前最流行的客户 /服务器 (CLIENT/SERVER)或 B/S 体系结构 的数据库之一。 比如 SilverStream 就是基于数据库的一种中间件。 ORACLE 数据库是目前世界上使用最为广泛的 数据库管理系统 ,作为一个通用的 数据库系统 ,它具有完整的 数据管理 功能;作为一个关系数据库,它是一个完备关系的产品;作为 分布式数据库 它实现了 分布式处理 功能。 但它的所有知识,只要在一种机型上学习了 ORACLE 知识,便能在各种类型的机器上使用它。 Oracle 数据库具有完整的数据管理功能,完备关系的产品,分布式处理功能,用Oracle 可以轻松的实现数据仓库的操作。 Oracle 具有良好的优点,体现在可用性强,可扩展性强,数据安全性强,稳定性强。 Oracle 的体系结构 如图 所示 图 Oracle 体系结构 Tomcat 服务器简介 Tomcat 是一个免费的开源的 Serlvet 容器,它是 Apache 基金会的 Jakarta 项目中的一个核心项目,由 Apache, Sun 和其它一些公司及个人共同开发而成。 由于有了 Sun 的参与和支持,最新的 Servlet 和 JSP 规范总能在 Tomcat 中得到体现。 Tomcat 是稳固的独立的 Web 服务器与 Servlet Container,不过,其 Web 服务器的功能则不如许多更健全的Web 服务器完整,如 Apache Web 服务器(举例来说, Tomcat 没有大量的选择性模块)。 东北大学秦皇岛分校毕业设计(论文) 第 11 页 不过, Tomcat 是自由的开源软件,而且有许多高手致力于其发展。 Tomcat 是一个小型的轻量级应用服务器 [9],在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。 对于一个初学者来说,可以这样认为,当在一台机器上配置好 Apache 服务器,可利用它响应对 HTML 页面的访问请求。 实际上 Tomcat 部分是 Apache 服务器的扩展,但它是独 立运行的,所以当你运行 Tomcat时,它实际上作为一个与 Apache 独立的进程单独运行的。 Tomcat 体系结构如图 所示 图 Tomcat 体系结构 James 邮件服务器简介 Java Apache 邮件服务器一般是指 Apache 组织开发的 James[10],它是一个轻便的、安全的 100%纯 Java 实现的邮件服务器。 不仅如此 James 还可以提供更多的功能,感谢James 给我们提供了插件化协议架构和 Maile。java邮件系统的设计与实现毕业设计论文(编辑修改稿)
相关推荐
制,接地电平时 8086 工作于最大模式( BF6 为此接法)。 RD:读控制(输出)。 xxxx 大学本科毕业设计论文 10 WR:写控制(输出)。 DT/R:数据的发送 /接收控制(输出)。 用于控制双向驱动器的数据传输方向。 DEN:数据信号的有效(输出)。 ALE:地址信号的有效(输出),允许锁存。 ( 3) 8086 的工作模式 8086 允许用其组成单 CPU或多 CPU 系统。
性,进一步将 JSP中的 Java代码导致的不利因素削弱。 总之,使用 JSP 可以降低开发门槛,提高程 序可读性,开发出高性能的跨平台企业级软件。 所以在线汽车销售网站采用了 JSP 技术。 SQL Server 简介 SQL SERVER 是 Microsoft在关系数据库管系统( RDBMS)方面的开发成果。 其主要目的是尽可能快地存储、管理和检索大量数据。 我们将使用 SQL
4 入库编号 instClass char 1 入库 类型 goodsId int 4 货物 编号 instNum int 4 入库 数量 instTime datetime 8 入库时间 modifyTime datetime 8 修改时间 stoId int 4 仓库 编号 userId int 4 管理员 编号 4. 出库表( outstore) 表 44 出库 表 列名 数据类型 大小
xception e) { ()。 } catch (ClassNotFoundException e) { 16 ()。 } } public Connection getConnection(){ return con。 } } 系统功能实 现 系统登录界面: 登录功能: private void jButton1ActionPerformed( evt) { int i = 0。
品,其界面跟先前的 Visual Age for Java 差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。 近期还有包括 Oracle 在内的许多大公司也纷纷加入了该项目,并宣称 Eclipse 将来能成为可进行任何语言开发的 IDE集大成者,使用者只需下载各种语言的插件即可。 虽然大多数用户很乐于将 Eclipse 当作 Java IDE
系 统流程图 .......................................................................................................................................10 系统功能需求描述 .............................................