收藏 分销(赏)

bs系统2008612-学位论文.doc

上传人:胜**** 文档编号:2432077 上传时间:2024-05-30 格式:DOC 页数:32 大小:1.57MB
下载 相关 举报
bs系统2008612-学位论文.doc_第1页
第1页 / 共32页
bs系统2008612-学位论文.doc_第2页
第2页 / 共32页
bs系统2008612-学位论文.doc_第3页
第3页 / 共32页
bs系统2008612-学位论文.doc_第4页
第4页 / 共32页
bs系统2008612-学位论文.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、学校代码: 10128学 号: 040201031 本科毕业设计说明书(题 目:Struts+Hibernate在B/S系统中的应用学生姓名:李志强学 院:信息工程学院系 别:计算机系专 业:计算机科学与技术班 级:计算机04-2指导教师:武文红 研究生 钱庭荣 工程师二 八 年 六 月内蒙古工业大学本科毕业设计说明书摘 要Struts是目前广受欢迎的基于MVC的Java Web框架,Hibernate则是Java Web开发中一个功能强大的持久化中间件。Struts与Hibernate相结合在B/S系统开发中有着广泛的应用。本网络跑步社区系统的开发,正是使用了它们。本系统采用的是模块化设计,

2、并采用接口化编程思想降低模块之间的耦合度。该系统主要采用Struts框架,涉及到前台页面的展示,后台与数据库的交互,中间层业务逻辑的处理等。设计中用到了Eclipse开发工具,Hibernate持久化中间件,采用Jsp网络编程,以及Servlet等技术。该系统具备数据查询、修改、增加、删除等功能,实现了基本信息管理,短信息管理,好友管理三大模块的全部功能。 系统具有界面直观友好、操作简单的特点,并且能够承受多用户同时上线,满足了用户在网络交流方面的需求。关键词:MVC模式;Struts框架;Hibernate;跑步社区 AbstractStruts is a well-liked frame

3、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

4、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, Hiberna

5、te 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

6、, 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第一章 开发背景与环境31.1开发背景3

7、1.2开发环境31.2.1 开发语言31.2.2 开发工具51.2.3 开发框架6第二章 总体设计82.1需求分析82.2系统过程设计82.3系统模块设计82.4数据库结构设计9第三章 系统详细设计133.1建立数据库133.2建立连接133.3程序设计133.3.1 用户登陆功能设计133.3.2 创建个人空间功能设计143.3.3 发送信息功能设计153.3.4 收件箱的功能设计163.3.5 查询好友的功能设计163.4对本社区的说明173.4.1 查询数据库的说明173.4.2 使用本社区的说明173.4.3 系统设计用到的一些图18第四章 系统接口定义204.1 DAO模式简介204

8、.1.1 用户基本信息操作的DAO接口声明214.2 Service服务的接口声明214.2.1 Service层的用户基本信息操作的接口声明21第五章 关键技术及系统安全性能225.1关键技术225.1.1关于JSP225.1.2 关于Servlet225.1.3 关于Struts225.1.4关于Hibernate235.2系统安全性能235.2.1密码安全235.2.2系统访问安全24结 论25参考文献26谢 辞27引 言生命的意义在于运动,自古以来运动一直是人们所关注的话题。特别是随着2008年奥运会的到来,运动一词更是被人广泛关注。而生活在当今社会的运动的追求者,追求的不仅仅是身体的

9、健康,更重要是追求精神上的愉悦。随着社会的发展,特别是信息技术的发展,网络的力量已经在社会的各个方面凸显出来。人们通过网络看新闻,购物,交友,聊天等等。人们享受着网络带来的快捷。为了满足那些运动爱好者的需要,我们提供了一个网上的交流的平台。这个平台不仅为运动爱好者提供了方便,而且对某公司品牌的宣传及其公司形象的宣传都起到很好的促进作用。本系统主要采用的是Eclipse开发工具开发的,采用的是Java语言,由于Java语言的跨平台性使得系统的可重用性增强,由于Java语言的垃圾回收,安全等机制提高了系统的性能。使用Struts框架更是提高了开发效率,使得模块化更加简洁,设计更加方便,使用Hibe

10、rnate持久化中间件。Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。关于页面导航使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明

11、显。Struts是一个开放原代码的应用框架,在最近几年得到了飞速的发展,在JSP Web应用开发中应用得非常广泛,有的文献上说它已经成为JSP Web应用框架的事实上的标准。下面列举的这些理由是显而易见的:首先,它是建立在MVC这种公认的好的模式上的,Struts在M、V和C上都有涉及,但它主要是提供一个好的控制器和一套定制的标签库上,也就是说它的着力点在C和V上,因此,它天生就有MVC所带来的一系列优点,如:结构层次分明,高可重用性,增加了程序的健壮性和可伸缩性,便于开发与设计分工,提供集中统一的权限控制、校验、国际化、日志等等;其次,它是个开源项目得到了包括它的发明者Craig R.McC

12、lanahan在内的一些程序大师和高手持续而细心的呵护,并且经受了实战的检验,使其功能越来越强大,体系也日臻完善;最后,是它对其他技术和框架显示出很好的融合性。如,现在它已经与titles融为一体,可以展望,它很快就会与JSF等融会在一起。第一章 开发背景与环境1.1开发背景本系统全名为:网络跑步爱好者社区系统,是专门为跑步爱好者在网络上提供的一个交流的平台,使跑步爱好者不需要进行面对面的交流,只需在网上查看跑步爱好者的个人空间,从而了解他人的跑步爱好习惯。如果与自己的爱好相同或相似,就可以加对方为好友,并且能够发送短信息给自己的跑步好友。1.2开发环境1.2.1 开发语言JSP技术的简介及其

13、优点: (1).一次编译,多次、多处运行,代码的执行效率高。JSP的脚本语言是JAVA语言,因此它具有JAVA语言的一切特性。同时,JSP也支持现在大部分平台。当JSP第一次被请求时,JSP页面转换成Servlet,然后被编译成.calss文件,以后(除非页面有改动或Web服务器被重新启动)再有客户请求该JSP页面时,JSP页面不被重新编译,而是直接执行已编译好的.class文件,因此执行效率特别高。(2)组件的重用性。可重用的、跨平台的JavaBeans和EJB(Enterprise JavaBeans)组件,为JSP程序的开发提供方便,我们可以将复杂的处理程序(如页面中需要显示的动态内容及

14、对数据库的操作)放到组件中。可以多次使用这些组件,极大的减少了在JSP页面中重写重复的代码。(3)将内容的生成和显示进行分离。使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者脚本来生成页面上的动态内容。生成动态内容的语句一般被封装在JavaBean组件、EJB组件或JSP脚本段中。这样,页面的设计人员和页面的编程人员可以同步进行。同时在客户端通过查看源文件,看不到JSP标识的语句,更看不到JavaBean和EJB组件,也可以保护源程序的代码。Servlet语言简介及其优点:Servlet是一种运行在支持Java语言的服务器上的组件,它与

15、普通Java类的区别就是它运行在服务器上。使用Servlet可以很轻松地扩展Java网络服务器的功能,为网络客户提供安全可靠的、易于移植的动态网页。Servlet容器的作用是负责处理客户请求。当客户请求来到时,Servlet容器获取请求,然后调用某个Servlet,并把Servlet的执行结果返回给客户。当客户请求某个资源时,Servlet容器使用ServletRequest对象把客户的请求信息封装起来,然后调用Java Servlet API中定义的Servlet的一些生命周期方法,完成Servlet的执行,接着把Servlet执行的要返回给客户的结果封装到ServletResponse对象

16、中,最后Servlet容器把客户的请求发送给客户,完成为客户的一次服务过程。Servlet容器的作用如图1-1所示。图1-1 Servlet容器的作用Servlet的优势在于:(1)高效率:使用线程取代操作系统进程,能够手工的控制线程,比以前单一的使用操作系统的进程效率高。(2)功能强大:提供数据共享,连接共享,持续存储等诸多功能,强大的功能性使其具有强大的实用性。(3)可移植性强:几乎可以在所有操作系统(如Unix、Windows操作系统)、所有服务器上(如Tomcat,Weblogic服务器)运行。(4)花费少:有众多免费或收费低廉的服务器可以选择,降低了使用的成本。(5).安全:不设计外

17、壳程序,也就杜绝了使用转移符的攻击。没有缓冲区溢出的问题。(6)主流:目前市场上大部分产品都使用该技术。Hibernate语言简介及其优点:Hibernate是一个数据持久层框架,是一种实现对象和关系之间映射(O/R Mapping)的工具,它对JDBC进行了轻量级的对象封装,使程序员可以使用对象编程思想来操作数据库。它不仅提供了从Java类到数据表的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来操作数据库,使用Hibernate能大大的提高实现的效率。Hibernate框架用配置文件的形式来定义Java对象和数据表之间的映射关系,同时在更深的层面将数据表之间的关系解释为Jav

18、a对象之间的继承及包含等关系。通过使用HQL语句将复杂的关系算法用对象的方式描述,在很大程度上简化了对数据的查询,加快了开发的效率。在Hibernate中有一个简单而直观的API,用于对数据库所表示的对象执行查询。要创建或修改这些对象,只需在程序中与它们进行交互,然后告诉Hibernate保存即可。这样,大量封装持久化操作的业务逻辑不再 需要编写烦琐的JDBC语句,从而使数据持久层得到了极大的简化。1.2.2 开发工具根据需求分析及功能分析,选用Eclipse集成开发工具及Oracle数据库来开发此社区。(1)Eclipse的起源和发展Eclipse的前身是IBM的Visual Age。由于意

19、识到Visual Age存在难以扩展、底层技术较为脆弱、很难与WebSphere Studio软件集成等诸多问题,进一步发展甚为困难,同时也面临包括Symantec公司的Visual Caf、Borland公司的JBuilder等开发工具的竞争压力,IBM决定创建一个更开放的,并且可以为IBM其他开发工具提供支持的一体化开发平台。1998年11月,IBM专门成立了一个项目开发小组,开始开发该平台,2000年新一代开发平台诞生,这就是大家所熟悉的Eclipse。2000年11月,IBM做出了一个重大决定,将Eclipse采用开放源码的授权和运作模式发布,以增强业界对Eclipse的关注度并加快其

20、推广应用速度。随后,IBM于2001年12月向外界宣布,捐赠价值4千万美元的Eclipse源码给开源社区;成立由成员公司组成的Eclipse协会(Eclipse Consortium),以便支持并促进Eclipse开源项目。事实证明,IBM的决策非常英明。Eclipse受到广泛关注,蜂拥而至的用户使得其下载服务器一度阻塞,给业界带来了久违的震撼!IBM趁热打铁,在EclipseCon 2004上宣布成立一个独立的、非盈利性的基金会,由该基金会负责管理和指导Eclipse开发,目前其成员多达近百家知名公司,其中包括Borland、Rational Software、Red Hat、Sybase、

21、Google和Oracle等业界巨头。Eclipse开发状态非常活跃,目前成熟稳定的版本是3.2,正在开发的版本是3.3,已经成为业界主要的非微软软件开发平台。(2)Eclipse的优势Eclipse是开放源代码的软件。这意味着Eclipse不仅可以免费使用,还可以通过研究源代码学习世界上顶尖开发人员的编程技术,并可以共享遍布全球的开发人员所贡献的公共开放源代码库。Eclipse是真正可扩展并可配置的。Eclipse采用插件机制,犹如一个花瓶,你可以随时向花瓶里面插花,也可以很容易将不再需要的花取出。Eclipse支持众多的开发语言而不仅仅是Java。Eclipse只是给开发人员提供了一个能够

22、扩展系统功能的最小核心,基于扩展点的插件体系结构使得Eclipse支持多种语言成为可能。只要安装相应语言的插件,Eclipse就可以支持该种语言的开发。目前,Eclipse已经可以支持C、COBOL、PHP、Perl、Python等多种语言。Eclipse提供了对多重平台特性的支持。开发者可以使用他们感觉最舒适、最熟悉的平台,例如Windows、Linux等。Eclipse对每个平台都有其单独的图形工具包,这使得应用程序具有接近本地操作系统的外观和更好的性能。1.2.3 开发框架用Struts实现MVC架构。MVC(Model-View-Controller)由Trygve Reenskaug

23、提出,首先被应用在SmallTalk-80环境中,是许多交互和界面系统的构成基础。根据界面设计可变性的需求,MVC把交互系统的组成分解成模型、视图、控制器三部分。模型(Model)是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,独立于具体的界面表达和I/O操作。视图(View)把表示模型数据及逻辑关系和状态的信息及特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。控制器(Controller)是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受

24、用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。通常一个视图对应一个控制器。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论 何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化传播机制。Struts框架最早是作为Apache Jakarta项目的组成部分问世运做,它继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。Struts框架很好的结合了Jsp,Java Servlet,Ja

25、va Bean,Taglib等技术。在Struts中,承担MVC中控制器角色的是ActionServlet。ActionServlet是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子 类)。另外控制组件也负责用相应的请求参数填充Action Form(FromBean),并传给动作类(ActionBean)。动作类访问核心商业逻辑,即访问Java Bean或调用EJB。最后动作类把控制权传给后续的JSP文件,由JSP文件生成视图。所有这些控制逻辑利用Struts-config.xml文

