毕业设计JAVA手机短信分享系统的实现.doc

上传人:仙人指路1688 文档编号:3975098 上传时间:2023-03-30 格式:DOC 页数:49 大小:5.94MB
返回 下载 相关 举报
毕业设计JAVA手机短信分享系统的实现.doc_第1页
第1页 / 共49页
毕业设计JAVA手机短信分享系统的实现.doc_第2页
第2页 / 共49页
毕业设计JAVA手机短信分享系统的实现.doc_第3页
第3页 / 共49页
毕业设计JAVA手机短信分享系统的实现.doc_第4页
第4页 / 共49页
毕业设计JAVA手机短信分享系统的实现.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《毕业设计JAVA手机短信分享系统的实现.doc》由会员分享,可在线阅读,更多相关《毕业设计JAVA手机短信分享系统的实现.doc(49页珍藏版)》请在三一办公上搜索。

1、摘 要随着网络技术的迅速发展和J2EE平台的广泛应用,基于B/S的多层WEB体系结构正在不断的完善。WEB技术的发展推动了信息化的发展,使人们能够不再受地理空间的限制与其他人进行信息的交流与共享。而开发这样一个信息交流平台,正是本论文要着手处理的问题。其实,就算用Java建造一个不是很烦琐的web应用程序,也不是件轻松的事情。当为一个应用程序建造一个构架时有许多事情需要考虑。从高层来说,开发者需要考虑:怎样建立用户接口(user interfaces)? 在哪里处理业务逻辑?和怎样持久化应用数据。这三层每一层都有它们各自的问题需要回答。各个层次应该使用什么技术?怎样才能把应用程序设计得松耦合和

2、能灵活改变? 构架允许层的替换不会影响到其它层吗?应用程序怎样处理容器级的服务(container level services),比如事务处理(transactions)?本论文正是基于上述问题出发,以开发一个信息交流平台系统为背景,对基于MVC模式的Struts框架、Hibernate的ORM机制和对持久对象持久化的管理以及Spring IoC(控制反转)技术进行了探讨。并整合这三种框架:表现层使用Struts;业务层使用Spring;持久层使用Hibernate进行系统的开发。最后结合具体的事例对系统的实现作了详细的说明,验证了实现方法的可行性。关键词:J2EE Struts Hiber

3、nate Spring 模式 框架Abstract With the rapid development of network technology and the wide use of J2EE platform, the multilayer web structure base on B/S has developed gradually. WEB techniques development has promoted the development of informationization, it has made people can communicate and share

4、information without area and space limitation. However, developing such kind of information communication platform is just the case in this thesis.Building non-trivial web applications with Java is no trivial task. There are many things to consider when structuring architecture to house an applicati

5、on. From a high-level, developers are faced with decisions about how they are going to construct user interfaces, where the business logic will reside, and how to persist application data. Each of these three layers has their own questions to be answered. What technologies should be implemented acro

6、ss each layer? How can the application be designed so that it is loosely coupled and flexible to change? Does the architecture allow layers to be replaced without affecting other layers? How will the application handle container level services such as transactions? This thesis is just base on these

7、questions, taking an information communication platform system development as background, based on MVC architecture, discussed Struts frame, Hibernators ORM mechanism, persistent management of persistent object and Spring IoC technique and combining frameworks using three popular open source framewo

8、rks: For the presentation layer we will use Struts; for our business layer we will use Spring; and for our persistence layer we will use Hibernate to developing this system. At the end of the thesis, illustrate the way of realizing the system by an instance, and validate its feasibility.Key words:J2

9、EE Struts Hibernate Spring Pattern Framework 摘 要1ABSTRACT2第1章 概述61.1课题研究目的和意义61.2研究内容7第2章 开发涉及的相关技术82.1 MySql 数据库设计工具介绍82.2 MyEclipse设计工具82.3 Struts2开发工具92.4 Spring技术简介102.5 JavaScript技术简介11第3章 手机短信分享系统概述及需求分析123.1手机短信分享系统概述123.2手机短信分享系统需求分析12第4章 手机短信分享系统的详细设计134.1框架分析134.2功能模块简介154.3 数据模型设计和数据库设计18

