收藏 分享(赏)

基于JSP的JAVA email邮件系统研发.DOC

上传人:wo7103235 文档编号:4927500 上传时间:2019-01-23 格式:DOC 页数:50 大小:1.06MB
下载 相关 举报
基于JSP的JAVA email邮件系统研发.DOC_第1页
第1页 / 共50页
基于JSP的JAVA email邮件系统研发.DOC_第2页
第2页 / 共50页
基于JSP的JAVA email邮件系统研发.DOC_第3页
第3页 / 共50页
基于JSP的JAVA email邮件系统研发.DOC_第4页
第4页 / 共50页
基于JSP的JAVA email邮件系统研发.DOC_第5页
第5页 / 共50页
点击查看更多>>
资源描述

1、毕业设计(论文)设计题目: 基于 JSP 的 JAVA email 邮件系统研发姓  名          学  号           院 (系)  计算机与信息学院 专  业   信息工程    指导老师           起止时间          摘 要由于网络中邮件管理系统繁多、业务需求多变,基于各邮件服务器的邮件管

2、理系统的维护和业务变更变得难以进行。为了极大地方便上网用户,系统使用了B/S技术来进行开发,避免了原有的C/S结构开发所带来的弊端。并且将E-mail系统和Web应用结合起来,用户仅通过浏览器访问邮件系统即可。本邮件系统的基本功能包括:用户登录、通讯录管理、邮件收取、邮件发送、查看邮件、邮件的管理功能。本文从软件体系结构设计模式的角度入手,首先设计和实现一个支持邮件收发、管理等基本功能的邮件管理系统,并在此基础上添加各项扩展功能。在介绍Struts2和MVC整体架构相关理论的基础上,研究如何使用这些JAVA框架和技术,使用MyEclipse开发工具构建灵活、实用的邮件收发平台。该架构的主要优点

3、是:易于维护和扩展,方便用户的掌握和使用。此邮箱系统功能主要分为管理员管理和用户管理两大部分,管理员管理主要包括管理用户信息、删除用户等;用户管理主要包括用户个人信息的管理、个人邮箱的管理等。该系统可以根据对功能需求进行扩展和完善。 关键词:邮件管理系统; MyEclipse; MVC; Struts2 AbstractCurrently, there are too many E-mail Management System, and too many business changing requirements, which results of E-mail Management Sys

4、tem maintenance and operations become difficult to change. In order to greatly convenient of Internet users, the E-mail Management System used the B/S technology to carry on the development, which has avoided the malpractice of the traditional C/S structure. And combining the E-mail Management Syste

5、m and the Web application, then user can visit E-mail Management System just by opening the browser. The E-mail Management System basic function: the user registers, address list management, receiving the mail, sending the mail, reading the mail, mail management function. In this paper, it firstly b

6、egins with the software architecture patterns, and then constructs an E-mail Management System which supports the basic functions, such as sending and receiving email,managing emailbox, next add the extension. On the basis of introducing Struts2 architecture and MVC structure, the paper discusses ho

7、w to use these technologies and frameworks of JAVA to build a flexible, practical online teaching platform by MyEclipse development tool. The main advantages of this structure are as follows, it solves the problems of maintainability and extendibility in traditional website systems; it enables users

8、 to more easily grasp and use this system.This mail management system functions are divided into administrator and user management of two parts, the administrator management includes management of user information, delete users, etc.; The user management includes user personal information management

9、, personal mailbox management. The system can be extended and improved based on functional requirements.Key Words:E-mail Management System; MyEclipse; MVC; Struts2目 录摘 要 .IAbstractII目 录 IV引 言 11. 绪论 .21.1 选题背景 21.2 课题意义 21.3 课题的研究内容 21.4 论文的组织结构 32. 理论基础与相关技术介绍 .42.1 系统开发的工具 42.1.1 MyEclipse 8.642.1