26、件来配置。在Struts框架中,视图主要由JSP生成页面完成,Struts提供丰富的JSP标签库,这有利于分开表现逻辑和程序逻辑。模型以一个或多个Java Bean的形式存在。在Struts中,主要存在三种Bean,分别是:Action,ActionForm,EJB或者Java Bean。Struts框架没有具体定义模型层的实现,在实际开发中,模型层通常是和业务逻辑紧密相连的,并且要对底层数据进行操作。下面介绍一种开发策略,将Hibernate引入到Struts框架的模型层中,使用它来进行数据封装和映射,提供持久化的支持。归纳起来,网络跑步爱好者社区系统的开发与运行环境如下:开发环境:Linu

27、x开发工具:Eclipse开发框架:Struts数据库管理系统:Oracle10g运行环境:Linux 第二章 总体设计2.1需求分析结合“网络跑步爱好者社区”的用户反映信息,切实了解他们对整个系统期望具有的功能,经分析,整个系统应具有以下功能。(1)用户登录:已经注册的用户可以直接登录,通过验证用户名和密码后就可以进入主页面;没注册的用户先注册,注册成功后返回登陆界面;在登录过程中,忘记密码的用户可以根据提示问题和答案找回密码。(2)用户管理:用户登录后可以修改自己的基本信息,并可以创建或修改自己的个性空间。(3)短信息管理:用户可以给自己的好友发短信,并可以查看自己的发件箱或收件箱,以查看