10、4.3.3 持久层的实现254.3.4 O/R映射254.3.5 DAO数据访问接口264.3.6 DAO数据访问实现264.4 业务层的实现274.4.1 业务逻辑处理类的实现274.5 表示层的实现284.6 View层的实现294.7 Model层的实现304.8 Controller层的实现30第5章 手机短信分享系统的界面实现325.1系统首页325.2精品铃声345.3 手机主题385.4 图片下载405.5 游戏下载435.5 短信下载45第6章 手机短信分享系统测试466.1 测试概述466.2 黑盒测试46总结与展望477.1 本文的总结与展望47参考文献47致谢50第1章

11、概述1.1课题研究目的和意义从来没有任何事物的发展像互联网那样,对人类的活动产生如此深刻的影响。人们越来越依赖于Internet进行信息的交流与共享。随着网络的飞速发展,信息交流平台在网络上扮演角色越来越重要了。信息交流平台从她诞生的那一刻起就带有十分明确的个性化的人文色彩,作为一种远程电子通讯手段,信息交流平台允许一定范围内的用户以十分廉价的方式,方便快捷地进行信息和文件资源的共享,以信件和电子讨论的形式进行交流。毫不夸张的说,信息交流平台是网民互动沟通的最佳纽带,是互联网的灵魂。信息交流平台已成为主流网民不可缺少的一项基本生活内容。它在新兴的电子文化、信息咨询和商业服务领域也势必蕴藏巨大的

12、市场。比如信息交流平台提供的信息布告区可为企业发布它的产品介绍、推广、宣传、服务等信息,能把企业的新产品快速的推向市场。所以对信息交流平台的研究是完全有必要的。J2EE 是 Sun ONE 的重量级产品,作为一种企业级 Web 应用程序开发技术,J2EE 是目前唯一在市场上得到了广泛应用的技术体系。J2EE 以 Java 为核心技术,更接近或者满足于互联网在智能化 Web 服务上对分布性、开放性和平台无关性的要求,同时它在安全性、健壮性、组件化等方面也更为成熟稳定,获得了众多IT 厂商如 IBM、Oracle、BEA 等共同制定标准并提供技术支持,因此具有强大的功能,是电子商务、远程教育等开发

13、的首选平台。但是,即使我们用先进的J2EE来开发Web应用,也面临着许多问题需要考虑:怎样建立用户接口(user interfaces)?在哪里处理业务逻辑和怎样持久化应用数据?Struts、Spring、Hibernate这三个基于WEB应用开发的开源框架,可以为我们解决这些问题。如何把一个WEB应用分层而整合Struts、Spring、Hibernate技术,尽可能的将页面显示、业务逻辑和数据处理相分离,最大限度地降低系统各模块之间的耦合性,从而增强系统的可扩展性与可维护性,提高代码重用率,使系统的层次结构更加清晰,易于开发人员的分工协作,充分发挥开发人员的各自特长,这是一个值得研究探讨的

14、问题。Struts是基于MVC模式的框架技术。采用Struts可以简化遵循MVC设计模式的Web应用的开发工作,很好的实现代码重用,使开发人员从繁琐的工作中解脱出来,快速开发具有强可扩展性的Web应用,大大简化开发过程,缩短开发周期,提高开发效率。Hibernate 是一项新兴的 ORM 技术,它把普通 java 对象映射到关系数据库表,并提供对对象的持久化操作。使得Java开发者能够高效地对关系数据库表进行增、删、改、查操作而不用直接面对JDBC、SQL语句,让开发人员把精力集中在如何解决实际业务处理问题上。而借助于Spring IoC和AOP,使得应用中对象的关系更加清晰、一致,而且还使得

15、一切对象可控。最重要的一点是,对象本身的生命周期及对象之间的关系不用再让开发者费神了。基于上述分析,研究实现Struts、Spring、Hibernate三个框架的整合来解决Web应用开发中所面临的上述问题,从而提高程序的开发效率,增强系统的可扩展性与可维护性,提高代码重用率将会是一个很有意义的课题。1.2研究内容 以J2EE为基础实现一个手机短信共享平台为出发点,设计了一个整合SSH技术的架构,并分别用Struts、Hibernate、Spring实现了表示层,业务层,持久层,最终完成了本系统。第2章 开发涉及的相关技术2.1MySql 数据库设计工具介绍 MySQL是一个小型关系型数据库管

16、理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的

17、坦桑尼亚的Arusha的一个小镇的名字。1. 使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性 2. 支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统3. 为多种编程语言提供了API。这些编程语言包括C、C+、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。4. 支持多线程,充分利用CPU资源5. 优化的SQL查询算法,有效地提高查询速度6. 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入