10、.2 MySQL 5.142.1.3 B/S 架构编程体系 52.2 系统开发的技术 62.2.1 MVC 理论基础 .62.2.1 Struts2 框架技术 .82.3 本章小结 103. 系统需求分析 .113.1 用户需求 113.1.1 系统功能需求 113.1.2 用户端特性 113.1.3 运行环境需求 113.1.4 性能需求 123.1.5 软件属性需求 123.2 数据描述 123.2.1 数据流程分析 123.2.2 数据字典 163.3 系统的总体设计 183.3.1 系统设计思想 183.3.2 系统模块设计 193.3.3 系统模块说明 213.4 本章小结 214.

11、 数据库设计 .224.1 概念结构设计 224.2 逻辑结构设计 234.3 本章小结 255. 系统详细设计 .265.1 系统模块总设计思想 265.2 登录管理模块详细设计 265.2.1 新用户注册设计 265.2.2 登录模块设计 285.2.3 系统主界面设计 305.2.4 管理员模块设计 315.2.5 修改密码模块设计 335.3 邮箱管理模块详细设计 335.3.1 用户撰写和发送邮件设计 335.3.2 用户收件箱管理设计 365.4 通讯录管理模块详细设计 385.4.1 添加联系人设计 385.4.2 邮件群发设计 395.5 本章小结 416. 系统测试 .426

12、.1 系统测试目的 426.2 系统测试方法 426.3 本章小结 547. 总结与展望 .547.1 本文总结 547.2 系统改进 56致谢 57参考文献 58引 言中国是世界上 Email 账号最多的国家,也是发展最快、市场环境最复杂的国家。电子邮件的发展如同一面镜子,折射出中国的网络运营商及网民们在互联网发展过程中的种种心态。无论如何,电子邮件在人们的生活、工作、学习过程中,越来越普及。同时,还有一种趋势,将多种通信手段相结合,成为一个立体的、全方位的通信网络。这中间,电子邮件也在扮演着相当重要的角色。实在难以想象,如果没有了电子邮件,网民的生活是如何的。但大多网站邮箱功能过于强大,操

13、作繁琐,不简单实用,甚至有的是收费邮箱,对于小型企业或集体用于内网通信成本过高。所以本系统针对于小范围人群内部通信设计,实现邮箱基本功能,操作简单易用。本系统采用 MyEclipse 8.6 开发,后台数据库采用 MySQL 5.1 进行开发,系统总体分为三大模块:登录管理模块,用户身份进行验证以及注册的实现。邮箱管理模块,收发邮件和对邮件信息进行管理。通讯录管理模块,对联系人信息进行管理。1. 绪论1.1 选题背景电子邮件(Electronic-Mail 也称为 E-mail),它是用户或用户组之间通过计算机网络收发信息的服务。目前,电子邮件是互联网上使用最为广泛的功能,现已成为公司进行顾客

14、服务的强大工具,成为网络用户之间快捷、简便、可靠且成本低廉的现代化通讯手段,也是互联网上使用最广泛、最受欢迎的服务之一。并且现在很多高校也采用邮件方式教学和收发作业。目前互联网 60%以上的活动都与电子邮件有关。尤其如今环境资源遭到破坏,提倡环保的主题下,不论是企业还是个人都应该尽量节省纸张,采用邮件形式来传递信息,这样不仅可以环保同时也提高了效率和安全性。而邮件管理系统来处理用户收发邮件及管理邮件等基本操作是必不可少的。1.2 课题意义电子邮件作为现在重要的通信手段,在各种网络服务中,电子邮件系统以其方便、快捷的特点成为人们进行信息交流的理想工具。通过电子邮件人们可以以十分低廉的代价,以非常

