已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
( 二二 八八 年年 六六 月月 本科毕业设计说明书本科毕业设计说明书 学校代码:学校代码: 1012810128 学学 号:号: 040201031040201031 题题 目目: Struts+HibernateStruts+Hibernate 在在 B/SB/S 系统中的应用系统中的应用 学学生生姓姓名名 : 学学 院院 : 信信 息息 工工 程程 学学 院院 系系 别别: 计计 算算 机机系系 专专 业业: 计计 算算 机机 科科 学学 与与 技技 术术 班班 级级: 计计 算算 机机0 0 4 4 - - 2 2 指指导导教教师师 : 研研究究生生 工工程程师师 内蒙古工业大学本科毕业设计说明书 摘 要 Struts 是目前广受欢迎的基于 MVC 的 Java Web 框架,Hibernate 则是 Java Web 开发中一个功能强大的持久化中间件。Struts 与 Hibernate 相结合在 B/S 系统开发中 有着广泛的应用。本网络跑步社区系统的开发,正是使用了它们。 本系统采用的是模块化设计,并采用接口化编程思想降低模块之间的耦合度。 该系统主要采用Struts框架,涉及到前台页面的展示,后台与数据库的交互,中间层 业务逻辑的处理等。设计中用到了Eclipse开发工具,Hibernate持久化中间件,采用 Jsp网络编程,以及Servlet等技术。该系统具备数据查询、修改、增加、删除等功能, 实现了基本信息管理,短信息管理,好友管理三大模块的全部功能。 系统具有界面直观友好、操作简单的特点,并且能够承受多用户同时上线,满 足了用户在网络交流方面的需求。 关键词:MVC 模式;Struts 框架;Hibernate;跑步社区 内蒙古工业大学本科毕业设计说明书 Abstract Struts is a well-liked frame which on the basic of MVC at the present time, and Hibernate is powerful persistent untermediate procduct. Struths joins Hibernate, which have wide rang application in B/S system development of this web-community system just used these. The system adops the modularity design, and adopts the mind of interface to reduce the coumpling degree of each model.The system adopts the struts frame in the development. It references to the show of the front page, and interacts with the database at backatage, and deals with the business logic in the middle layer, and so on. Eclipse development tool, Hibernate persistent intermediate product, Jsp web prigramming, and Servlet technique are used in the design. The system have the funcation of query data, modifying data, adding data, and deling data. It implements all funcations of the three models, including basic imformation model, note management model, and friend management model. The system has friendly interface, and the simple operation, which can support that many users are online at the same time, satisfied users requirement to community by internet. Keywords:mode of MVC ; Struts framework; Hibernate; runCommunity 内蒙古工业大学本科毕业设计说明书 目 录 引 言.1 第一章 开发背景与环境.3 1.1 开发背景.3 1.2 开发环境.3 1.2.1 开发语言.3 1.2.2 开发工具.5 1.2.3 开发框架.6 第二章 总体设计.8 2.1 需求分析.8 2.2 系统过程设计.8 2.3 系统模块设计.8 2.4 数据库结构设计.9 第三章 系统详细设计.13 3.1 建立数据库.13 3.2 建立连接.13 3.3 程序设计.13 3.3.1 用户登陆功能设计.13 3.3.2 创建个人空间功能设计.14 3.3.3 发送信息功能设计.15 3.3.4 收件箱的功能设计.16 3.3.5 查询好友的功能设计.16 3.4 对本社区的说明.17 3.4.1 查询数据库的说明.17 3.4.2 使用本社区的说明.17 3.4.3 系统设计用到的一些图.18 第四章 系统接口定义.20 4.1 DAO 模式简介.20 4.1.1 用户基本信息操作的 DAO 接口声明.21 4.2 Service 服务的接口声明.21 内蒙古工业大学本科毕业设计说明书 4.2.1 Service 层的用户基本信息操作的接口声明.21 第五章 关键技术及系统安全性能.22 5.1 关键技术.22 5.1.1 关于 JSP .22 5.1.2 关于 Servlet.22 5.1.3 关于 Struts.22 5.1.4 关于 Hibernate.23 5.2 系统安全性能.23 5.2.1 密码安全.23 5.2.2 系统访问安全.24 结 论.25 参考文献.26 谢 辞.27 内蒙古工业大学本科毕业设计说明书 1 引 言 生命的意义在于运动,自古以来运动一直是人们所关注的话题。特别是随着 2008 年奥运会的到来,运动一词更是被人广泛关注。而生活在当今社会的运动的追 求者,追求的不仅仅是身体的健康,更重要是追求精神上的愉悦。 随着社会的发展,特别是信息技术的发展,网络的力量已经在社会的各个方面 凸显出来。人们通过网络看新闻,购物,交友,聊天等等。人们享受着网络带来的 快捷。为了满足那些运动爱好者的需要,我们提供了一个网上的交流的平台。这个 平台不仅为运动爱好者提供了方便,而且对某公司品牌的宣传及其公司形象的宣传 都起到很好的促进作用。 本系统主要采用的是 Eclipse 开发工具开发的,采用的是 Java 语言,由于 Java 语言的跨平台性使得系统的可重用性增强,由于 Java 语言的垃圾回收,安全等机制 提高了系统的性能。使用 Struts 框架更是提高了开发效率,使得模块化更加简洁, 设计更加方便,使用 Hibernate 持久化中间件。 Struts 跟 Tomcat、Turbine 等诸多 Apache 项目一样,是开源软件,这是它的一 大优点。使开发者能更深入的了解其内部实现机制。除此之外,Struts 的优点主要集 中体现在两个方面:Taglib 和页面导航。Taglib 是 Struts 的标记库,灵活动用,能大 大提高开发效率。另外,就目前国内的 JSP 开发者而言,除了使用 JSP 自带的常用 标记外,很少开发自己的标记,或许 Struts 是一个很好的起点。关于页面导航使系 统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这 对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优 势体现得更加明显。 Struts 是一个开放原代码的应用框架,在最近几年得到了飞速的发展,在 JSP Web 应用开发中应用得非常广泛,有的文献上说它已经成为 JSP Web 应用框架的事 实上的标准。下面列举的这些理由是显而易见的:首先,它是建立在 MVC 这种公 认的好的模式上的,Struts 在 M、V 和 C 上都有涉及,但它主要是提供一个好的控 制器和一套定制的标签库上,也就是说它的着力点在 C 和 V 上,因此,它天生就有 MVC 所带来的一系列优点,如:结构层次分明,高可重用性,增加了程序的健壮性 和可伸缩性,便于开发与设计分工,提供集中统一的权限控制、校验、国际化、日 志等等;其次,它是个开源项目得到了包括它的发明者 Craig R.McClanahan 在内的 一些程序大师和高手持续而细心的呵护,并且经受了实战的检验,使其功能越来越 内蒙古工业大学本科毕业设计说明书 2 强大,体系也日臻完善;最后,是它对其他技术和框架显示出很好的融合性。如, 现在它已经与 titles 融为一体,可以展望,它很快就会与 JSF 等融会在一起。 内蒙古工业大学本科毕业设计说明书 3 第一章 开发背景与环境 1.1 开发背景 本系统全名为:网络跑步爱好者社区系统,是专门为跑步爱好者在网络上提供的一 个交流的平台,使跑步爱好者不需要进行面对面的交流,只需在网上查看跑步爱好 者的个人空间,从而了解他人的跑步爱好习惯。如果与自己的爱好相同或相似,就 可以加对方为好友,并且能够发送短信息给自己的跑步好友。 1.2 开发环境 1.2.1 开发语言 JSP 技术的简介及其优点: (1).一次编译,多次、多处运行,代码的执行效率高。JSP 的脚本语言是 JAVA 语言,因此它具有 JAVA 语言的一切特性。同时,JSP 也支持现在大部分平 台。当 JSP 第一次被请求时,JSP 页面转换成 Servlet,然后被编译成.calss 文件,以 后(除非页面有改动或 Web 服务器被重新启动)再有客户请求该 JSP 页面时,JSP 页面不被重新编译,而是直接执行已编译好的.class 文件,因此执行效率特别高。 (2)组件的重用性。可重用的、跨平台的 JavaBeans 和 EJB(Enterprise JavaBeans)组件,为 JSP 程序的开发提供方便,我们可以将复杂的处理程序(如页 面中需要显示的动态内容及对数据库的操作)放到组件中。可以多次使用这些组件, 极大的减少了在 JSP 页面中重写重复的代码。 (3)将内容的生成和显示进行分离。使用 JSP 技术,Web 页面开发人员可以 使用 HTML 或者 XML 标识来设计和格式化最终页面。使用 JSP 标识或者脚本来生 成页面上的动态内容。生成动态内容的语句一般被封装在 JavaBean 组件、EJB 组件 或 JSP 脚本段中。这样,页面的设计人员和页面的编程人员可以同步进行。同时在 客户端通过查看源文件,看不到 JSP 标识的语句,更看不到 JavaBean 和 EJB 组件, 也可以保护源程序的代码。 Servlet 语言简介及其优点: Servlet 是一种运行在支持 Java 语言的服务器上的组件,它与普通 Java 类的区 别就是它运行在服务器上。使用 Servlet 可以很轻松地扩展 Java 网络服务器的功能, 为网络客户提供安全可靠的、易于移植的动态网页。 Servlet 容器的作用是负责处理客户请求。当客户请求来到时,Servlet 容器获取 请求,然后调用某个 Servlet,并把 Servlet 的执行结果返回给客户。当客户请求某个 内蒙古工业大学本科毕业设计说明书 4 资源时,Servlet 容器使用 ServletRequest 对象把客户的请求信息封装起来,然后调 用 Java Servlet API 中定义的 Servlet 的一些生命周期方法,完成 Servlet 的执行,接 着把 Servlet 执行的要返回给客户的结果封装到 ServletResponse 对象中,最后 Servlet 容器把客户的请求发送给客户,完成为客户的一次服务过程。Servlet 容器的作用如 图 1-1 所示。 Servlet容器 Web 客户 Servlet 1 Servlet 2 Servlet 3 request response 图 1-1 Servlet 容器的作用 Servlet 的优势在于: (1)高效率:使用线程取代操作系统进程,能够手工的控制线程,比以前单一 的使用操作系统的进程效率高。 (2)功能强大:提供数据共享,连接共享,持续存储等诸多功能,强大的功能 性使其具有强大的实用性。 (3)可移植性强:几乎可以在所有操作系统(如 Unix、Windows 操作系统)、 所有服务器上(如 Tomcat,Weblogic 服务器)运行。 (4)花费少:有众多免费或收费低廉的服务器可以选择,降低了使用的成本。 (5).安全:不设计外壳程序,也就杜绝了使用转移符的攻击。没有缓冲区溢 出的问题。 (6)主流:目前市场上大部分产品都使用该技术。 Hibernate 语言简介及其优点: Hibernate 是一个数据持久层框架,是一种实现对象和关系之间映射(O/R Mapping)的工具,它对 JDBC 进行了轻量级的对象封装,使程序员可以使用对象编 程思想来操作数据库。它不仅提供了从 Java 类到数据表的映射,也提供了数据查询 和恢复机制。相对于使用 JDBC 和 SQL 来操作数据库,使用 Hibernate 能大大的提 高实现的效率。 Hibernate 框架用配置文件的形式来定义 Java 对象和数据表之间的映射关系,同 内蒙古工业大学本科毕业设计说明书 5 时在更深的层面将数据表之间的关系解释为 Java 对象之间的继承及包含等关系。通 过使用 HQL 语句将复杂的关系算法用对象的方式描述,在很大程度上简化了对数据 的查询,加快了开发的效率。在 Hibernate 中有一个简单而直观的 API,用于对数据 库所表示的对象执行查询。要创建或修改这些对象,只需在程序中与它们进行交互, 然后告诉 Hibernate 保存即可。这样,大量封装持久化操作的业务逻辑不再 需要编 写烦琐的 JDBC 语句,从而使数据持久层得到了极大的简化。 1.2.2 开发工具 根据需求分析及功能分析,选用 Eclipse 集成开发工具及 Oracle 数据库来开发此社区。 (1)Eclipse 的起源和发展 Eclipse 的前身是 IBM 的 Visual Age。由于意识到 Visual Age 存在难以扩展、底 层技术较为脆弱、很难与 WebSphere Studio 软件集成等诸多问题,进一步发展甚为 困难,同时也面临包括 Symantec 公司的 Visual Caf、Borland 公司的 JBuilder 等开 发工具的竞争压力,IBM 决定创建一个更开放的,并且可以为 IBM 其他开发工具提 供支持的一体化开发平台。1998 年 11 月,IBM 专门成立了一个项目开发小组,开 始开发该平台,2000 年新一代开发平台诞生,这就是大家所熟悉的 Eclipse。2000 年 11 月,IBM 做出了一个重大决定,将 Eclipse 采用开放源码的授权和运作模式发 布,以增强业界对 Eclipse 的关注度并加快其推广应用速度。随后,IBM 于 2001 年 12 月向外界宣布,捐赠价值 4 千万美元的 Eclipse 源码给开源社区;成立由成员公 司组成的 Eclipse 协会(Eclipse Consortium),以便支持并促进 Eclipse 开源项目。 事实证明,IBM 的决策非常英明。Eclipse 受到广泛关注,蜂拥而至的用户使得其下 载服务器一度阻塞,给业界带来了久违的震撼!IBM 趁热打铁,在 EclipseCon 2004 上宣布成立一个独立的、非盈利性的基金会,由该基金会负责管理和指导 Eclipse 开 发,目前其成员多达近百家知名公司,其中包括 Borland、Rational Software、Red Hat、Sybase、Google 和 Oracle 等业界巨头。 Eclipse 开发状态非常活跃,目前成熟稳定的版本是 3.2,正在开发的版本是 3.3,已经成为业界主要的非微软软件开发平台。 (2)Eclipse 的优势 Eclipse 是开放源代码的软件。这意味着 Eclipse 不仅可以免费使用,还可以通 过研究源代码学习世界上顶尖开发人员的编程技术,并可以共享遍布全球的开发人 员所贡献的公共开放源代码库。 内蒙古工业大学本科毕业设计说明书 6 Eclipse 是真正可扩展并可配置的。Eclipse 采用插件机制,犹如一个花瓶,你可 以随时向花瓶里面插花,也可以很容易将不再需要的花取出。 Eclipse 支持众多的开发语言而不仅仅是 Java。Eclipse 只是给开发人员提供了一 个能够扩展系统功能的最小核心,基于扩展点的插件体系结构使得 Eclipse 支持多种 语言成为可能。只要安装相应语言的插件,Eclipse 就可以支持该种语言的开发。目 前,Eclipse 已经可以支持 C、COBOL、PHP、Perl、Python 等多种语言。 Eclipse 提供了对多重平台特性的支持。开发者可以使用他们感觉最舒适、最熟 悉的平台,例如 Windows、Linux 等。Eclipse 对每个平台都有其单独的图形工具包, 这使得应用程序具有接近本地操作系统的外观和更好的性能。 1.2.3 开发框架 用 Struts 实现 MVC 架构。MVC(Model-View-Controller)由 Trygve Reenskaug 提出,首先被应用在 SmallTalk-80 环境中,是许多交互和界面系统的构成基础。根 据界面设计可变性的需求,MVC 把交互系统的组成分解成模型、视图、控制器三部 分。 模型(Model)是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内 在抽象,封装了问题的核心数据、逻辑和功能的计算关系,独立于具体的界面表达 和 I/O 操作。视图(View)把表示模型数据及逻辑关系和状态的信息及特定形式展 示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或 视图。控制器(Controller)是处理用户与软件的交互操作的,其职责是控制提供模 型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将 输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。 通常一个视图对应一个控制器。模型、视图与控制器的分离,使得一个模型可以具 有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依 赖于这些数据的视图都应反映到这些变化。因此,无论 何时发生了何种数据变化, 控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化 传播机制。 Struts 框架最早是作为 Apache Jakarta 项目的组成部分问世运做,它继承了 MVC 的各项特性,并根据 J2EE 的特点,做了相应的变化与扩展。Struts 框架很好 的结合了 Jsp,Java Servlet,Java Bean,Taglib 等技术。在 Struts 中,承担 MVC 中 控制器角色的是 ActionServlet。ActionServlet 是一个通用的控制组件。这个控制组件 提供了处理所有发送到 Struts 的 HTTP 请求的入口点。它截取和分发这些请求到相 内蒙古工业大学本科毕业设计说明书 7 应的动作类(这些动作类都是 Action 类的子 类)。另外控制组件也负责用相应的 请求参数填充 Action Form(FromBean),并传给动作类(ActionBean)。动作类访 问核心商业逻辑,即访问 Java Bean 或调用 EJB。最后动作类把控制权传给后续的 JSP 文件,由 JSP 文件生成视图。所有这些控制逻辑利用 Struts-config.xml 文件来配 置。在 Struts 框架中,视图主要由 JSP 生成页面完成,Struts 提供丰富的 JSP 标签库, 这有利于分开表现逻辑和程序逻辑。模型以一个或多个 Java Bean 的形式存在。在 Struts 中,主要存在三种 Bean,分别是:Action,ActionForm,EJB 或者 Java Bean。 Struts 框架没有具体定义模型层的实现,在实际开发中,模型层通常是和业务逻 辑紧密相连的,并且要对底层数据进行操作。下面介绍一种开发策略,将 Hibernate 引入到 Struts 框架的模型层中,使用它来进行数据封装和映射,提供持久化的支持。 归纳起来,网络跑步爱好者社区系统的开发与运行环境如下: 开发环境:Linux 开发工具:Eclipse 开发框架:Struts 数据库管理系统:Oracle10g 运行环境:Linux 内蒙古工业大学本科毕业设计说明书 8 第二章 总体设计 2.1 需求分析 结合“网络跑步爱好者社区”的用户反映信息,切实了解他们对整个系统期望具 有的功能,经分析,整个系统应具有以下功能。 (1)用户登录:已经注册的用户可以直接登录,通过验证用户名和密码后就可 以进入主页面;没注册的用户先注册,注册成功后返回登陆界面;在登录过程中, 忘记密码的用户可以根据提示问题和答案找回密码。 (2)用户管理:用户登录后可以修改自己的基本信息,并可以创建或修改自己 的个性空间。 (3)短信息管理:用户可以给自己的好友发短信,并可以查看自己的发件箱或 收件箱,以查看发送给好友或收到好友的短信。 (4)好友管理:包括好友速配,好友名单,黑名单三个子模块.在好友速配时 可以随机速配一个好友,也可以根据条件查询好友;在好友名单中,可以把好友移 动到黑名单;在黑名单中,可以彻底删除好友,也把黑名单中的好友移动到好友名 单中。 (5)系统可以根据登陆的次数给用户加上相应的积分。 2.2 系统过程设计 首先根据需求分析和功能分析设计出数据库,包括各个数据表和数据表结构图 的详细设计。 由功能分析可知,本系统主要包括用户登录,基本信息管理,短信息管理,好 友管理等四个主要模块。实现功能模块时,采用先模块化,后集成的方式。即对系 统各个功能模块分别独立设计和调试,在创建系统主窗体时再将各个功能模块通过 主窗体的菜单系统集成到一起,最后进行系统整体设计调试。 在访问数据库时,采用公用数据模块访问数据库需要的对象。该模块在各个功 能模块中被直接调用,避免对数据库的反复连接,并可减少代码编写,从而提高系 统开发效率。 2.3 系统模块设计 在前面的系统规划与需求分析的基础上,对该系统进行了总体设计,不仅能满 足用户修改个人的各种基本信息,能够创建和修改自己的个性空间,使更多的跑步 爱好者了解自己,能够随机查找一个好友或根据条件查找到多个好友,而且还能够 内蒙古工业大学本科毕业设计说明书 9 给自己的好友发送短信,交流各自的跑步心得。 根据系统功能分析得到如图 2-1 所示的系统功能模块结构图。 图 2-1 功能模块结构图 根据系统功能模块结构图和管理流程,以及网络跑步爱好者社区系统的需要总 结出如下的数据字典。 (1)系统用户数据:系统用户名,密码,性别,年龄,邮箱,省份,地址,密 码提示问题,密码提示答案等。 (2)用户个人空间数据:跑步观点,跑步时间,跑步地点,跑步习惯,电话, 上传的图片等。 (3)短信息数据:发送者,接收者,标题,内容等。 (4)好友名单数据:自己的名字,好友的名字。 (5)黑名单数据:自己的名字,黑名单的名字。 2.4 数据库结构设计 数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将 直接影响到系统的效率及系统实现的效果。合理的数据结构设计可以提高数据存储 的效率,保证数据的完整性和一致性。合理的数据库结构也将有利于程序的实现。 某跑步社区 基 本 信 息 管 理 短 信 息 管 理 好 友 管 理 管 理 基 本 信 息 管 理 个 性 空 间 发 信 息 收 件 箱 发 件 箱 好 友 速 配 好 友 名 单 黑 名 单 内蒙古工业大学本科毕业设计说明书 10 (1)数据库的需求分析 用户的需求具体体现在各种信息的添加、修改、删除和查询,这种数据库结构 能够满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组 成一份详尽的数据字典,为后面的具体设计打下基础。 (2).数据库创建的意义 数据表是一组有意义的,相对完整的数据的集合,它是构成数据库的最直接的 单元。换句话说,数据库是由一个或多个数据表直接构成的。 (3)根据数据字典和功能模块图设计出网络跑步爱好者社区系统数据库中的各 个数据表。根据小区管理要求得到以下几类数据表。 1)用户信息数据表 2-1,用于保存跑步爱好者的详细地址及联系方式,数据表 名为“memberinfo” 表 2-1 用户信息表 字段名字段类型约束或索引描述 IDNumber(Sequence)PK 记录流水号 NickNameVarchar2(20)Not Null 用户昵称 PasswordVarchar2(50)Not Null MD5 加密口令 GenderNvarchar2(1)Not Null 性别,男或女 AgeNumberNot Null 年龄 EmailNvarchar2(100)Not Null 电子邮件 PasswordQuestionNvarchar2(200) 密码提示问题 PasswordAnswerNvarchar2(200) 密码提示问题答案 ProvinceCityNvarchar2(20) 所在省市 AddressNvarchar2(200) 地址 PhoneVarchar2(50) 联系电话 PointNumberDefault=0 当前积分 RecommenderVarchar2(20) 推荐人 RegisterDateDate 注册时间 LatestDateDate 上次上线时间 StatusNumberDefault=0 0-正常 1-注销 IsOnlineNumberDefault=0 0-下线 1-在线 GradeIdNumber 等级ID 2)用户个人空间表 2-2,用于保存用户个人空间的基本信息,数据表名为 “memberspace”。 表 2-2 用户个人空间表 字段名字段类型约束或索引描述 内蒙古工业大学本科毕业设计说明书 11 IDNumber(Sequence)PK 记录流水号 RunplaceVarchar2(20) 跑步地点 RuntimeVarchar2(20) 跑步时间 RunhabitVarchar2(20) 跑步习惯 RunStarVarchar2(20) 喜欢的体育明星 CellphoneVarchar2(20) 正在使用的手机 OpinionVarchar2(200) 个人对跑步的看法 IconVarchar2(50) 个人空间头像图片路径 MemberidNumber 会员id 3)短信息数据表 2-3 用于保存短信的基本信息,数据表名为“messagerecord” 表 2-3 短信息数据表 字段名字段类型约束或索引描述 IDNumber(Sequence)PK 记录流水号 SenderVarchar2(20)Not Null 发件人登录名 ReceiverVarchar2(20)Not Null 收件人登录名 SendDateDateNot Null 发送日期 TitleNVarchar2(100)Not Null 短信标题 ContentNvarchar2(300)Not Null 短信内容 StatusNumberDefault=0 0-未阅读 1-已阅读 SenderStatusNumberDefault=0 0-未删除 1-已删除(发送者) ReceiverStatusNumberDefault=0 0-未删除 1-已删除(接收者) 4)好友名单数据表 2-4,用于保存好友的基本信息,数据表名为“friendrecord” 表 2-4 好友名单数据表 字段名字段类型约束或索引描述 IDNumber(Sequence)PK 记录流水号 SelfNameVarchar2(20)Not Null 会员登录名 FriendNameVarchar2(20)Not Null 好友登录名 5)黑名单数据表 2-5,用于保存即将删除的好友,数据表名为“blackrecord” 表 2-5 黑名单数据表 字段名字段类型约束或索引描述 IDNumber(Sequence)PK 记录流水号 SelfNameVarchar2(20)Not Null 会员登录名 BlackNameVarchar2(20)Not Null 被加入黑名单者登录名 如以上建立户主关系数据表为例,建立以下数据表:用户信息表,个人空间表, 短信息表,好友名单表,黑名单表。数据表名分别为:“memberinfo”“memberspace”、 “messagerecord”、“friendrecord”、“blackrecord”,保存数据库名称为“briupdb”,数据 结构表建立完毕。各数据表间关系如图 2-2 所示: 内蒙古工业大学本科毕业设计说明书 12 图 2-2 各数据表间关系图 内蒙古工业大学本科毕业设计说明书 13 第三章 系统详细设计 3.1 建立数据库 在系统中安装 Oracle 数据库。 3.2 建立连接 本系统使用 Hibernate 连接 Oracle 数据库,其实其底层使用 JDBC 连接的 Oracle 数据库,连接的配置界面如图 3-1 所示: 图 3-1 连接 Oracle 数据库的配置界面 3.3 程序设计 3.3.1 用户登陆功能设计 功能:该模块主要对用户的登陆名和密码进行验证,如果用户名和密码都正确, 则进入用户的主界面;如果是新用户,则先进行注册,然后进入登陆界面;如果是 已经注册的用户忘记了密码,则进入找会密码的界面,根据密码提示问题和密码提 示答案找回密码,最后进入登陆界面重新进行登陆。用户登录界面如图 3-2 所示。 内蒙古工业大学本科毕业设计说明书 14 图 3-2 用户登录界面 在登陆窗体代码中实现身份验证功能,即需要检验用户登陆的用户名和密码是 否正确。如果不正确,则提示“该用户不存在,或密码不正确,请从新输入”;如果 是新用户,那么进行新用户注册,如果用户忘记密码,则可以使用下面的找回密码 按扭找会密码,如果正确,则进入网络跑步爱好者社区系统。 3.3.2 创建个人空间功能设计 功能:没有个人空间的用户可以创建自己的个人空间,在创建个人空间的界面 中,填写自己的跑步主张,使用的手机,跑步的地点,并可以上传自己的个性图象 等。有个人空间的用户可以修改自己的个人空间信息,并提交。创建个人空间界面 如图 3-3 所示: 内蒙古工业大学本科毕业设计说明书 15 图 3-3 创建个人空间界面 3.3.3 发送信息功能设计 功能:用户可以给自己的好友发送短信,只需要在以下的界面中填写收件人的 姓名,主题,消息内容,并提交后,就可以发送给自己的好友,并在自己的发件箱 中查看给好友的邮件。发送信息的界面如图 3-4 所示: 图 3-4 发送信息的界面 内蒙古工业大学本科毕业设计说明书 16 3.3.4 收件箱的功能设计 功能:在收件箱中可以查看好友发送过来的短信,如果是已经查看的短信,那 么该短信的状态变为已读短信;没有查看的短信的状态是未读短信;并可以删除收 件箱中的短信。收件箱的界面如图 3-5 所示: 图 3-5 收件箱的界面 3.3.5 查询好友的功能设计 功能:用户可以在好友速配界面中查询与自己爱好相同的系统,可以随机的查 询一位好友,也可以根据多个条件查询好友(例如查询年龄范围是:20-30,性别是: 男,所在省份是山东的好友),并可以给自己的好友发送短信。 查询好友的界面如图 3-6 所示: 内蒙古工业大学本科毕业设计说明书 17 图 3-6 查询好友的界面 3.4 对本社区的说明 本系统前台用 Eclipse 开发,后台使用 Oracle 作服务器,Eclipse 通过 Hibernate 来访问后台数据库。 3.4.1 查询数据库的说明 下面三个小节是使用 Hibernate 技术查询数据库的数据所使用的环节,由于 Hibernate 使用的是面向对象的方式访问数据库,所以首先建立一个对象,然后在数 据库中建立相应对象的表格,最后建立对象和表格的映射文件。 3.4.2 使用本社区的说明 (1)本社区的使用非常简单,如果是第一次进入本社区,可以直接注册一个新 的用户名(先检查新用户名是否存在),然后设置一个密码,最后返回用户登录界 面完成登录;如果是己经注册过的用户,可以直接登录;如果用户忘记了自己的密 码,可以通过找回密码界面找回密码,然后进入用户登录界面完成登录。 (2)进入主界面后,用户可以使用左侧的信息管理按钮,修改个人的基本信息; 没有个人空间的用户可以单击左侧的个人空间管理按钮,创建个人空间;有个人空 间的用户可以单击左
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 挖掘机租赁合同样本集
- 租房合同模板使用手册
- 2024年单位房屋租赁合同参考样本(4篇)
- 2024年美容机构联盟合同范文
- 2024商品买卖合同协议书示例
- 标准特许经营合同格式
- 工程装修合同书范本
- 幼儿园场地租赁合同书
- 工程货物供应合同范本
- (居间人)买卖房屋合同书
- 技术合作协议技术引进
- 发动机的可维修性与维护性分析考核试卷
- 2024年抗菌药物业务学习培训课件
- 北京邮电大学《计算机网络》2022-2023学年期末试卷
- 护理操作中法律风险防控
- GB 30253-2024永磁同步电动机能效限定值及能效等级
- 2024年福建福州市仓山区民政局招聘5人历年高频难、易错点500题模拟试题附带答案详解
- 合肥市2023-2024学年七年级上学期期中语文考试卷
- 相反国课件-大班
- 历史西汉建立和“文景之治”课件 2024-2025学年统编版七年级历史上册
- 中核集团在线测评多少道题
评论
0/150
提交评论