




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
光电信息学院毕业设计 编号 本科生毕业设计(论文)基于Web Service的通讯录管理系统 The communication record management system based on Service Web 学 生 姓 名陈华鑫专 业软件工程学 号1142205指 导 教 师韩城分 院信息工程 2015年6月摘要随着社会的发展,人际关系变得越来越重要,为了保持良好的人际关系,必须经常与亲戚、朋友、同学、同事保持联系,但是有时候存在着许多的限制条件,比如怎样找到交流对象的各种信息?可能你会想到现实生活中的手机等通讯工具,由于这些工具的单一性,不可能在第一时间找到自己想要的信息资料,因此,为了能够快速查找到联系人的信息,节省查找时间,开发通讯录管理系统。通讯录管理系统是一个基于B/S模式的个人通讯录管理系统。它是将自己的联系人的具体信息集中管理,成为一个方便人们使用的小WEB应用。在开发过程中主要运用Java, JDK, MySQL, SSH框架等技术,由于开发工具和数据库之间的良好使用,可以为开发带来方便,使之成为一个可施行的系统。从而达到开发的目的-实现对通讯录信息的管理。“优秀的人际关系是一个人成功的重要因素”这已经成为不争的事实,这些日益繁多的人际交往使得我们很难搞清楚与每个人具体的联系方式,这严重影响了一个人的发展,所以通讯录管理系统的建立已是必要的了,此次课程设计我利用了数据结构中的知识以及JAVA语言的知识设计的通讯录管理系统能够达到快速了解联系人信息。关键词:个人通讯录管理系统、Java、B/SABSTRACTWith the development of society, the interpersonal relationship becomes more and more important. In order to maintain good interpersonal relations must keep in touch with relatives, friends, classmates, colleagues, but sometimes there are many restrictions, such as how to find the object exchange of all kinds of information? Can you think of real life communication tools such as mobile phones, due to single of these tools, it is not possible to find the information you want in the first time. Therefore, in order to be able to quickly find the contact information, save search time and communication development book management system. The communication record management system is a personal contact management system based on B/S mode. It is to focus on the specific information of their contact management, become a convenient use of small WEB application. In the development process mainly the use of Java, JDK, mysql, SSH framework and so on, due to good use development tools and database can bring convenience for the development of, to become a system that can be implemented. So as to achieve the purpose of the development - to achieve the communication record information management.Excellent relationship is an important factor in the success of a person which has become an indisputable fact, the growing variety of interpersonal communication makes it hard to figure out and each specific contact, which seriously affected the development of a person, so the mail list management system is necessary, the curriculum design book management system using the data structure of the knowledge and knowledge of design JAVA language communication to achieve quick understanding of contact information.Key Words: Personal address book management system、Java、B/S目录第一章绪论11.1 选题背景11.2 目的和意义11.3 发展现状1第二章 开发技术及技术32.1 开发技术32.1.1 MVC32.1.2 JDK32.1.3 Web Service32.1.4 SSH框架42.1.5 Java42.1.6 jsp技术简介62.1.7 Tomcat72.2 开发工具72.1.1 MyElipse72.1.2 Orcale数据库72.1.3 PL/SQL Developer8第三章 系统的需求分析93.1 系统功能分析93.1.1用户登录模块93.1.2联系人信息维护模块93.1.3查找联系人103.1.4用户信息维护103.2 系统用例分析103.2.1 参与者分析103.2.2系统主用例识别113.3 数据库分析123.3.1 概念结构设计133.3.2 数据库表的建立133.3.3 逻辑结构设计13第四章 系统实现154.1 SSH整合154.1.1使用Spring整合Hibernate154.1.2类的实现创建实体类,并创建映射关系文件154.1.3 Spring整合Struts2154.2 系统功能实现154.2.1 系统登录界面154.2.2 系统主界面164.2.3系统修改界面164.3添加WebService174.3.1 web.xml的配置174.3.2 Web Service的接口类和对应的实现类17第五章 系统测试195.1 登陆用例的程序设计195.2 登录成功195.3 登录用户对联系人信息的管理测试205.3.1 对联系人的添加测试205.3.2 对联系人的更新测试215.3.3 对联系人进行删除测试225.4登出系统22第六章 总 结24致 谢25参考文献26II第一章绪论1.1 选题背景当今时代,网络已经成为人们生活中不可缺少的一部分,世界上的第三媒体Internet,它打破了地域时间限制,改变了人们的工作和生活方式,制作站点是企业和个人的宣传自己的重要手段,同时也学习信息的重要手段,今年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化.计算机在管理中应用的普及,利用计算机实现各种管理势在必行,对于机关单位来说,利用计算机支持高效率完成通讯录,是适应社会制度要求、推动机关单位信息利用计算机支持高效率完成通讯管理,是适应现在社会制度要求、推动机关单位信息管理走向科学化、规范化的必要条件。随着社会的发展及知识经济时代的到来,管理信息系统在各行各业发挥着越来越重要的作用。通信录管理系统是典型的信息管理系统。通信录管理系统工作烦琐,包含了大量的信息数据,因此就需要一个完善的职工信息管理系统来实现对这些数据的有效管理,满足用户的需求。1.2 目的和意义将网络和通讯录管理结合起来。使得用户对添加过的联系人一目了然,经过详细的系统调查,开发出的操作简单而且方便使用的一个通讯系统。实现参会代表的动态管理,使得对信息的管理更加方便,同时计算机具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好。这样组会人员在工作起来效率高,可以不用再做大量的记录。从而大大减轻了机关单位职员的工作量。运用数据结构中的算法思想作数据结构,结合JAVA语言基本知识,编写一个通讯录管理系统。通过完成本课题,进一步熟悉JAVA语言的基本知识,并掌握数据结构的一些基本算法思想,掌握JAVA语言的文件操作(包括从磁盘读入和向磁盘写入内容),进一步熟悉指针的用法,数组的建立运用和函数的调用等。加深对数据结构的理解,提高算法设计的能力,锻炼编程的能力用JAVA语言编写一个通讯录管理系统软件,要求能实现通讯录管理系统中增加新记录,删除记录,显示通讯录的所有信息,按名字查询信息,保存通讯录,退出系统。1.3 发展现状国内现状:国内的有社交短信的Kik、QQ通讯录、360通讯录等。移动通讯录是一种利用移动互联网来实现通讯信息同步更新和备份的服务。这种通讯录有友录通讯录、火种通讯录等。基于手机和网站的同步通讯录有人人同步免费版、QQ手机同步助手。总的来看这些通讯录功能丰富。有的还有通讯、留言等功能,为个人通讯提供了方便。近年来,国内大中型企业、政府、高校等通过网络平台宣传自己,而Web Service为基础的通讯录系统平台为主流。该平台功能比较齐全,可以满足绝大部分用户的需要。并且该平台易于开发、维护,使用方便。在国内目前最需要解决的是将各种各样的通讯录统一规划,以免帐号太多容易混淆,从而丢失自己已存的联系人。国外现状:国外的网络通信技术发展的较为成熟,目前各类产品的发展、通讯方式的丰富使得通讯产品以不同的方式涌现出来,有基于手机的,有基于个人电脑的,有无线方式接入的,有Web方法接入的等等。例如目前主流的通讯录应用主要有移动PIM(移动办公平台,PIM,Personal Information Management),PIM业务是指客户将移动终端或将其他客户端中的信息(如:通讯录、日排)以无线或者有线方式与网络服务器保持一致,并能用多种终端、多种接入手段来管理个人信息的业务。PIM业务为用户提供了同一管理、便捷查询通讯录、安排等个人信息的服务,使用户可以使用移动终端、计算机、PDA、网络服务器各种设备,通过互联网、移动网络方式来管理或同步通讯录、日程安排、时间提醒、电子邮件、铃声图片、资料文档等个人信息。移动终端、计算机、PDA通过本地红蓝外、数据线、读卡器的进行的本地数据同步不在本规范约束范畴内,终端可选相应功能。此外其他经典的像微软的LiveContaets、IBMLotusNotes以及蜘蛛通讯录和无忧通讯录,都可以帮助个人管理其联系人、日程、任务、便签、以及电子邮件等个人信息。第二章 开发技术及技术2.1 开发技术2.1.1 MVCMVC全名是Model View Controller,是模型(model)视图(view)控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼状图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。模型视图控制器(MVC)是Xerox PARC在二十世纪八十年代为编程语言Smalltalk80发明的一种软件设计模式,已被广泛使用。后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。模型视图控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。2.1.2 JDKJDK(Java Development Kit)是Sun Microsystems针对Java开发的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。JDK 是整个Java的核心,包括了Java运行环境,一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握 JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM运行效率要比Sun JDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本信息也不再延续以前的1.2,1.3,1.4,而是变成了了。从7.0开始,其运行效率得到了非常大的提高,现在已有8.0问世了。2.1.3 Web ServiceWeb service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。2.1.4 SSH框架SSH 为Struts+Spring+Hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和Hibernate。2.1.5 Java1) Java语言Java是一种面向对象的语言,也是一门开发技术。按照通常的说法,Java语言的历史可以追溯到1991年,当时Sun公司(Sun Microsystems)成立了一个称为Green 的项目组,致力于数字家电之间的通讯和协作。James Gosling(Java之父)作为该项目的负责人。对于Green计划,Gosling ,必须开发一种全新的语言,这种语言必须语法简洁、生命力健壮,更重要的,这种语言应该能够屏蔽不同硬件设备之间的差别,这样才能使代码,具备更好的可移植性,毕竟,相较于个人PC平台来说,数字家电设备,具有更高的平台差异性。于是, Java语言应运而生,不过她最初的名字,并不是 Java而是 Oak(橡树)。Java语言真正被世人了解是从1995 年开始。互联网技术的高速发展Java语言起了巨大的推动作用。Java语言迅速成为使用最广泛的编程语言。从这个时候起,Java语言所涉及的领域已经超越了当初设计它的目标。Java 已经由单纯的语言成长为通用的平台技术标准。2) Java框架在1999年,Sun发布了基于Java 的三个平台技术标准:J2SE、J2EE和J2ME(2005年,他们分别被更名为 Java SE,Java EE 和 Java ME),Java 从此迎来了属于自己的时代。Java SE (Java Platform,Standard Edition),被称之为“Java 平台标准版”,是 Java 开发平台的基础。Java SE框架中,包含了运行Java应用时,所需要的基础环境和核心类库,除此之外,Java SE 还定义了基于桌面应用的基础类库GUI,通过这些类库,我们可以编写出像Office那样,丰富多彩的桌面应用。Java EE(Java Platform,Enterprise Edition)称之为“Java 平台企业版”。Java EE 构建在Java SE基础之上,用于构建企业级应用。所谓企业级应用,即是指那些为商业组织或者大型企业,而创建的应用系统。这些系统与个人使用的单机桌面系统不同,它们部署、运行在结构复杂的服务器环境中;往往需要处理海量的数据;需要遵守通用的数据传输协议和数据表示;需要维护复杂而多变的业务逻辑;需要应对巨大的用户访问量、必须具备可靠的安全性和健壮性。 Java EE 为了解决企业应用中需要解决的各种问题提供了众多组件标准和服务规范。Java ME (Java Platform,Micro Edition),称之为Java平台微型版。Java ME 为机顶盒、移动电话和PDA等嵌入式消费电子设备提供的Java解决方案。也许只有Java ME才最符合Java语言创建时的初衷,随着 3G移动智能平台时代的到来,特别是以 Java 为核心编程语言的Android 智能平台的迅速普及,Java ME 未来的发展似乎不容乐观。3) Java特点Java的具有一下语言特点:语法简单、面向对象、可以跨平台、安全以及多线程支持。语法简单 Java语言的简单,是指这门语言既易学有好用。不要将简单误解为这门语言很干瘪。你可能很赞同这样的观点 英语要比阿拉伯语言容易学。但这并不是说,英语就不能表达丰富的内容,和深刻的思想,许多文学若贝尔奖的作品都是英文写的。如果你学习过 C+语言,你会感觉 Java很眼熟,因为 Java中许多基本语句的语法和 C+一样,像常用的循环语句,控制语句等和 C+几乎一样,但不要误解为 Java 是 C+的增强版,Java 和 C+是两种完全不同的语言,他们各有各的优势,将会长期并存下去,Java 语言和 C+语言已成为软件开发者应当掌握的语言。如果从语言的简单性方面看,Java要比 C+简单,C+中许多容易混淆的概念,或者被Java弃之不用了,或者以一种更清楚更容易理解的方式实现,例如,Java不再有指针的概念。4) 面向对象 面向对象设计,是一种程序设计技术。面向对象基本思想,是从现实世界中客观存在的事物(即对象)出发,来构建软件整个系统,并在系统中,尽可能应用人类的自然思维方式,强调以事物为中心,来思考问题,认识问题,并根据,这些事物的本质特点,把他们抽象的,表示为系统中的某个类,这样就可以作为系统中的基本构成单元,使客观世界的事物在计算机系统中,保持相互关联的本来面貌。5) 跨平台 跨平台特性是Java 通过虚拟机实现的跨平台技术,Java源代码经过Java的编译器编制之后,编译成Java字节码(*.class),执行Java字节码,Java字节码通过虚拟机解释为具体平台的具体指令,并执行。在java框架中,不同的平台有不同的虚拟机JVM,主流平台都提供了相应的虚拟机。所以Java 字节码可以在所有平台上能够解释执行。在这个意义上Java是跨平台的。也就是说:Java 的字节码是跨平台的。6) 安全 Java不支持指针,避免了指针操作错误及欺骗访问;避免地址溢出。在任何情况下,欺骗Java的安全防护机制都十分困难,现在发现Bug高发几率越来越多,发现bug的技术越来越好,从一开始开发,Java就被设计成能够防范各种袭击,其中包括:(1)运行时堆栈溢出(蠕虫等病毒常用的袭击手段)(2)在自己处理空间破坏内存(3)未经授权对文件进行读写。许多安全特性也不断的加入Java中。7) 多线程 相比较其他语言编写多线程的应用,Java中多线程处理更具魅力,它的便捷性和简单性是其他变成语言无法比拟的。2.1.6 jsp技术简介JSP页面由HTML代码和嵌入其中的Java代码所组成。JavaBean是JSP的技术单元基础,而且大型的Web应用程序的开发必须使用JavaBean和JSP配合才能完成。JSP具备了Java语言的简单易用,完全的面向对象,具有不同平台无关性且安全可靠,主要面向因特网等特点。JSP的技术的优势:1) 一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不需要做任何更改。2) 系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。3) JSP技术是用Java语言作为脚本语言的。Java语言是成熟的、强大的、易扩充的编程语言。4) java的高效性与安全性。JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。5) 可维护性。由于JSP技术是一种开放的、跨平台的结构,因此Web应用程序的服务器、平台及其他组件能很容易升级、更新或切换,且不会影响JSP的应用程序。6) 多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的IDE,而且许多IDE可以免费下载,并且其中许多版本IDE已经可以顺利的运行于多种平台之下。2.1.7 Tomcat目前大多数应用服务器都支持JSP技术。Tomcat是其中较为流行的,轻量级的Web服务器,Tomcat是一个开源的免费的Servlet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR包放到Tomcat服务器的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。首次访问速度较慢,之后访问速率会得到很大的提升。Tomcat也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。Tomcat是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越受到人们的重视。2.2 开发工具2.1.1 MyElipse MyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernat。MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。2.1.2 Orcale数据库Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统,提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。2.1.3 PL/SQL Developer PL/SQL Developer是一个集成开发环境,专门开发面向Oracle数据库的应用。PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算。 PL/SQL(Procedural Language/SQL)是一种过程化语言,属于第三代语言,它与C、C+、Java等语言一样关注于处理细节,可以用来实现比较复杂的业务逻辑。它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。在甲骨文数据库管理方面,PL/SQL是对结构化查询语言(SQL)的过程语言扩展。PL/SQL的目的是联合数据库语言和过程语言。PL/SQL的基本单位叫做一个区段,由三个部分组成:一个声明部分,一个可运行部分,和排除构建部分。第三章 系统的需求分析3.1 系统功能分析由于计算机科学技术的快速发展,开发一个通讯录管理系统管理自己联系人信息非常必要,可以提高我们办事的效率。经过多方面的思考与查询,系统的设计出通讯录系统的功能。系统分为四大模块:用户登录,联系人信息维护,查找联系人,用户信息维护,功能如下图3-1所示。图3-1 功能模块3.1.1用户登录模块据用户名和初始密码进行登录,验证通过后进入主窗体,输入有误则提示错误消息,要求用户重新输入,直到成功登录。在用户登录前,其他人无法对联系人信息进行操作。3.1.2联系人信息维护模块1) 修改联系人信息:可以修改联系人信息,如:由于联系人更换电话或者Email等等,进行修改操作。2) 删除联系人信息:可以删除这个联系人的具体信息。如:这个联系人的联系方式已经改变而暂时找不到新的方式时,可以删除这个。3) 增加联系人信息:可以增加新的联系人的联系方式,包括姓名,电话,邮箱等等。3.1.3查找联系人可以按数据库任意字段名查找联系人,将查询结果显示在web主界面的表格中,以便查看联系人详细信息,按姓名查询、按电话号码查询。3.1.4用户信息维护将用户的操作请求发送至web服务端,web服务端收到用户操作请求,验证通过,对数据库中的数据进行操作,然后返回提示信息。若验证没有通过,则返回主页面.3.2 系统用例分析 3.2.1 参与者分析该系统的参与者为Admin,Printer,DB,各自的主要任务为:1) Admin:该参与者为系统登录用户,主要工作是对通讯录中的联系人的更新与维护,包括通讯录中的联系人的信息维护等。2) View:该参与者主要工作是把用户所需要的信息显示在界面上,如用户查询的列表信息显示。3) DB:该参与者为数据库系统,主要工作是搜集信息,提供搜索功能,方便用户对联系人的信息查找,更新,删除,增加等。该系统的参与者在UML中的描述如图3-2所示。图3-2 参与者示意图通讯录管理系统程序流程,如图3-3所示。图3-3 程序流程图3.2.2系统主用例识别1. 通过认真分析与思考,我认为自己的系统按照设计图大致将该系统的参与者,主用例和主用例的功能描述如下:1) 联系人信息维护:该主用例主要是对联系人的详细信息进行维护,通过对信息的维护可以确保自己人际交往的良好,保证日常生活的次序。2) 查找联系人:该主用例主要是对联系人的查询,通过特定条件查找特定联系人,保证在紧急的时候可以快速查出所需要的联系人。2. 该用例主要方便用户在第一时间可以很快提取到想要的联系人的各种信息,方便,快捷。系统的主用例图,如图3-4所示。图3-4主用例示意图3.2.2 系统子用例识别 联系人信息维护主用例主要包含以下子用例,各子用例描述如下: 1) 增加联系人功能: 该功能主要是针对用户在人际交往中认识新的朋友和伙伴,为了更好的相处及增进友谊,对方留下自己的各种联系方式,包括电话,手机,邮箱等等。 2) 更新联系人功能: 该功能主要是针对用户在于朋友,亲戚的友好相处中,由于对方更换联系方式,并且及时告诉用户信息,用户可以根据对方告知的信息进行更新,方便日后联系。 3) 删除联系人功能: 该功能主要是对联系人信息的删除。该主用例与子用例之间的关系描述,如图3-5所示。图3-5主用例与子用例示意图3.3 数据库分析通讯录管理系统是方便大众日常生活的工具,为了迎合大众需求,具体有浏览信息、查询信息、添加和删除信息等功能。这就要求数据库结构能充分满足各种信息的输入与输出,实现有组织地,动态储存大量关联数据,方便用户访问系统中的数据。3.3.1 概念结构设计根据需求分析抽象出信息结构,可得该系统登陆的E-R,如图3-6所示。1) 用户E-R图图3-6用户E-R图2) 用户操作E-R图,如下图3-7所示。图3-7总体E-R图3.3.2 数据库表的建立在设计数据库表结构之前,首先要创建一个数据库。本系统使用的数据库为Tele_book。创建表teleuser(基本信息表):表内有3个字段Id、User_Name、Pass_Word分别为数字Id、用户名、密码其中User_Name为主键。创建表telebook(基本信息表):表内有5个字段Id、Tele_Name、Tele_no、Email、User_Name分别为数字Id、联系人姓名、联系人电话、联系人邮箱、关联用户结构除id为Number(10)其余均为Varchar2(100)。其中User_Name外关联TeleUser中User_Name主键。3.3.3 逻辑结构设计基本信息表TeleBook用来保存姓名、电话、邮箱信息。表TeleBook结构如表3-1所示。 表3-1 Teleuser表结构编号字段名称数据结构说明1IdNumber(10)数字Id2Tele_NameVarchar2(100)联系人姓名3Tele_noVarchar2(100)联系人电话4EmailVarchar2(100)联系人邮箱5User_NameVarchar2(100)关联用户基本信息表TeleUser用来保存注册用户的用户名、密码等信息。表TeleUser结构如表3-2所示。 表3-2 TeleUser表结构编号字段名称数据结构说明1IdNumber(10)数字Id2User_NameVarchar2(100)用户名3Pass_WordVarchar2(100)密码第四章 系统实现4.1 SSH整合4.1.1使用Spring整合HibernateSpring配置文件applicationContext.xml中配置数据源、配置连接参数、配置连接池、配置SessionFactory、开启组件扫描以及声明式事务4.1.2类的实现创建实体类,并创建映射关系文件创建实体类,并创建映射关系文件,创建Dao接口,实现类继承于HibernateDaoSupport,并实现接口Dao4.1.3 Spring整合Struts2配置web.xml,配置一个listener,使tomcat启动时自动加载Spring。另外再配置Struts2的前端控制器4.2 系统功能实现4.2.1 系统登录界面输入用户名admin密码admin单击登陆即可实现登陆,如下图4-1所示。图4-1 系统登录界面 登录功能:后台获取前台输入的用户名、密码,通过用户名查询数据库有没有该用户,若没有,则返回消息“帐号不存在”,若有,则判断输入的密码和查询出的数据是否一致,若不一致,则返回消息“密码错误”。并且新创建一个User对象,将查询出来的数据存进User对象中,再将User对象存入Session中。注册用户功能:获取前台填写的注册信息,通过输入的帐号查询数据库是否存在同样的值,若存在返回消息“账号已存在”,若不存在提示消息“注册成功”,并将录入信息存入数据库中。4.2.2 系统主界面在系统登陆成功后会自动转跳此页面,在此可以进行删除、添加、修改、模糊查询等操作,如下图4-1所示。图4-2 系统登录界面浏览联系人信息:通过session取出登陆用户,获取当前登陆用户的UserName,并将其作为条件,查询数据库返回当前登陆人拥有的联系人信息查询联系人信息:获取前台录入的查询条件,查询当前登陆人所拥有的联系人并将录入的条件添加到查询语句中,最后返回条件查询的联系人。添加联系人信息:获取前台录入信息,并新建Tele对象,将录入信息存入Tele对象中,再将Tele对象交给Hebernate存入数据库。4.2.3系统修改界面在系统主界面单击想要修改的联系人后面的修改连接会转跳到修改界面,在此界面可以对该联系人进行修改,如下图4-3所示。图4-3 修改联系人界面修改联系人信息:获取修改后的联系人信息,创建新的Tele用户并将新信息装入Tele对象中,并将唯一主键装入,再将Tele对象交给4.3添加WebService4.3.1 web.xml的配置一般情况下,我们通过HTTP作为Web Service的传输协议,这样我们只需启动一个Web服务器(如Tomcat,在本例中使用的是Tomcat5.5.20),这样客户端就可以通过 HTTP访问到Web Service服务。为了集成Spring容器,XFire专门提供一个XFireSpringServlet,我们可以在web.xml中配置该 Servlet,将Spring容器中定义的Web Service在某个URI下发布。为了能正确使用XFire,需在 web.xml中进行相应配置,在该文件中配置XFire的servlet和servlet-mapping。同时因为本实例需要将XFire集成到 Spring中,因而需要在web.xml文件中加载Spring的相应配置文件。在本实例中,我们首先在WEB-INF下建立两个配置Spring配置 文件,一个为applicationContext.xml,该文件用来定义本工程的bean,一个为xfire-servlet.xml,用来配置 XFire的相关bean。4.3.2 Web Service的接口类和对应的实现类为了用Web Service完成HelloWorld功能,我们首先在src/webservice目录下建立接口类ReadNewsService.java。它仅包含一个articleShow(long name)的方法。XFire 为Spring 提供了方便易用的导出器XFireExporter,借助该导出器的支持,我们可以在Spring容器中将一个POJO导出为Web Service。HelloWorld是业务服务类,在此拥有一个sayHelloWorld的方法,我们希望将此方法开放为Web Service。在实际应用中,如果某个类具有众多的方法,而其中的某些方法不需要开放为Web Service的情况下,我们可以定义一个窄接口,该接口中只需定义那些开放为Web Service的业务方法。将一个业务类所有需要开放为Web Service的方法通过一个窄接口来描述是值得推荐的作法,这让Web Service的接口显得很“干净”。其次,XFire的导出器也需要服务接口的支持,因为它采用基于接口的动态代理技术。窄接口中的方法在真实的系统中可能需要引用其它的业务类或DAO获取数据库中的真实数据,为了简化实例,我们在此简化了实例。在该配置文件中引入了xfire.xml这个Spring配置文件。它是在XFire核心JAR包中拥有一个预定义的 Spring配置文件,它定义了XFire在Spring中必须用到的一些Bean和资源,需要引入这个预定义的配置文件。从该配置文件中可以看出,我们 通过XFireExporter将业务类导出为Web Service,对于任何导出器,我们都需要引入XFire环境,即serviceFactory和xfire,这是标准的配置。 ServiceFactory是XFire的核心类,它可以将一个POJO生成为一个Web Service。我们通过定义一个baseWebService,其余的webService配置都将该bean作为父bean,这样可以简化Spring的配置,不需要多次引入serviceFactory和xfire。第五章 系统测试5.1 登陆用例的程序设计系统登陆界面,如下图5-1所示。图5-1登录界面图在系统登陆界面中输入用户名admin,密码admin,点击登陆。登录成功后给出的提示界面,如图5-2所示。图5-2登录成功后的提示图5.2 登录成功登录用户登录成功后转向主页面,如图5-3所示。图5-3主窗体图成功登陆后显示联系人信息,并可以对其进行增、删、改、查操作。若没有登陆或非法进入此界面则不会有增、删、改、查功能并且会被转跳到登陆界面。如果长时间没有进行操作,系统会回收资源,等再次操作时会提示重新登陆。5.3 登录用户对联系人信息的管理测试5.3.1 对联系人的添加测试填写想要添加的联系人点击确定按钮,如图5-4所示。图5-4增加相关信息界面图点击确定后转跳到主页面可以看到刚才添加的信息,如图5-5所示。图5-5增加相关信息成功的界面图5.3.2 对联系人的更新测试修改刚刚添加的联系人,并提交,如图5-6所示。图5-6修改相关信息的界面图修改成功后返回主页面可以看到修改完成的联系人,如图5-7所示。图5-7修改相关信息成功的界面图5.3.3 对联系人进行删除测试单击想要删除的联系人后方对应的删除按钮可实现删除,如图5-8所示。图5-8删除信息界面图再点击确定按钮,触发删除事件,删除成功,并返回主界面,如图5-9所示。图5-9删除信息成功界面图5.4登出系统单击主界面登出按钮可实现登出功能,并返回登陆界面,如图5-10所示。图5-10登出成功界面图第六章 总 结大四即将结束,接系里通知,开始选毕设题目啦。心里不敢懈怠,又看了一遍题目,下决心选择了通讯录管理系统的设计与实现这个其他人都没有选的项目,当时心里是这样想的,自己对文件的操作差不多忘光了,此时可以复习一下,不过也有点担心,害怕自己难以完成,因为觉得此题目相对较复杂。在编写程序的过程中出现了很多问题,自己静下来仔细查找错误所在,也有些比较顽固的问题,自己实在能力有限,就去请教老师和同学,一步一步,一个一个模块,终于顺利完成了。自己验证了一遍各部分的功能,最后找老师验收通过近几个月的努力,我顺利完成通讯录系统的开发。基于设计要求,我查阅了大量相关资料,进行了需求分析,概要设计,详细设计,编码,调试运行等软件开发步骤。无论在理论上还是在实践上都有较大幅度的提高,独立分析问题、解决问题和与他人交流的能力得到明显提升。通过毕业设计,我对JAVA语言有了深刻的认识。JAVA是完全面向对象
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年金华市卫生健康委员会所属金华市中医医院招聘工作人员7人(第一批)模拟试卷及参考答案详解一套
- 2025海南省三支一扶招募模拟试卷及答案详解(各地真题)
- 2025广西桂林市灵川县发展和改革局公开招聘6人考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025广东韶关市乳源县东坪镇人民政府专职消防员招聘1人考前自测高频考点模拟试题及一套答案详解
- 2025湖南郴州市汝城县事业单位公开招聘引进高层次和急需紧缺人才21人考前自测高频考点模拟试题及答案详解参考
- 2025年中国活性红 21行业市场分析及投资价值评估前景预测报告
- 2025北京市怀柔区卫生健康委员会所属事业单位第二批招聘额度管理25人考前自测高频考点模拟试题及参考答案详解1套
- 2025贵州黔东南州剑河县顺诚公司紧急招聘长期搔菌人员15人考前自测高频考点模拟试题有答案详解
- 2025海南昌江黎族自治县劳动就业服务中心招聘公益性岗位人员3人考前自测高频考点模拟试题及答案详解(全优)
- 2025杭州路通环境科技有限公司招聘1人模拟试卷含答案详解
- 北师版八年级数学上册 第一章 勾股定理 (压轴专练)(九大题型)
- 测定某种食物中的能量说课课件人教版生物七年级下册
- 《范进中举》课剧本
- 2024年《宪法》知识竞赛必背100题题库带解析(必刷)
- 中华民族共同体概论课件专家版2第二讲 树立正确的中华民族历史观
- 敦煌文献研究与敦煌学
- 大数据时代下人们活的更累辩论赛范文(通用9篇)
- 笛卡尔环线性化技术的基本原理
- 鱼寮遗址聚落嘉义平原考古遗址有过沟-嘉义大学课件
- 渔业资源与渔场学PPT完整全套教学课件
- 跨境电子商务实务PPT完整全套教学课件
评论
0/150
提交评论