15、快的速度同世界上其他互联网用户联络。电子邮件的使用者数量呈几何级数增长。当前流行的各大邮件客户端软件的除了最主要的收发信件之外,功能越来越复杂,但是人们平常真正用到的功能很少,很多功能尤其对于那些计算机知识相对缺乏的人来说,更加显得太过于华丽而不太实用。对于用户来说一款简单,方便,快捷的邮件收发系统将会在很大程度上为用户提供满意的服务,制作一款能满足用户需求的邮件收发系统是每一个设计者所追求的目标。因此希望通过本次设计完成一个简单的邮件收发系统,实现邮件的接收与发送,并能完成附件的传输,同时能实现邮件用户登录管理及邮件删除等功能,开发这个各种功能相对简单实用的邮件客户端程序,简化了很多不必要的

16、功能,解决了小型企业和集体不能在同一平台通信交流的问题。1.3 课题的研究内容本课题的研究内容是使用 MyEclipse 开发基于 MVC 架构的邮件管理系统。通过对 MVC 设计模式和 Struts2 架构的研究,设计一套灵活的系统整体架构方案,方便对系统功能模块的增减和修改,以应对不同用户的不同需求,解决现有邮件管理系统复杂性和可维护性差的问题。将研究结果应用于实际系统开发,为邮件管理系统的快速开发、可维护和扩展能力提供有效的支持。为客户与员工建立一个统一而方便的信息沟通平台,利用信息技术实现信息沟通一体化、规范化,服务于工程实践。1.4 论文的组织结构本论文的结构分为第一章绪论,第二章理

17、论基础与相关技术介绍,第三章系统需求分析,第四章系统总体结构设计,第五章系统详细设计,第六章系统测试,第七章总结与展望五部分来阐述。系统需求分析主要是介绍系统的开发技术、背景和环境,分析用户对本系统的需求,描述用户端特性、运行环境、性能需求、系统功能需求等方面的需求。通过数据流程图和数据字典对系统完整的进行设计,对各个功能模块进行系统的分析划分和描述。系统的总体结构设计是分别进行系统的逻辑设计和数据库的设计,完成数据库中各表之间的联系描述和关系描述,通过数据库 E-R 图表示。系统详细设计是对系统各部件的详细设计,其中有对各功能模块的设计、系统流程图、各功能模块的代码分析和实现以及系统各界面的

18、运行状况。系统测试是对本系统进行测试用例,测试本系统是否可以正常运行,并分析各测试用例。总结和展望是对本课题进行最后完整的总结,包括系统的各功能内容和特点,系统的研发体会以及系统需要改进的方面进行详细的总结。2. 相关工具与技术介绍2.1 系统开发的工具2.1.1 MyEclipse8.6MyEclipse 企业级工作平台( MyEclipse Enterprise Workbench ,简称MyEclipse)是对 Eclipse IDE 的扩展,利用它我们可以在数据库和 J2EE 的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 J2EE 集成开发环境,包括了完

19、备的编码、调试、测试和发布功能,完整支持 HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在 结 构 上 , MyEclipse 的 特 征 可 以 被 分 为 7类 : JavaEE 模 型 , WEB 开 发 工 具 , EJB 开 发 工 具 , 应 用 程 序 服 务 器 的 连 接 器 ,JavaEE 项 目 部 署 服 务 , 数 据 库 服 务 , MyEclipse 整 合 帮 助 。对 于 以 上 每 一 种 功 能 上 的 类 别 , 在 Eclipse 中 都 有 相 应 的 功 能 部 件 , 并 通 过一 系 列

20、的 插 件 来 实 现 它 们 。 MyEclipse 结 构 上 的 这 种 模 块 化 , 可 以 让 我 们 在 不 影响 其 他 模 块 的 情 况 下 , 对 任 一 模 块 进 行 单 独 的 扩 展 和 升 级 。 简 单 而 言 , MyEclipse 是 Eclipse 的 插 件 , 也 是 一 款 功 能 强 大 的 JavaEE 集成 开 发 环 境 , 支 持 代 码 编 写 、 配 置 、 测 试 以 及 除 错 , MyEclipse6.0以 前 版 本 需先 安 装 Eclipse。 MyEclipse6.0以 后 版 本 安 装 时 不 需 安 装 Eclip