18、到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名7. 提供TCP/IP、ODBC和JDBC等多种数据库连接途径8. 提供用于管理、检查、优化数据库操作的管理工具9. 可以处理拥有上千万条记录的大型数据库2.2MyEclipse设计工具MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,

19、包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在结构上,MyEclipse的特征可以被分为7类:1. J2EE模型2. WEB开发工具3. EJB开发工具4. 应用程序服务器的连接器5. J2EE项目部署服务6. 数据库服务7. MyEclipse整合帮助对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Ecli

20、pse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。MyEclipse7.0的发布意味着我们不再需要配置Tomcat以及服务器了,你所需要做的仅仅是安装MyEclipse 7.0。7.0发行版包括在7.0M2和6.6版本基础上对bug的修复和功能的加强。提供的支持包括:Eclipse 3.4.1/Ganymede、REST web服务、新的myeclipse操作板、spring工具集更新、集成Manven2、open JPA支持、高级javascript工具、专业的jsdt实现、报表工具加强、jsf和ICEfaces工具更新。2.3 Struts2开发工具S

21、truts2号称是一个全新的框架,但这仅仅是相对Struts 1而言。Struts 2 与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts 1的血统,而是继承WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts 1衍生了Struts2。因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts 1和WebWork两者的优势,因此,是一个非常值得期待的框架。Ap

22、ache Struts2是一个优雅的,可扩展的JAVA EE web框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。Apache Struts 2即是之前大家所熟知的WebWork 2。在经历了几年的各自发展后,WebWork和Struts社区决定合二为一,也即是Struts 2 2.4 Spring技术简介Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何

23、Java应用都可以从Spring中受益。目的:解决企业应用开发的复杂性功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能范围:任何Java应用简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。轻量从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。 控制反转Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对

24、象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。面向切面Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。 容器Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基

25、于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。 框架Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。 所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。2.5 JavaScrip

26、t技术简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。

27、通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。SessionFactory接口:SessionFactory接口负责初始化Hiber

28、nate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。Transaction接口:Tr

29、ansaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。第3章 手机短信分享系统概述及需求分析3.1手机短信分享系统概述手机短信分享系统是一个对手机短信和相应服务进行分享的信息管理系统,它包含了音乐铃声模块、手机主题模块、手机图片下载模块、手机游戏模块、后台管理模块和手机短信模块这六个功能模块。网站中都是关于手机服务的模块,业务中包括对相应服务的点击量、更新时间等信息的统计,可以通过这些信息把动态的根据需求显示在页面

30、上。使用户更能清晰的根据自己的需求找到相应的服务和需求。手机短信分享系统是一个基于B/S的多层WEB应用系统,主要为上网手机用户提供了一个信息交流的平台。用户可以根据需要在分享同上下载资源,并且可以发表评论,提出问题并表达自己的观点。同时也可以查阅他人的评论等。3.2手机短信分享系统需求分析需求分析是指,需求分析人员将客户描述的需求用计算机语言描述出来,分析用户的需求是否能实现,是否还可以提交更多的功能。要开发一个软件产品,最首要也是最重要的就是需求分析,它是决定一个系统成功与否的关键。对于开发一个分享系统,首先需要确定它能提供那些功能。用户使用分享系统是按照一定的流程来进行的:用户进入分享系

31、统,可以查询需要的查看信息、查阅服务、评论服务内容、管理员要对分享系统进行管理,系统要具有创建、编辑、删除版块,管理的用户,管理信息和设置的功能等1.根据服务分类显示服务。2.根据点击量显示服务内容3.根据更新时间显示服务内容4.个性化界面定制5.根据搜索显示服务内容。6.根据推荐用户显示服务内容第4章 手机短信分享系统的详细设计详细设计阶段的根本任务是确定怎样具体的实现要求的目标系统,也就是说,经过这个阶段的设计工作,应该写出对系统的精确描述,从而在编辑阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。此阶段要设计出程序的“蓝图”,开发人员根据这个蓝图写出实际的程序代码。因此,详细设