28、发送给好友或收到好友的短信。(4)好友管理:包括好友速配,好友名单,黑名单三个子模块.在好友速配时可以随机速配一个好友,也可以根据条件查询好友;在好友名单中,可以把好友移动到黑名单;在黑名单中,可以彻底删除好友,也把黑名单中的好友移动到好友名单中。(5)系统可以根据登陆的次数给用户加上相应的积分。2.2系统过程设计首先根据需求分析和功能分析设计出数据库,包括各个数据表和数据表结构图的详细设计。由功能分析可知,本系统主要包括用户登录,基本信息管理,短信息管理,好友管理等四个主要模块。实现功能模块时,采用先模块化,后集成的方式。即对系统各个功能模块分别独立设计和调试,在创建系统主窗体时再将各个功能

29、模块通过主窗体的菜单系统集成到一起,最后进行系统整体设计调试。在访问数据库时,采用公用数据模块访问数据库需要的对象。该模块在各个功能模块中被直接调用,避免对数据库的反复连接,并可减少代码编写,从而提高系统开发效率。2.3系统模块设计在前面的系统规划与需求分析的基础上,对该系统进行了总体设计,不仅能满足用户修改个人的各种基本信息,能够创建和修改自己的个性空间,使更多的跑步爱好者了解自己,能够随机查找一个好友或根据条件查找到多个好友,而且还能够给自己的好友发送短信,交流各自的跑步心得。根据系统功能分析得到如图2-1所示的系统功能模块结构图。某跑步社区基本信息管理短信息管理好友管理管理基本信息管理个