21、se。 MyEclipse 8.6的 主 要 改 进 是 在 团 队 写 作 和 集 中 工 作 环 境 的 集 中 配 置 管 理 方 面 。 同 时MyEclipse 8.6还 包 含 了 上 百 个 功 能 的 改 进 和 新 特 性 , 这 些 新 功 能 和 特 性 将 让MyEclipse 8.6用 户 在 开 发 代 码 , 测 试 , 以 及 部 署 应 用 方 面 都 得 到 极 大 的 便 利 。2.1.2 MySQL 5.1MySQL 是一个小型关系型数据库管理系统,目前 MySQL 被广泛地应用在Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,

22、尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。安全性上,MySQL 采用十分灵活和安全的权限和密码系统,允许基于主机的验证。连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全。MySQL 服务器提供了对 SQL 语句的内部支持,可用于检查、优化和修复表。MySQL 5.1 具备多项崭新企业级功能,包括: 图表及索引区间(Table and Index Partitioning) MySQL 5.1 支援五种不同的平面数据区间:类别、散列、关键及混合模式(即次等区间,sub-partitioning)。透过将图表及索引数据区间,

23、从而使查询回应时间更快,因为只需扫描有关的数据区间,毋须扫描整体图表或索引。 此外,透过区间能使不同类型的储存及其他维护程序可以更轻易、更快速部署。 以行列为基础及混合式复制(Row-Based and Hybrid Replication) MySQL 5.1提供两个全新的复制选项。以列为基础的复制可以在主伺服器及后备伺服器之间复制数据的转变,而非实质 SQL 语句(SQL statement) ,至于混合式复制则可根据独立的 SQL 运行方式,作出以语句或行列为基础的复制。这项功能可为应用带来最具效率及最安全的复制程序。 工序排程这个崭新工具可让开发人员及数据库管理员将日常及持续进行的SQ

24、L 转为基础的工序,在数据库伺服器上自动执行,从而透过在 Linux 或UNIX 的 CRON 或 Microsoft Windows 的工序排程软件,为数据库的特定工序提供更大的支援。 全新 MySQL Query Analyzer Sun 电脑全新的 MySQL Query Analyzer 工具为 MySQL 企业版用户而设,可以借着监察查询的效能表现,从而准确更正SQL 编码问题,显著提升数据库应用的执行速度和减少停机时间。2.1.3 B/S 架构编程体系B/S 架构的全称为 Browser/Server,即浏览器/服务器结构, 就是只安装维护一个服务器(Server) ,而客户端采用

25、浏览器(Browse)运行软件。B /S 结 构 最 大 的 优 点 就 是可 以 在 任 何 地 方 进 行 操 作 而 不 用 安 装 任 何 专 门 的 软 件 。 只 要 有 一 台 能 上 网 的 电脑 就 能 使 用 , 客 户 端 零 维 护 。 系 统 的 扩 展 性 非 常 容 易 , 只 要 能 上 网 , 再 由 系 统 管理 员 分 配 一 个 用 户 名 和 密 码 , 就 可 以 使 用 了 。 B/S 结 构 的 程 序 架 构 是 发 展 的 趋势 , 从 MS 的 .Net 系 列 的 BizTalk 2000 Exchange 2000 等 , 全 面 支

26、持 网 络 的 构件 搭 建 的 系 统 .。 SUN 和 IBM 推 的 JavaBean 构 件 技 术 等 , 使 B/S 更 加 成 熟 。B/S 三 层 体 系 结 构 采 用 三 层 客 户 服 务 器 结 构 , 在 数 据 管 理 层 (Server)和 用 户界 面 层 (Client)增 加 了 一 层 结 构 , 称 为 中 间 件 (Middleware), 使 整 个 体 系 结 构 成为 三 层 。 三 层 结 构 是 伴 随 着 中 间 件 技 术 的 成 熟 而 兴 起 的 , 核 心 概 念 是 利 用 中 间 件将 应 用 分 为 表 示 层 、 业 务 逻

