《本科JAVA界面通讯录系统本科毕业论文设计.doc》由会员分享,可在线阅读,更多相关《本科JAVA界面通讯录系统本科毕业论文设计.doc(55页珍藏版)》请在三一办公上搜索。
1、JAVA界面通讯录系统摘要 随着科技的发展,互联网和移动通讯技术的融合愈来愈完美,基于这种技术的网络产品已经成为人们生活中不可或缺的一部分。与此同时,21世纪是一个信息爆炸的时代,信息量不断增多,沟通日益现代化,因此人们需要一个方便快捷的方式来存储大量的通讯信息。 通过对人们想要通讯录实现具体功能的深入调查与分析以及对其他通讯录系统的学习,为用户量身定制了一个实用的个人通讯录,使用户可以通过Web,WAP等方式随时随地进行访问。个人通讯录系统是一个专门针对储存用户联系方式多以及一些个人信息的实用信息系统,它实现了用户对朋友、同事等个人信息的分类储存和快速查阅的功能,大大减少了查找过程的时间。该
2、系统是使用Java作为开发语言,以MySql作为后台数据库,Tomcat作为服务器,基于B/S模式开发的个人通讯录的设计与实现。 本文主要阐述了个人通讯录系统的可行性分析、系统设计、需求分析、功能模块划分、数据库模式分析、系统测试与性能分析,并据此设计了基于B/S模式的数据库结构和JAVA程序。本系统主要分为前台和后台,最终形成个人通讯录系统。关键字:个人通讯录系统;Struts2;Hibernate;Spring,B/S模式JAVA interface mail list systemAbstractWith the development of science and technology
3、, Internet and mobile communication technology has become more and more perfect fusion, based on the technology of network product already becomes the people to live an indispensable part. At the same time, twenty-first Century is an age of information explosion, the amount of information increasing
4、, more and more modern communication, so people need a convenient and efficient way to store large amounts of information communication.The people want to mail list realize the specific function of the thorough investigation and analysis as well as to other mail list learning system, tailored for us
5、ers of a practical personal mail list, the user may through the Web, WAP, whenever and wherever possible to consult. Personal mail list system is specially designed to store user contact way and some personal information of practical information system, it enables the user to many friends, colleague
6、s and other personal information storage and fast access function, greatly reduces the searching time. The system is to use Java as a development language, adopts MySql as background database, Tomcat as the server, based on B / S mode development of the design and implementation of personal mail lis
7、t.This article mainly elaborated personal mail list system feasibility analysis, system design, needs analysis, functional module division, database model analysis, system testing and performance analysis, and thus designed based on B / S mode of the database structure and JAVA program. This system
8、is divided into front and back, eventually forming personal mail list system.Keywords:Personal mail list system;Java;MySQL;B / S mode目 录摘要iAbstractii1 绪论11.1 项目研究背景11.2 目的和意义11.3 国内外通讯录发展现状11.3.1 国内通讯录发展现状11.3.2 国外通讯录发展现状11.4 系统设计思想21.5 本文结构22 系统开发环境及技术介绍32.1 系统运行平台设置32.2 运行环境32.3 开发工具及技术简介32.3.1 开发
9、工具简介32.3.2 开发技术简介43 可行性分析113.1 经济可行性113.2 技术可行性113.3 应用可行性113.4 运行可行性124 需求分析134.1 通讯录系统的需求分析134.1.1 面向管理员用户的功能需求134.1.2 面向普通用户的功能需求144.2 数据流图145 总体设计175.1 系统模块总体设计175.1.1 普通系统功能模块175.1.2 管理员功能模块185.2 数据库设计195.2.1数据库选择195.2.2 数据分析195.2.3 数据库的详细设计196 详细设计与实现226.1 系统流程分析226.2 普通用户基本功能的设计与实现226.2.1 用户登
10、录模块设计与实现226.2.2 新用户注册设计与实现246.2.3 个人资料修改模块的设计与实现256.2.4 联系人管理模块的设计与实现266.2.5留言管理模块的设计与实现266.3 系统后台基本功能设计与实现276.3.1 管理员登陆模块的设计与实现276.3.2 修改个人密码模块的设计与实现286.3.3 用户管理模块的设计与实现296.3.4 联系人类别模块的设计与实现296.3.5 留言管理模块的设计与实现316.3.6 系统公告模块的设计与实现317 系统测试与性能分析327.1 软件测试337.1.1 软件测试概述337.1.2 系统整体测试步骤337.2 个人通讯录系统测试3
11、37.2.1 普通用户模块的测试337.2.2 用户注册模块的测试34结 论35参考文献36致 谢37外文原文38中文翻译481 绪论1.1 项目研究背景当今世界信息技术的快速发展让通讯更加方便,人人之间的距离可能在逐渐远离,但通信技术的快速发展让人与人之间的距离仿佛在逐渐减小,科技高度发达的世界促使了通讯系统的产生。而移动的通讯更是今后世界发展的趋势,移动通信正在逐渐成为通信领域中的主流。在这种通信环境下,人们可以在任何地点、任何时间享受自由通信。如今的通话质量几乎不会再受到电磁波等外界环境的影响,而高效便捷简易的通讯录是保持良好通信的重要保障。传统的通讯录是把联系人信息写到纸质材料上,这种
12、通讯录不仅携带不方便,而且费时费力,修改、查询都会增加时间成本1。另一种是名片夹通讯录,这种通讯录同样也有较多的缺点:名由于片夹容量有限,不宜批量、长时间保存。现在比较流行的通讯录是我们的手机通讯录。手机容量较大,且可以长时间保存。但是手机存储界面单一,存储单元的信息也较少2。一旦手机丢失或损坏,通讯录也就面对再也无法找回的后果。因此,开发一个免费的、功能丰富多样的、基于网络存储的个人通讯录是非常有必要的。1.2 目的和意义如今社会网络无处不在。我们可以在网络上建立一个 WEB服务系统。这种系统能够固定存储在网络服务器上,用于专门记录用户联系人的信息。随着硬件成本的降低和服务需求的增长,手机的
13、功能越来越多,而且大都支持互联网接入,这样我们便可以随时随地,随心所欲地在线查找和更新通讯录。在此基础上还可以研发出手机客户端,这样不仅可以提高信息检索的速度,而且消除了网络复杂环境对功能的影响3 。此外手机客户端还可以定期更新信息,保持手机和网络信息的同步。1.3 国内外通讯录发展现状1.3.1 国内通讯录发展现状国内的有QQ通讯录、360通讯录等4 。移动通讯录是一种利用移动互联网来实现通讯录信息同步更新和备份的服务。这种通讯录有友录通讯录、火种通讯录等5。基于手机和网站的同步通讯录有人人同步免费版、QQ手机同步。总的看来,这些通讯录功能丰富,多智能化。有的还有通讯、留言等功能,为个人通信
14、供了方便。1.3.2 国外通讯录发展现状国外的网络通信技术发展的较为成熟,目前各类产品的发展、通讯方式的丰富使得通讯录产品以不同的方式涌现出来,有基于手机的,有基于个人电脑的;有无线方式接入的,有WEB方法接入的等等。例如目前主流的通讯录应用主要有移动的PIM(移动办公平台,PIM,personal Information Management),PIM业务是指客户将移动终端或其他客户端中的信息(如:通信录、日排等)以无线或有线方式与网络服务器保持一致,并能用多种终端、多种接入手段来管理个人信息的业务6。PIM业务为用户提供了统一管理、便捷查询的通信录、安排等个人信息的服务,使用户可以使用移动
15、终端、计算机、PDA、网络服务器种设备,通过互联网、移动网络方式来管理或同步通信录、日程安排、事件提醒、子邮件、铃声图片、资料文档等个人信息。移动终端、计算机、PDA通过本地蓝红外、数据线、读卡器的进行的本地数据同步不在本规范约束范畴内,终端可选相应功能7。此外其他典型的像微软的liveContaets、IBMLotusNotes以及蜘蛛通讯录和无忧通讯录,都可以帮助个人管理其联系人(Contact)、日程(Calendar任务(Task)、便签(Note)以及电子邮件(Email)等个人信息,日程中包括(Appointment)、会议(Meeting)和事件(Event)8。1.4 系统设计
16、思想对于典型的数据库管理系统,尤其是通讯录这样的存储信息特别大的数据库网络管理系统,必须要满足使存储数据方便、操作数据灵活等要求。本系统在设计时应该满足以下几个目标: (1)设计采用良好的人机界面设计模式,界面个性、友好、赏心悦目,信息查询灵活、方便,数据存储准确、安全可靠;(2)能够实现快速存储联系人大量信息;(3)用户可以多条件进行信息检索;(4)新用户可以快速注册,登陆系统后可以随时修改自己的基本资料;(5)实现添加、删除联系人类别的功能; (6)实现联系人类别排行功能,以方便用户了解联系人信息;(7)可以实现用户之间留言的功能;(8)用户可以随时查看留言、联系人信息; (9)对输入的数
17、据,系统进行严格的数据检验,并有合理的信息提示,尽可能排除人为的错误9。1.5 本文结构本文具体内容包括:可行性分析、需求分析、系统总体设计、系统详细设计与实现、系统的测试。着重描述了通讯录系统的组成与结构,阐述了系统的设计方案、实现方法以及所采用的开发工具和相关技术,另外,重点剖析了部分环节的开发过程。本系统在一定的环境下, 分别从管理员的角度和普通用户的角度,对系统的重要模块进行了反复的模拟测试,模拟测试结果与预期结果相符,从而充分证实了系统的可用性、易操作性。从数据库数据角度,对系统的相关模块进行,全方位覆盖测试,测试结果没有Bug出现,证实了系统的准确性、可靠性。这样的设计确保了管理员
18、和用户都可以放心使用,不用担心操作困难,以及信息泄露等安全问题,而且操作简单易行,效率高,易维护。2 系统开发环境及技术介绍本章主要是对本系统的系统开发环境以及设计系统所使用相关技术的介绍,通过第一章的介绍我们已经对个人通讯录系统的国内外现状以及系统目标有了一定的了解。为了改善控制结构,提高程序的可读性、可移植性、可扩展性与可维护性,本系统采用了结构化的设计方法本系统详细设计的原则是采用结构化的设计方法。2.1 系统运行平台设置本系统的运行平台设置分为硬件环境和软件环境。 硬件环境:系统的硬件环境配置为处理器Pentium III800,内存512M,硬盘1G。软件环境:系统的软件环境配置为W
19、indows XP操作系统,MySql数据库,JDK1.5、MyEclipse6.0开发工具包和Tomcat6.0服务器。2.2 运行环境系统开发环境:MyEclipse Java Enterprise 6.5系统开发语言:Java运行平台:Windows XP数据库:MySQLWeb服务器:Tomcat6.0使用该方案,不仅可以提高程序运行效率,而且可以减少成本,提高数据安全性。 2.3 开发工具及技术简介以下内容是对本系统所采用的开发工具和技术进行的简单介绍。2.3.1 开发工具简介 (1)MyEclipse简介MyEclipse是一个非常优秀的集成开发环境,它旨在简化用于多操作系统软件工
20、具的开发过程,可以用于管理多种开发任务,其中包括测试、性能调整以及程序调试等,而且还可以集成来自多个供应商的第三方应用程序开发工具10。通过集成大量的插件,Eclipse的功能可以不断扩展,以支持各种不同的应用。 (2)MySQL简介MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL结构化查询语言是用于访问数据库的最常用标准化语言12。由于其具有体积小、速度快、总体拥有成本低,尤其是开放源码这些特点,许多中小型网站为了降低网站总体拥有成本而选择MySQL作为网站数据库。其存储和管理数据有以下
21、优点:优化的SQL查询算法,有效地提高查询速度。提供TCP/IP、ODBC和JDBC等多种数据库连接途径。提供用于管理、检查、优化数据库操作的管理工具。可以处理拥有上千万条记录的大型数据库。支持AIX、Linux、NovellNetware、Solaris、Windows等多种操作系统13。为多种编程语言提供了API。这些编程语言包括C、C+、Java、PHP、Ruby和Tcl等。2.3.2 开发技术简介本系统需要用到的Java相关技术有JSP技术、DWR技术、JDBC技术、SSH框架。其中,关键的技术难点在于Struts2技术的运用。Struts2技术是基于MVC的Web应用框架,有良好的架
22、构和设计,可重用,模块化,扩展性好,而且是开源代码14。MVC(Model-View-Controller)是一种设计模式,它把应用程序分成3个核心模块:Model(模型)、View(视图)、Controller(控制器)。视图提供可交互的用户界面,向用户显示模型数据 ,但是视图并不进行任何实际的业务处理。模型是应用程序的主体部分,表示业务数据和业务逻辑,一个模型能为多个视图提供业务数据,多个视图可以重用同一个模型。控制器接收用户的输入并调用模型和视图去完成用户的请求,当用户在视图上选择菜单或按钮时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。JSP是
23、由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页。Java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大 大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页。其关系如图2.1所示 图2.1 JSP应用图 JSP真正学习的时间不多,但是使用的时候特别多,慢慢就熟悉理解了JSP。JSP技术使用J
24、ava编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Java Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此,客户端只要有
25、浏览器就能浏览。 JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。特点:JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。我们可以简单这么认为JSP是可以用一种简单易懂的等式表示为HTML+Java=JSP
26、。JSP的运行机制与生命周期-运行机制,1.JSP会被自动部署到web应用服务器。JSP程序首次被载入时都被翻译成Servlet文件,然后才被运行,这个工作主要由JSP引擎来完成。当第一次运行一个JSP页面时,JSP引擎完成以下操作:1.将JSP文件翻译成Servlet文件(以.java为后缀),它是一个完整的java应用程序。2.JSP引擎调用JVM编译Servlet文件得到可执行的.class代码文件3.JSP引擎调用JVM解释执行class文件,并将运行结果返回给服务器4.服务器将运行结果以HTML形式作为响应返回给客户端浏览器由于一个JSP页面在第一次访问时要经过翻译、编译和执行这几个
27、步骤,所以客户端得到响应的时间比较长。当该页面再次被访问时,它对应的class文件已经生成,因此JSP页面的访问速度会很快。 当一个JSP页面被请求时,JSP引擎首先将其和它对应的Servlet文件作比较,如果此时的JSP页面比Servlet文件新,说明原来的JSP页面已经被更新,需要重新编译;如果相同,则直接执行原来的class文件。通过这种机制,JSP引擎可以实现JSP页面的动态更新。生命周期分为7个阶段1.JSP页面翻译阶段-当web容器第一次收到对某个JSP的请求后,自动将JSP翻译成servlet代码,翻译的代码可以在该容器目录下找到例如:Tomcat将翻译后的代码放在work目录下
28、,名称与JSP不同。也就是说JSP的实质就是Servlet程序。2.JSP编译阶段,当执行完翻译以后,web容器负责将Servlet代码编译为字节码。3.装载JSP页面,web装载生成Servlet类。4.JSP页面类实例化。web容器创建servlet实例。5.JSP页面初始化阶段。web容器调用jspinit()方法,允许JSP装载资源。准备接受请求。6.服务阶段。调用jspservice()方法。创建新线程处理用户请求。7.JSP页面销毁。当所有的服务完成以后,调用jspdestory()方法,销毁装载的资源,采用JSP技术开发的项目,通常使用HTML语言来设计和格式化静态页面的内容,而
29、使用JSP标签和Java代码片段来实现动态部分。程序开发人员可以将业务处理代码全部放到JavaBean中,或者把业务处理代码交给Servlet、Struts等其他业务控制层来处理,从而实现业务代码从视图层分离。这样JSP页面只负责显示数据即可,当需要修改业务代码时,不会影响JSP页面的代码。JavaBean也可以应用到其他Java应用程序中,包括桌面应用程序。如图2.2所示 图2.2 JSP的处理过程通常JSP页面很少进行数据处理,只是用来实现网页的静态化页面,只是用来提取数据,不会进行业务处理。JSP技术使用Java编程语言编写类XML的tags和Scriptlets,来封装产生动态网页的处
30、理逻辑。网页还能通过Tags和Scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java sevlet和JSP配合才能完成。JSP具备
31、了JAVA技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。MVC是一种设计模式,它强制的将应用程序的输入、处理、和输出分开。 使用了MVC的应用程序被分为3个核心部件:试图(View)、模型(Model)、控制器(Controller)。它们各司其职,既分工明确又相互合作。 首先视图接受用户输入请求,然后将请求传递给控制器,控制器再调用某个模型来处理用户的请求,在控制器的控制下,再将处理后的结果交给某个视图进行格式化输出给用户.
32、这是经典的MVC设计执行的基本流程。MVC不仅实现了功能模块和显示模块的分离,同时它还提高了系统的可维护性、可扩展性和组件的可复用性,是一个优秀的创建软件的途径。 J2EE把MVC引入了WEB领域,并在此基础上架构出了一套称为Model2的体系。Model2体系及JSP作为视图显示输出和接受用户输入数据,Servlet作为控制器处理用户请求并根据用户请求选择相应的JSP返回给用户,JAVABean,作为模型组件用作业务逻辑处理、管理数据的存储和一致性。视图层,控制层和实例层之间的关系如图2.3所示 图2.3 三者关系图 Struts是一个按MVC模式设计的WEB层框架,其实它就是一个大大的Se
33、rvlet,这个Servlet名为ActionServlet,或是ActionServlet的子类。我们可以在Web.xml文件中将符合某种特征的所有请求交给这个Servlet处理,这个Servlet再参照一个配置文件(通常为/WEB-INF/struts-config.xml)将各个请求分别分配给不同的Action去处理。 一个扩展知识点:Struts的配置文件可以有多个,可以按模块配置各自的配置文件,这样可以防止配置文件的过度膨胀; 2. ActionServlet把请求交给Action去处理之前,会将请求参数封装成一个Formbean对象(就是一个JAVA类,这个类中的每个属性对应一个请
34、求参数),封装成一个什么样的Formbean对象呢?看配置文件。3.要说明的是, ActionServlet把Formbean对象传递给Action的Execute方法之前,可能会调用Formbean的Validate方法进行校验,只有校验通过后才将这个Formbean对象传递给Action的Execute方法,否则,它将返回一个错误页面,这个错误页面由input属性指定,(看配置文件)作者为什么将这里命名为Input属性,而不是Error属性,我们后面结合实际的运行效果进行分析。Action执行完后要返回显示的结果视图,这个结果视图是用一个ActionForward对象来表示的,Action
35、Forward对象通过Struts-Config.xml配置文件中的配置关联到某个JSP页面,因为程序中使用的是在Struts-Config.xml配置文件为JSP页面设置的逻辑名,这样可以实现Action程序代码与返回的JSP页面名称的解耦。谈Spring这个问题的时候,首先Spring中最为重要的无非就是IOC和AOP,而对IOC来讲,你讲一下IOC的定义,IOC就是说对象本身的创建不依赖应用本身,而是依赖于外部容器,如果没有IOC那么我们在我们的业务类,要调用DAO的方法,那么不得不做的一个动作就是创建一个DAO的实现类的实例,而创建这个对象本身是跟业务无关的,而这样违反了“高内聚,低耦
36、合”,使类与类的联系非常紧密了。即使你不用new,你使用工厂模式,使用单利模式,也跟上面说的效果是一样的,而Spring本身就是一个大工厂,他帮我们造对象,帮我们管理Bean对象,它帮我们注入我们所需的Bean对象,这样对于以后的维护来讲,变的更为方便,也把与业务本身无关的东西提取出来了。体现了低耦合。而AOP本身就是一种思想,意为面向切面编程,而Spring对AOP做了部分实现,(举例说明)如果没有AOP,比如我们开发的系统中有发邮件,写日志,可想而知,系统中发邮件,写日志绝对的不是在一个地方用到,那么怎么办,肯定是在业务中写着重复的代码,而且干着与业务无关的事情,也就是说让发邮件,写日志跟
37、业务一起混合在一起,那么这样肯定是不合理的。那么该怎么办,因此Spring提供了AOP,在你想写日志的方法给你切开,加入日志的操作,刚刚说Spring是大工厂,那么对于Spring的AOP来讲,我更加喜欢把它比喻成化妆师,只有你让Spring帮你化妆,就能达到你意想不到的效果,总的来讲Spring的AOP技术,他帮我们做很多与业务无关的操作,让业务层次更加清晰。另外你可以说说Spring中的3中切法。让面试官高兴一下。这两个谈完后,我们在说Spring是粘合剂,因为他帮我们整合Struts和Hibernate。Spring提供了事物,具体配置不说了,例如Spring给我们提供的FindBy方法
38、直接继承与HibernateDaoSupport。我对Hibernate的理解1. 面向对象设计的软件内部运行过程可以理解成就是在不断创建各种新对象、建立对象之间的关系,调用对象的方法来改变各个对象的状态和对象消亡的过程,不管程序运行的过程和操作怎么样,本质上都是要得到一个结果,程序上一个时刻和下一个时刻的运行结果的差异就表现在内存中的对象状态发生了变化。 2.为了在关机和内存空间不够的状况下,保持程序的运行状态,需要将内存中的对象状态保存到持久化设备和从持久化设备中恢复出对象的状态,通常都是保存到关系数据库来保存大量对象信息。从JAVA程序的运行功能上来讲,保存对象状态的功能相比系统运行的其
39、他功能来说,应该是一个很不起眼的附属功能,JAVA采用JDBC来实现这个功能,这个不起眼的功能却要编写大量的代码,而做的事情仅仅是保存对象和恢复对象,并且那些大量的JDBC代码并没有什么技术含量,基本上是采用一套例行公事的标准代码模板来编写,是一种苦活和重复性的工作。 3.通过数据库保存JAVA程序运行时产生的对象和恢复对象,其实就是实现了JAVA对象与关系数据库记录的映射关系,称为ORM(即ObjectRelation Mapping),人们可以通过封装JDBC代码来实现了这种功能,封装出来的产品称之为ORM框架,Hibernate就是其中的一种流行ORM框架。使用Hibernate框架,不
40、用写JDBC代码,仅仅是调用一个save方法,就可以将对象保存到关系数据库中,仅仅是调用一个get方法,就可以从数据库中加载出一个对象。 4.使用Hibernate的基本流程是:配置Configuration对象、产生SessionFactory、创建session对象,启动事务,完成CRUD操作,提交事务,关闭session。 5.使用Hibernate时,先要配置hibernate.cfg.xml文件,其中配置数据库连接信息和方言等,还要为每个实体配置相应的hbm.xml文件,hibernate.cfg.xml文件中需要登记每个hbm.xml文件。 6.在应用Hibernate时,重点要了
41、解Session的缓存原理,级联,延迟加载和hql查询Hibernate是JDBC 的轻量级的对象封装,它是一个独立的对象持久层框架,和App Server,和EJB没有什么必然的联系。Hibernate可以用在任何JDBC可以使用的场合,例如JAVA应用程序的数据库访问代码,DAO接口的实现类,甚至可以是BMP里面的访问数据库的代码。从这个意义上来说,Hibernate和EB不是一个范畴的东西,也不存在非此即彼的关系。 Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动,和数据库都有一定的关系,但是和使用它的JAVA程序,和App Server没有
42、任何关系,也不存在兼容性问题。 Hibernate不能用来直接和Entity Bean做对比,只有放在整个J2EE项目的框架中才能比较。并且即使是放在软件整体框架中来看,Hibernate也是做为JDBC的替代者出现的,而不是Entity Bean的替代者出现的,Hibernate的一些传统的架构如下:1) Session Bean Entity Bean DB 为了解决性能障碍的替代架构: 2) Session Bean DAO JDBC DB 使用Hibernate来提高上面架构的开发效率的架构: 3) Session Bean DAO Hibernate DB 就上面3个架构来分析: 1
43、、内存消耗:采用JDBC的架构2无疑是最省内存的,Hibernate的架构3次之,EB的架构1最差。 2、运行效率:如果JDBC的代码写的非常优化,那么JDBC架构运行效率最高,但是实际项目中,这一点几乎做不到,这需要程序员非常精通JDBC,运用 Batch语句,调整PreapredStatement的Batch Size和Fetch Size等参数,以及在必要的情况下采用结果集cache等等。而一般情况下程序员是做不到这一点的。因此Hibernate架构表现出最快的运行效率。 EB的架构效率会差的很远。 3、开发效率:在有JBuilder的支持下以及简单的项目,EB架构开发效率最高,JDBC
44、次之,Hibernate最差。但是在大的项目,特别是持久层关系映射很复杂的情况下,Hibernate效率高的惊人,JDBC次之,而EB架构很可能会失败。 4、分布式,安全检查,集群,负载均衡的支持,由于有SB做为Facade,3个架构没有区别。当然Spring属于控制层+业务层。可以代替Hibernate+Struts SSH的架构如图2.4所示 图2.4 SSH架构图 3 可行性分析 可行性研究主要内容是要求以全面、系统的分析为主要方法,经济效益为核心,围绕影响项目的各种因素,运用大量的数据资料论证拟建项目是否可行。对整个可行性研究提出综合分析评价,指出优缺点和建议。为了结论的需要,往往还需
45、要加上一些附件,如试验数据、论证材料、计算图表、附图等,以增强可行性报告的说服力15。本章主要对系统开发的可行性进行具体的分析,从用户方角度考虑本系统是否可行,主要通过有力的数据和软件运行环境方面作为依据。通过经济可行性、技术可行性、应用可行性、运行可行性、等方面的分析说明本工程的技术成熟、完备,测试手段可靠,具有良好的市场拓展,它追求的是简单、易学、易懂、易用。通讯录系统,从长远来看,不仅有效管理了联系人信息,而且方便整合自己的人脉资源。该系统具有一定的扩展性,既可以用于个人,也能满足企业的简单需求。3.1 经济可行性软件的经济可行性是指软件所能带来的经济效益与开发设计所需要的投资相比,是否
46、相适宜,同时还要看此软件能否真正给用户带来足够的经济效益,我们开发的这套系统正是考虑了现在用户对通讯录的实际需求,为用户管理自己的人力信息提高工作效率,节省工作时间,方便操作与管理而设计。本系统的开发在经济上是完全可行的。开发此软件不需要大量经费,而且是个人独立设计,可以节省许多费用,同时也可提高个人的实际动手能力。3.2 技术可行性根据该系统目标来衡量所需的技术是否具备,一般可从硬软件的性能要求、环境条件、操作人员水平和数量等方面去考虑和分析。本系统采用的轻量级的Java EE架构,由Struts、Hibernate、Spring三个框架整合的集成框架。框架一般具有即插即用的可重用性、成熟的
47、稳定性和高度集成易用性。Java EE复杂的多层结构决定了日益复杂的Java EE项目需要运用框架和设计模式控制软件的质量,这三个框架已经是目前Java EE Web项目开发的主流框架,具有良好的团队可协作性,已经应用在多个软件系统中,所以框架的稳定性很好,技术上具有很强的可行性。3.3 应用可行性随着计算机网络技术的飞速发展,传统的手工记录联系方式手段早已无法适应人们记录大量通讯信息的需求,通过分析个人通讯录系统的基本功能需求,以及对特殊用户权限的判断,运用JAVA基础知识和JSP编程工具及JavaScript脚本技术,最终实现了个人通讯录系统的基本功能,并且系统能够正常运行,各个页面交互性较好。在整个设计中运用JAVA基础知识以及JSP编程技术进行功能编码,在系统规划中先后用数据流程图、系统功能结构图分析了个人通讯录系统所需的各种数据,详细地展现了系统的各个功能模块并给出了主要功能的运行界面图。3.4 运行可行性在现今社会,随着Internet在中国的迅速发展,人们日常生活中越来