30、性空间发信息收件箱发件箱好友速配好友名单黑名单图2-1 功能模块结构图根据系统功能模块结构图和管理流程,以及网络跑步爱好者社区系统的需要总结出如下的数据字典。(1)系统用户数据:系统用户名,密码,性别,年龄,邮箱,省份,地址,密码提示问题,密码提示答案等。(2)用户个人空间数据:跑步观点,跑步时间,跑步地点,跑步习惯,电话,上传的图片等。(3)短信息数据:发送者,接收者,标题,内容等。(4)好友名单数据:自己的名字,好友的名字。(5)黑名单数据:自己的名字,黑名单的名字。2.4数据库结构设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接影响到系统的效率及系统实现的效果

31、。合理的数据结构设计可以提高数据存储的效率,保证数据的完整性和一致性。合理的数据库结构也将有利于程序的实现。(1)数据库的需求分析用户的需求具体体现在各种信息的添加、修改、删除和查询,这种数据库结构能够满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。(2).数据库创建的意义数据表是一组有意义的,相对完整的数据的集合,它是构成数据库的最直接的单元。换句话说,数据库是由一个或多个数据表直接构成的。(3)根据数据字典和功能模块图设计出网络跑步爱好者社区系统数据库中的各个数据表。根据小区管理要求得到以下几类数据表。1)用户信息数据表2