27、 辑 层 和 数 据 存 储 层 三 个 不 同 的 处 理 层 次 。 三 个 层 次 的划 分 是 从 逻 辑 上 分 的 , 具 体 的 物 理 分 法 可 以 有 多 种 组 合 。 中 间 件 作 为 构 造 三 层 结构 应 用 系 统 的 基 础 平 台 , 提 供 了 以 下 主 要 功 能 : 负 责 客 户 机 与 服 务 器 、 服 务 器 与服 务 器 间 的 连 接 和 通 信 ; 实 现 应 用 与 数 据 库 的 高 效 连 接 ; 提 供 一 个 三 层 结 构 应 用的 开 发 、 运 行 、 部 署 和 管 理 的 平 台 。 这 种 三 层 结 构 在 层

28、 与 层 之 间 相 互 独 立 , 任 何一 层 的 改 变 不 会 影 响 其 它 层 的 功 能 。在 B/S 体 系 结 构 系 统 中 , 用 户 通 过 浏 览 器 向 分 布 在 网 络 上 的 许 多 服 务 器 发 出请 求 , 服 务 器 对 浏 览 器 的 请 求 进 行 处 理 , 将 用 户 所 需 信 息 返 回 到 浏 览 器 。 而 其 余如 数 据 请 求 、 加 工 、 结 果 返 回 以 及 动 态 网 页 生 成 、 对 数 据 库 的 访 问 和 应 用 程 序 的执 行 等 工 作 全 部 由 Web Server 完 成 。 随 着 Windows

29、 将 浏 览 器 技 术 植 入 操 作 系统 内 部 , 这 种 结 构 已 成 为 当 今 应 用 软 件 的 首 选 体 系 结 构 。 显 然 B/S 结 构 应 用 程序 相 对 于 传 统 的 C/S 结 构 应 用 程 序 是 一 个 非 常 大 的 进 步 。B/S 结 构 的 主 要 特 点 是 分 布 性 强 、 维 护 方 便 、 开 发 简 单 且 共 享 性 强 、 总 体 拥有 成 本 低 。 但 数 据 安 全 性 问 题 、 对 服 务 器 要 求 过 高 、 数 据 传 输 速 度 慢 、 软 件 的 个性 化 特 点 明 显 降 低 , 这 些 缺 点 是

30、有 目 共 睹 的 , 难 以 实 现 传 统 模 式 下 的 特 殊 功 能 要求 。 例 如 通 过 浏 览 器 进 行 大 量 的 数 据 输 入 或 进 行 报 表 的 应 答 、 专 用 性 打 印 输 出 都比 较 困 难 和 不 便 。 此 外 , 实 现 复 杂 的 应 用 构 造 有 较 大 的 困 难 。 虽 然 可 以 用 ActiveX、 Java 等 技 术 开 发 较 为 复 杂 的 应 用 , 但 是 相 对 于 发 展 已 非 常 成 熟 C/S 的 一系 列 应 用 工 具 来 说 , 这 些 技 术 的 开 发 复 杂 , 并 没 有 完 全 成 熟 的 技

31、 术 工 具 供 使 用 。2.2 系统开发的技术2.2.1 MVC 理论基础MVC 架构是“Model-View-Controller“的缩写,中文翻译为“模型-视图- 控制器“。 MVC 应用程序总是由这三个部分组成。Event(事件)导致 Controller 改变 Model或 View,或者同时改变两者。只要 Controller 改变了 Models 的数据或者属性,所有依赖的 View 都会自动更新。类似的,只要 Controller 改变了 View,View 会从潜在的 Model 中获取数据来刷新自己。MVC 架构是一种架构,其实需要其他模式协作完成。而 Struts 只实