32、计的结果基本决定了最终程序代码的质量。除了应该保证程序的可靠性之外,也应保证编写的程序可读性好,易于理解、测试、修改和维护,这一点是详细设计的最重要的目标与任务。此外,界面设计也是本阶段完成的主要工作。界面提供了一个人机对话的有效窗口,一个良好的界面不仅能够使用户方便快捷的应用这个系统,而且还可以通过界面形象的了解系统所具有的功能。因此,界面设计是系统设计过程中的一个重要的环节。4.1框架分析接下来我们所要做的就是对整个系统进行逻辑分层,已便于系统的开发、维护以及后续新的功能的扩充。软件的逻辑分层指的是在单个的软件模块中完成相对独立的特定的功能。软件的层必须符合以下特征: 每个层由一组相关的类

33、或组件构成,共同完成特定的功能。 层与层之间存在自上而下的依赖关系,即上层组件会访问下层组件的API,而下层组件不应该依赖上层组件。 每个层对上层公开API,但具体的实现细节对外透明。当某一层的实现发生变化,只要它的API不变,不会影响其他层的实现。软件分层的优点,主要表现在以下几个方面: 提高软件的伸缩性。伸缩性指应用程序是否支持更多的用户。 提高了软件的可维护性。可维护性指的时当发生需求变化时,只需修改软件的某一部分,不会影响其他部分的代码。层数越多,可维护性也会不断提高,因为修改软件的某一层的实现,不会影响其他的层。 提高软件的可扩展性。可扩展性指的是在现有系统中增加新功能的难易程度。层

34、数越少,增加新功能就越容易破坏现有的程序结构。层数越多,就可以在每个层中提供扩展点,不会打破应用的整体框架。 提高软件的可重用性。可重用性指的是应用程序代码没有冗余,同一个应用程序能满足多种需求。 提高软件的可管理性。可管理性指的是管理系统的难易程度。将应用程序分为多层后,可将工作分给不同的开发小组,从而便于管理。我们采用流行的MVC设计模式,整合Struts、Spring、Hibernate框架,把整个系统分为四层:表示层 ( Presentation Layer)、业务层(Business Layer)、持久层 (Persistence Layer )、域模块层(Domain Model

35、Layer ),并用Struts实现表现层, 用Spring实现业务层, 用Hibernate实现数据持久层。l 表示层:提供与用户交互的界面,主要负责接受用户请求并做出响应。它接受用户的输入,将数据传递给业务层,并将业务层返回的处理结果以DHTML的形式呈现给用户。这一层的最佳实现模式就是MVC模式,所以借助成熟的采用MVC模式的Struts来实现该层。Struts主要在这一层负责为用户管理请求和响应;提供ActionFrom来封装与用户互动的数据元素;提供控制器(controller)代理调用业务逻辑;处理从其他层抛出的Struts Action异常;l 业务层:具体的业务逻辑通常导致代码

36、的高度耦合,因此我们将业务逻辑分为单独的一层,其目的也是希望通过该层,来降低它与系统其他部分的耦合度。该层借助Spring可以达到更好的效果。通过Spring的IOC模式来装配业务组件,如DAO对象,使系统更具扩展性。通过Spring AOP(面向方面)思想,来集中处理具体业务,如事务管理,使代码更为简洁,增加复用,提高开发效率。所以Spring主要在这一层负责处理应用程序的业务逻辑和业务验证;管理事务;管理业务层对象之间的依赖;从表示层中提供一个上下文(context)给业务层获得业务服务(business services );管理从业务逻辑到持久层的实现。l 持久层:在传统的系统开发中该

37、层占据大部分的开发时间,且随着需求的变更功能的修改,逐渐变得难以控制,特别是表结构的变化可能导致整个系统大动干戈。Hibernate框架为java提供了对象关系持久化(object-to-relational persistence)机制和查询服务。借助Hibernate,利用其持久化机制和CRUD封装来减少代码开发量和其他层次的耦合度。l 域模块层:该层应该说是ORM思想的产物,ORM用对象关联数据表,允许数据表中数据放入对象,也允许对象中数据更新到数据表,我们将这些对象的集合归为一个专门的层次即Domain Layer。域对象承担各层之间数据通信的载体。实际上域对象也是一个完完全全的业务对

38、象,如Board对象,Friend对象。通过对业务的对象化,这有利于业务逻辑的重用。将系统进行如上的分层,从理论上可以让其承担各自职责,表示层提供友好的用户交互、业务层处理具体问题领域逻辑、持久层完成与数据库读取存储、域模型承担数据传输的载体。将一个复杂的应用领域细分成诸多最小单元,然后进行串联、组合。使得一个应用领域的实现过程中,最小单元达到最大复用,这也是我们将ICPS系统进行上述分层的原因之一。分层后的设计图如图5-1所示。图5-1 系统架构层次图4.2功能模块简介4.2.1系统功能划分:根据系统所实现的功能,可作出如下图所示的结构划分:根据服务分类显示服务类型精品铃声服务图片下载服务短