32、-1,用于保存跑步爱好者的详细地址及联系方式,数据表名为“memberinfo”表2-1 用户信息表字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号NickNameVarchar2(20)Not Null用户昵称PasswordVarchar2(50)Not NullMD5加密口令GenderNvarchar2(1)Not Null性别,男或女AgeNumberNot Null年龄EmailNvarchar2(100)Not Null电子邮件PasswordQuestionNvarchar2(200)密码提示问题PasswordAnswerNvarchar2(20

33、0)密码提示问题答案ProvinceCityNvarchar2(20)所在省市AddressNvarchar2(200)地址PhoneVarchar2(50)联系电话PointNumberDefault=0当前积分RecommenderVarchar2(20)推荐人RegisterDateDate注册时间LatestDateDate上次上线时间StatusNumberDefault=00-正常 1-注销IsOnlineNumberDefault=00-下线 1-在线GradeIdNumber等级ID 2)用户个人空间表2-2,用于保存用户个人空间的基本信息,数据表名为“memberspace”

34、。表2-2 用户个人空间表字段名字段类型约束或索引描述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 短信

35、息数据表字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号SenderVarchar2(20)Not Null发件人登录名ReceiverVarchar2(20)Not Null收件人登录名SendDateDateNot Null发送日期TitleNVarchar2(100)Not Null短信标题ContentNvarchar2(300)Not Null短信内容StatusNumberDefault=00-未阅读 1-已阅读SenderStatusNumberDefault=00-未删除 1-已删除(发送者)ReceiverStatusNumberDefault=

36、00-未删除 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

37、会员登录名BlackNameVarchar2(20)Not Null被加入黑名单者登录名如以上建立户主关系数据表为例,建立以下数据表:用户信息表,个人空间表,短信息表,好友名单表,黑名单表。数据表名分别为:“memberinfo”“memberspace”、“messagerecord”、“friendrecord”、“blackrecord”,保存数据库名称为“briupdb”,数据结构表建立完毕。各数据表间关系如图2-2所示:图2-2 各数据表间关系图第三章 系统详细设计3.1建立数据库在系统中安装Oracle数据库。3.2建立连接本系统使用Hibernate连接Oracle数据库,其实其

38、底层使用JDBC连接的Oracle数据库,连接的配置界面如图3-1所示:图3-1 连接Oracle数据库的配置界面3.3程序设计3.3.1 用户登陆功能设计功能:该模块主要对用户的登陆名和密码进行验证,如果用户名和密码都正确,则进入用户的主界面;如果是新用户,则先进行注册,然后进入登陆界面;如果是已经注册的用户忘记了密码,则进入找会密码的界面,根据密码提示问题和密码提示答案找回密码,最后进入登陆界面重新进行登陆。用户登录界面如图3-2所示。图3-2 用户登录界面在登陆窗体代码中实现身份验证功能,即需要检验用户登陆的用户名和密码是否正确。如果不正确,则提示“该用户不存在,或密码不正确,请从新输入

39、”;如果是新用户,那么进行新用户注册,如果用户忘记密码,则可以使用下面的找回密码按扭找会密码,如果正确,则进入网络跑步爱好者社区系统。3.3.2 创建个人空间功能设计功能:没有个人空间的用户可以创建自己的个人空间,在创建个人空间的界面中,填写自己的跑步主张,使用的手机,跑步的地点,并可以上传自己的个性图象等。有个人空间的用户可以修改自己的个人空间信息,并提交。创建个人空间界面如图3-3所示:图3-3 创建个人空间界面3.3.3 发送信息功能设计功能:用户可以给自己的好友发送短信,只需要在以下的界面中填写收件人的姓名,主题,消息内容,并提交后,就可以发送给自己的好友,并在自己的发件箱中查看给好友