32、现了 MVC的 View 和 Controller 两个部分, Model 部分需要开发者自己来实现,Struts2 在整合了 Struts 和 webwork 后,终于彻底实现了 MVC 的架构。视图(View):代表用户交互界面,对于 Web 应用来说,可以概括为 HTML 界面,但有可能为 XHTML、XML 和 Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC 设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model) 处理。比如一个订单的视图只接受来

33、自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。 模型(Model):就是业务流程 /状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是 MVC 最主要的核心。目前流行的 EJB 模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC 设计模式告诉我们,把应用的模型按一定的规则抽取

34、出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC 并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类只能做这些,但没法限制能做这些。这点对编程的开发人员非常重要。 业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据 保存(持续化) 。比如将一张订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。 控制(Controller)可以理解为从用户接收请求 , 将模型与视图匹

35、配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能,如图 2-1 所示。图 2-1 MVC 组件类型的关系和功能2.2.2 Struts2 框架技术

36、Struts 框架的核心是一个灵活的控制层,它基于以下标准技术,如:Java Servlet、JavaBean、资源绑定、XML 和各种 Jakarta Commons 包。虽 然 Struts2 号 称是 一 个 全 新 的 框 架 , 但 这 仅 仅 是 相 对 Struts1 而 言 。 Struts2 与 Struts1 相 比 , 确实 有 很 多 革 命 性 的 改 进 , 但 它 并 不 是 新 发 布 的 新 框 架 , 而 是 在 另 一 个 赫 赫 有 名 的框 架 : WebWork 基 础 上 发 展 起 来 的 。 从 某 种 程 度 上 来 讲 , Struts2

37、没 有 继 承Struts1 的 血 统 , 而 是 继 承 WebWork 的 血 统 。 或 者 说 , WebWork 衍 生 出 了Struts2, 而 不 是 Struts1 衍 生 了 Struts2。 因 为 Struts2 是 WebWork 的 升 级 , 而 不是 一 个 全 新 的 框 架 , 因 此 稳 定 性 、 性 能 等 各 方 面 都 有 很 好 的 保 证 : 而 且 吸 收 了Struts1 和 WebWork 两 者 的 优 势 , 因 此 , 是 一 个 非 常 值 得 期 待 的 框 架 。Struts2 框架是当前 Web 开发中最为流行的设计和开发

38、框架,借助于 Struts2 框架,开发人员可以把主要精力集中在如何解决实际业务处理上,而不需要在页面和业务代码之间的处理上花费很多时间。Struts2 开发框架遵循 MVC 设计模式,这样可以将整个工程分为 3 个相对独立而又能协同工作的组成部分(包括模型、视图、控制器) ,开发人员可以从负责的页面代码、业务代码和控制流程中具体分工。1) 核心控制器:FilterDispatcher FilterDispatcher 是 Struts2 框架的核心控制器,该控制器作为一个 Filter 运行在Web 应用中,它负责拦截所有的用户请求,当用户请求到达时,该 Filter 会过滤用户请求。如果用

39、户请求以 action 结尾,该请求将被转入 Struts2 框架处理。 Struts2 框架获得了*.action 请求后,将根据*.action 请求的前面部分决定调用哪个业务逻辑组件,例如,对于 login.action 请求,Struts2 调用名为 login 的 Action 来处理该请求。Struts2 应用中的 Action 都被定义在 struts.xml 文件中,在该文件中定义 Action时,定义了该 Action 的 name 属性和 class 属性,其中 name 属性决定了该 Action 处理哪个用户请求,而 class 属性决定了该 Action 的实现类。S