39、信服务首页手机主题服务手机游戏服务显示其他服务的信息根据点击量和更新时间显示服务列表显示具体铃声分类列表显示铃声列表显示总体铃声数数据和排行显示所有手机主题数据显示手机主题显示总手机主题数据和排行显示具体图片分类列表和数据显示图片下载显示总图片下载数据和排行显示具体游戏分类列表和数据显示手机游戏显示总手机游戏数据和排行显示具体短信分类列表和数据显示短信服务显示总短信服务数据和排行4.2.首页服务总页面(分类,排行,更新时间)信息列表【页面逻辑流程图】 选择一个服务类型 选择一个下载内容下载页面下载完成按说明进行下载搜索内容搜索页面 选择一个下载内容分类内容分类信息页面 选择一个下载内容页面需要

40、的信息服务层(Service类) - 由Spring依赖注入实体类DAO层(Hibernate查询)查询数据库,返回数据Action类(Struts2)提供根据ID或者其他需求查询数据结束结束【数据加载逻辑流程图】2系统逻辑流程图:4.2.3.3根据搜索信息加载数据2.2排行榜信息2.3搜索信息3.4根据具体服务的ID查询数据库获取数据2.4显示具体信息1选择服务用户D1数据库信息2.1分类信息3.2分类排行榜数据3.1搜索分类信息数据3系统数据流图:通过以上数据流图的描述,很清晰的看出整个数据的流向。用户登录主页面界面后,选择相应的服务,分别处理其相应的加载工作。然后把数据通过服务层反传递到

41、前台页面JSP进行显示。4.3 数据模型设计和数据库设计数据库设计是最重要的,如果数据库的设计不是很清晰,那么在服务层使用的时候常常会造成数据冗余。系统需要大量的数据来支持的,建立合适的数据库来存储数据是非常重要的,那么首先就要设计合理、稳定的数据模型。根据多次需求分析,对需求已经十分明确,经过详细的需求分析,了解到各个表应有的关系,将系统的数据模型设计完成。完成了整合Struts、Hibernate和Spring框架的设计,把应用系统分为了四层:表示层、业务层、持久层、域模块层。本章主要探讨如何引入Struts、Hibernate和Spring框架技术分别实现表示层、业务层、持久层,并最终完

42、成共享系统的实现。4.3.1 数据库采用Hibernate进行架构class Entity:private String id;private String title;private String content;private int clickTimes;private Date time;private Date updateTime;private User user;private ThemeType themeType;private String action;class Game extends Entity:private Image image;private Strin

43、g url;private Set comments;游戏(Game)表 存储游戏的属性和状态字段名称数据类型是否为主键Id文本是Title文本否Content长文本否clickTimes整型否time文本否updateTime整型否action文本否User_id整型(外键)否themeType_id文本否url整型否image整型否class Image extends Entity:private String url;private Set comments;图像(Image)表存储图像的属性和状态字段名称数据类型是否为主键Id文本是Title文本否Content长文本否clickTi

44、mes整型否time文本否updateTime整型否action文本否User_id整型(外键)否themeType_id文本否url整型否class Music extends Entity:private String url;private Set comments;铃声(Music)表字段名称数据类型是否为主键Id文本是Title文本否Content长文本否clickTimes整型否time文本否updateTime整型否action文本否User_id整型(外键)否themeType_id文本否url整型否class SMS extends Entity:private Set co

45、mments;短信(SMS)表存储短信的属性和状态字段名称数据类型是否为主键Id文本是Title文本否Content长文本否clickTimes整型否time文本否updateTime整型否action文本否User_id整型(外键)否themeType_id文本否Abstract class Comment:private int id;private String title;private String content;private Date time;private User user;private String action;class ThemeComment:class Ga

46、meComment:class MusicComment:class SMSComment:评论(Comment)表 存储评论的属性和状态字段名称数据类型是否为主键Id文本是Type文本否Title文本否Content长文本否Time时间否Action整型否Sms_id文本否User_id整型(外键)否Image_id文本否Music_id文本Theme_id文本Game_id文本用户(User)类:class User:private int id;private String name;private String password;private String petName;priva

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号