40、的邮件。发送信息的界面如图3-4所示:图3-4 发送信息的界面3.3.4 收件箱的功能设计功能:在收件箱中可以查看好友发送过来的短信,如果是已经查看的短信,那么该短信的状态变为已读短信;没有查看的短信的状态是未读短信;并可以删除收件箱中的短信。收件箱的界面如图3-5所示:图3-5 收件箱的界面3.3.5 查询好友的功能设计功能:用户可以在好友速配界面中查询与自己爱好相同的系统,可以随机的查询一位好友,也可以根据多个条件查询好友(例如查询年龄范围是:20-30,性别是:男,所在省份是山东的好友),并可以给自己的好友发送短信。查询好友的界面如图3-6所示:图3-6 查询好友的界面3.4对本社区的说

41、明本系统前台用Eclipse开发,后台使用Oracle作服务器,Eclipse通过Hibernate来访问后台数据库。3.4.1 查询数据库的说明下面三个小节是使用Hibernate技术查询数据库的数据所使用的环节,由于Hibernate使用的是面向对象的方式访问数据库,所以首先建立一个对象,然后在数据库中建立相应对象的表格,最后建立对象和表格的映射文件。3.4.2 使用本社区的说明(1)本社区的使用非常简单,如果是第一次进入本社区,可以直接注册一个新的用户名(先检查新用户名是否存在),然后设置一个密码,最后返回用户登录界面完成登录;如果是己经注册过的用户,可以直接登录;如果用户忘记了自己的密

42、码,可以通过找回密码界面找回密码,然后进入用户登录界面完成登录。(2)进入主界面后,用户可以使用左侧的信息管理按钮,修改个人的基本信息;没有个人空间的用户可以单击左侧的个人空间管理按钮,创建个人空间;有个人空间的用户可以单击左侧的个人空间管理按钮,修改自己的个人空间信息。(3)用户可以随机的查找一个好友,也可以根据条件查找多个好友,己经成为好友的名字会出现在自己的好友列表中;在好友列表中,如果想删除好友,可以先把好友移动到黑名单;在黑名单中,可以彻底的删除好友,也可以把黑名单中的好友移动到好友列表中。(4)在好友列表中,可以给自己的好友发送短信,并可以管理自己的发件箱和收件箱中的短信。3.4.

43、3 系统设计用到的一些图(1)各实体间联系简图:图3-7各实体间联系简图面(2)各个用例图管理用户信息修改会员信息创建个性空间修改个性空间图3-8管理用户信息用例图管理好友添加好友从黑名单彻底删除好友删除好友到黑名单检索社区会员图3-9管理好友用例图管理短信息查看已收短信息查看已发短信息删除已收短信息删除已发短信息图3-10管理短信息用例图(3)系统部署图图3-11系统部署图第四章 系统接口定义4.1 DAO模式简介DAO模式是标准的J2EE设计模式之一.开发人员使用这个模式把底层的数据访问操作和上层的商务逻辑分开.DAO是Data Access Object数据访问接口,数据访问,故明思异就

44、是与数据库打交道,是夹在业务逻辑与数据库资源中间。 DAO用来封装Data Source的,就比如,Connection conn =DAOFacotry.createConnection(),就可以把Driver, URL, username, passpword这一些放在DAO中,以后要更改数据库的类型。比如要把MSSQL换成Oracle的话,只需要更改DAOFacory里面的getConnection()里面的Driver.URL.之类的。 DAO也是把对数据库的操作(比如最基本的CRUD操作)全部封装在里面,比如说你要你要插入一个新的用户,那么.在DAO中我们只需要提供一个insert

45、User(User user)这一个方法就可以了。具体的操作是在DAO中实现的。那么对于要调用DAO的时候.只要知道insertUser(User)是用来插入一个新的用户,而不需要知道是如何实现的。一般 DAO是与Abstract Factory模式一起来用的。Factory来建立数据库和定位具体的DAO(比如说是UserDao,CustomerDao)。一般将getConnection设置为static也可以把HibernateSessionFactory这一个公共类放在这一AbstractFactory类中去。DAO实现了用来操作数据源的访问机制。依赖于DAO的业务组件为其客户端使用DAO提供更简单的接口。DAO完全向客户端隐藏了数据源实现细节。由于当低层数据源实现变化时,DAO向客户端提供的接口不会变化,所有

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

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

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服