40、truts2 用于处理用户请求的 Action 实例,并不是用户实现的业务控制器,而是Action 代理;因为用户实现的业务控制器并没有与 Servlet API 耦合,显然无法处理用户请求。而 Struts2 框架提供了系列拦截器,该系列拦截器负责将 HttpServletRequest请求中的请求参数解析出来,传入到 Action 中,并回调 Action 的 execute 方法来处理用户请求。用户实现的 Action 类仅仅是 Struts2 的 Action 代理的代理目标。用户实现的业务控制器(Action )则包含了对用户请求的处理。用户的请求数据包含在HttpServletRe

41、quest 对象里,而用户的 Action 类无需访问 HttpServletRequest 对象。拦截器负责将 HttpServletRequest 里的请求数据解析出来,并传给业务逻辑组件Action 实例。 2) 业务控制器 业务控制器组件就是用户实现 Action 类的实例,Action 类里通常包含了一个execute 方法,该方法返回一个字符串;该字符串就是一个逻辑视图名,当业务控制器处理完用户请求后,根据处理结果不同,execute 方法返回不同字符串;每个字符串对应一个视图名。程序员开发出系统所需要的业务控制器后,还需要配置 Struts2 的 Action,即需要配置 Act

42、ion 的如下三个部分定义:1.Action 所处理的 URL。 2.Action 组件所对应的实现类。3.Action 里包含的逻辑视图和物理资源之间的对应关系。 每个 Action 都要处理一个用户请求,而用户请求总是包含了指定 URL。当 Filter Dispatcher 拦截到用户请求后,根据请求的 URL 和 Action 处理 URL 之间的对应关系来处理转发。 3) Struts2 的模型组件 实际上,模型组件已经超出了 MVC 框架的覆盖范围。对于 Struts 2 框架而言,通常没有为模型组件的实现提供太多的帮助。 Java EE 应用里的模型组件,通常指系统的业务逻辑组件

43、。而隐藏在系统的业务逻辑组件下面的,可能还包含了 DAO、领域对象等组件。 通常,MVC 框架里的业务控制器会调用模型组件的方法来处理用户请求。也就是说,业务逻辑控制器不会对用户请求进行任何实际处理,用户请求最终由模型组件负责处理。业务控制器只是中间负责调度的调度器,这也是称 Action 为控制器的原因。 4) Struts 2 的视图组件 Struts 2 已经改变了 Struts1 只能使用 JSP 作为视图技术的现状,Struts 2 允许使用其他的模板技术,如 FreeMarker、Velocity 作为视图技术。 当 Struts 2 的控制器返回逻辑视图名时,逻辑视图并未与任何的

44、视图技术关联,仅仅是返回一个字符串,该字符串作为逻辑视图名。 当我们在 struts.xml 文件中配置 Action 时,不仅需要指定 Action 的 name 属性和class 属性,还要为 Action 元素指定系列 result 子元素,每个 result 子元素定义一个逻辑视图和物理视图之间的映射。前面所介绍的应用都使用了 JSP 技术作为视图,故配置 result 子元素时没有指定 type 属性,默认使用 JSP 作为视图资源。 Struts2 的工作流程如图 2-2 所示,它显示了这些组件是如何工作的。图 2-2 Struts2 工作流程图2.3 本章小结本章主要是完整的介绍

45、一下本系统开发的相关工具与技术,包括有:MyEclipse 8.6、MySQL 5.1,B/S 体系架构,MVC 理论和 Struts2 技术。将这些开发工具的特点和优势做了一个详细的描述,便于在系统开发时能够充分利用所具有的特性开发系统,提高系统开发的工作效率。本邮件管理系统页面组织和控制流程采用基于 MVC 设计模式的 Struts2 开发框架,这使得整个系统分为前台展示、业务流程控制和后台开发三个独立的部分。在视图层,使用了 Struts2 的标签和 html 共同完成 JSP 页面;业务流程和控制转发采用 Struts2 框架中的控制器部分进行控制。3. 系统需求分析3.1 用户需求3

46、.1.1 系统功能需求1. 登录管理:包括用户注册、登录和找回密码。 注册新用户:用户可以通过申请注册使用。主要是完成收集,存用户注册时填写的信息。 用户登录:主要功能用户登录的用户名密码与数据库中的信息进行验证。登录成功后可以修改个人密码,管理员还可以管理用户信息。2. 邮件收发:包括写邮件、收邮件、发送邮件。 写邮件:包含发送的主题,邮件文本内容,可以添加附件。 发送邮件:选择发送方式,如发送或保存;对非法邮件进行拦截。 收邮件:获得新邮件,对新邮件进行过滤分类。3. 邮箱管理:包括收件箱,草稿箱,发件箱和垃圾箱。 收件箱:可以查看邮件,下载邮件的附件,删除无用的邮件。 草稿箱:用户可以对

47、保存的邮件进行查看和删除。 发件箱:用户可以查看曾发送的邮件,删除记录。 垃圾箱:可以选择彻底删除垃圾邮件,或者还原邮件。4. 通讯录模块:包括建立通讯录、查看通讯录和删除通讯录。 新建通讯录:主要包括添加联系人的基本信息。 查看通讯录:主要对联系人管理操作,如删除指定联系人。 群发邮件:通过单击“选择通讯录” 可以对指定联系人群发邮件。3.1.2用户端特性将用户分为两种类型:管理员、用户。管理员管理系统中已注册的用户和发邮件;用户只能进行邮件的收发和管理功能的操作。3.1.3 运行环境需求用户对系统运行环境需求包括软件、硬件、开发等方面。1)系统软件要求:操作系统:Windows xp/vi

48、sta/win7开发软件:MyEclipse 8.6数据库:MySQL 5.12)系统硬件要求:处理器:P4 以上内存:512MB 以上硬盘空间:10G 以上3)开发要求:开发工具:MyEclipse 8.6 编程语言:Java工具配置:JDK 1.63.1.4 性能需求1)时间要求一般操作的响应时间应在 2-4 秒内,对后台数据库的操作也应在可接受的时间内完成。2)数据精确度要求要求输入、输出数据;删除,修改记录等要保证关键字的完整性。3.1.5 软件属性需求1)准确性:要求本系统能够正常运行,系统不会死机。2)高效率:系统反应速度快,工作效率高。3)易操作性:各功能菜单、按钮简单,易懂,使

49、用起来上手快。4)可维护性:数据库和显示的内容都可以及时的修改和维护。5)安全性:各权限管理规范,系统安全性强。6)可移植性:在台式机、笔记本电脑上通用。3.2 数据描述3.2.1 数据流程分析数据流程图(DFD):是一种图形化技术,是描绘数据在软件中流动和被处理的逻辑过程。以下是本系统按照功能来划分的数据流图的顶层图:图 3-1 系统的顶层数据流图顶层数据流图仅仅是从总体上反映了系统的信息联系,按照结构化分析方法,自顶向下、逐层分解,对顶层图进行细化。细化进行到数据流图中的每一个数据处理成为一个很容易理解的单一功能,且这个单一功能可以通过简单的逻辑表达式在数据字典中予以说明。通过对数据流的顶

50、层图的绘制与分析得到系统的第 0 层数据流:图 3-2 系统的第 0 层数据流第 0 层数据流图反映的是对系统主要数据流的方向,将其逐层细化,把数据流图中的每一个数据加工进行了分析细化。各信息管理的数据流图,其第一层数据流图如下图:图 3-3 登录管理的第 1 层数据流图图 3-4 邮件收发的第 1 层数据流图图 3-5 邮箱管理的第 1 层数据流图图 3-6 通讯录管理的第 1 层数据流图3.2.2 数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典最主要的用途就是供人查阅对不了解的条目的解释,数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。数据流程图和数据字典共同构成系统的逻辑模型,没有数据字典,数据流图就不严格。所以为了精确定义每一个元素,需要数据字典来将系统规格说明。系统中的数据流:表 1:用户注册数 据 流系统名:邮件管理系统

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 大学论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报