基于Java的校园信息通讯录.docx
《基于Java的校园信息通讯录.docx》由会员分享,可在线阅读,更多相关《基于Java的校园信息通讯录.docx(29页珍藏版)》请在冰豆网上搜索。
基于Java的校园信息通讯录
本科生毕业论文(设计)
论文(设计)题目:
基于Java的校园信息通讯录
分院:
理工学院
专业(方向):
软件工程
年级、班级:
软件0801
学生学号:
学生姓名:
指导老师:
2012年5月20日
论文独创性声明
本人所呈交的毕业论文(设计)是我个人在指导教师指导下进行的研究工作及取得的成果。
除特别加以标注的地方外,论文中不包含其他人的研究成果。
本论文如有剽窃他人研究成果及相关资料若有不实之处,由本人承担一切相关责任。
本人的毕业论文(设计)中所有研究成果的知识产权属三亚学院所有。
本人保证:
发表或使用与本论文相关的成果时署名单位仍然为三亚学院,无论何时何地,未经学院许可,决不转移或扩散与之相关的任何技术或成果。
学院有权保留本人所提交论文的原件或复印件,允许论文被查阅或借阅;学院可以公布本论文的全部或部分内容,可以采用影印、缩印或其他手段复制保存本论文。
加密学位论文解密之前后,以上申明同样适用
论文作者签名:
日期:
年月日
摘要
信息时代的今天,传递和获取信息的途径越来越多,其中网络以其跨时间,跨地域、快速、高效和低成本等显著特性成为信息传递和信息获取的主要途径。
为进一步加强网络信息安全,促进师生互动,打造便捷的校园信息服务平台,完善校园信息服务,给校园信息的管理和维护提供更便捷、更安全的服务系统而开发的校园信息通讯录系统。
由于校园信息通讯录系统自身具有多层结构的、分布式的、面向对象的特点,在开发基于JAVAWEB的校园信息通讯录系统过程中,采用流行的JAVAEE平台、STRUTS2、HIBERNATE、SPRING的开源框架,通过JSP图形界面标准技术实现了MVC设计模式。
使系统开发效率得到提高,同时使系统具有复用性、可靠性、开放性等特点。
通过构建Tomcat服务器和网站制作,以实现了良好的校园信息通讯录系统,具有执行效率高、运行稳定可靠的优点。
根据校园信息通讯录系统的需求,在Oracle数据库中实现了数据表的设计和存储,实现了校园信息通讯录系统的用户登录、用户信息管理、分院班级信息管理、通告信息的发布和阅读、用户功能权限的分派等功能。
【关键词】STRUTS2MVC设计模式Oracle数据库HIBERNATE
Abstract
Nowadays,therearemoreandmoremethodsoftransferringandaccessinginformationintheinformationage.Amongthemnetworkbecomesthemajormethodoftransferringandaccessinginformationbecauseofitssignificantcharacteristicssuchasacrosstime,acrossspace,fast,efficient,lowconsumption.Developinformationaddressbooksystemoncampustostrengthennetworksafetyfurther,promoteinteractionbetweenteachersandstudents,makeaconvenientinformationserviceplatformoncampus,perfectinformationserviceoncampusandprovidemoreconvenient,moresafetyservicesystemtothemanagementandmaintenanceofcampusinformation.Becausetheinformationaddressbooksystemoncampushasmanycharacteristicssuchasmultilayerstructure,distributed,object-oriented,inthedevelopmentprocessofinformationaddressbooksystembasedonJAVAandWEB,usingpopularJAVAEEplatformandSTRUTS2、HIBERNATE、SPRINGopensourceframework,technicalstandardsJSPgraphicalinterfaceandachievesMVCdesignmode.Increasingtheefficiencyofsystemdevelopment,andmakethesystemhassomecharacteristicsofreusability,reliability,openness.ThepaperrealizesthewellinformationaddressbooksystemoncampusbybuildingTomcatserverandmakingWebsite,whichboaststheadvantagesofhighefficiencyandreliability.Accordingtotherequirementoftheinformationaddressbooksystemoncampus,thedesignofOracledatatableanddatastoragearerealizedinAccessdatabase,thefunctionshavebeenrealized,suchasuserregisterandlogin,informationmanagement,addresslistandusermanagement.
【KeyWords】STRUTS2MVCdesignmodeOracleHIBERNATE
基于JAVAWEB校园信息通讯录
1绪论
1.1选题背景
当今时代,网络已经成为人们生活中不可缺少的一部分,世界上的第三媒体——Internet,它打破了地域时间限制,改变了人们的工作和生活方式,制作站点是企业和个人的宣传自己的重要手段,同时也学习信息的重要手段,现今随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。
计算机在管理中应用的普及,利用计算机实现各种管理势在必行,对于机关单位来说,利用计算机支持高效率完成通讯录,是适应社会制度要求、推动机关单位信息利用计算机支持高效率完成通讯管理,是适应现在社会制度要求、推动机关单位信息管理走向科学化、规范化的必要条件。
随着社会的发展及知识经济时代的到来,管理信息系统在各行各业发挥着越来越重要的作用。
通信录管理系统是典型的信息管理系统。
通信录管理系统的水平,是衡量校园信息发展水平的一个重要指标。
通信录管理系统工作烦琐,包含了大量的信息数据,因此就需要一个完善的师生信息管理系统来实现对这些数据的有效管理,满足校园管理者的需求。
1.2校园信息通讯录系统介绍
校园信息通讯录是一种基于javawebstruts2架构和oracle数据库共同开发的一个在线校园的信息管理平台管理系统,不同的用户角色在本系统中拥有不同的用户权限来进行对系统的管理和维护,本系统主要是对校园用户信息的管理和维护。
分院和班级的信息管理和维护,还有通告消息的发布和管理,学生用户的权限只能对主要信息的查询和阅读权限,没有修改、删除和添加的功能,例如:
学生用户只能对通告信息的查看和阅读,还有对班级信息的查询功能。
老师角色用户可能对通告的消息进行发布、查询、删除和修改,通告消息的发布可以发布给不同的用户范围,例如:
可以对所有用户进行消息的发布,还可以对各个分院的学生和老师用户进行发布和管理,老师用户角色还可以对班级、分院和用户信息的管理和维护。
系统管理员的用户角色主要是对用户的角色分派和角色功能权限的分派,他可以对所有功能的管理和维护功能。
1.3论文的主要工作
将网络和通讯录管理结合起来。
使得组会人员对参考人员的实际情况一目了然,经过详细的系统调查,开发出的操作简单而且方便使用的一个通讯系统。
实现参会代表的动态管理,使得对信息的管理更加方便,同时计算机具有手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好。
这样组会人员在工作起来效率高,可以不用再做大量的记录。
从而大大减轻了校园管理人员的工作量。
运用数据结构中的算法思想作数据结构,结合JAVA语言基本知识,编写一个通讯录管理系统。
通过完成本课题,进一步熟悉JAVA语言的基本知识,并掌握数据结构的一些基本算法思想,掌握JAVA语言的文件操作,数组的建立运用和函数的调用等。
加深对数据结构的理解,提高算法设计的能力,锻炼编程的能力
用JAVA语言编写一个通讯录管理系统软件,要求能实现通讯录管理系统中增加新记录、删除记录、信息的发布与管理、显示通讯录的所有信息。
按名字查询信息,保存通讯录退出系统。
2系统开发关键技术介绍
2.1Java语言
Java是由Sun公司开发的一种应用于分布式网络环境的程序设计语言,Java语言拥有跨平台的特性,它编译的程序能够运行在多种操作系统平台上,可以实现“一次编写,到处运行”。
Java一推出即引起世界各种媒体的注意,对于网络的发展,又将迈入另一个新的纪元。
Java语言是一种简单的(Simple)、面向对象(ObjectOriented)、分布式(Distributed)、解释型的(Interpret-ed)、健壮的(Robust)、安全的(Secure)、可移植(Portable)、高效能的(HighPerformance)、多线程的(Multithreaded)、动态的(Dynamic)程序语言,这也正是Java语言的特点。
Java作为软件开发的一种革命性的技术,其地位已被确立,这表现在以下几个方面:
1、计算机界的许多大公司已经购买了Java的许可证,这一点也说明,Java已得到了工业界的认可。
2、众多的软件开发商开始开发支持Java的软件产品。
3、以前的应用软件开发商,为了使应用软件通用,通常要维护若干个操作系统的版本,这是一个很大的开销。
采用Java后,这些开销会大幅度削减。
Java作为分布式对象技术远比OpenDoc和OCX要简单得多,关键在于Java提供代码的可移植性和平台无关性。
胜人一筹之处在于,网络信息交换可以是数据信息,也可以是程序实体,这是一项最有前途的分布式对象技术。
Java连同Internet、Web改变了应用软件的开发和使用方式,一切都围绕着网络,与平台无关。
信息的价值在于使用和共享,而Internet和Web则是信息使用和共享的最快捷、最便宜的方式。
现在Java已经成为开发和部署企业应用程序的首选语言,它有3个独立的版本:
J2SE是Java语言的标准版本,包含Java基础类库和语法。
它用于开发具有丰富GUI(图形用户界面)、复杂逻辑和高性能的桌面应用程序。
J2EE用于编写企业级应用程序。
它有一个标准的多层体系结构,可以将企业级应用程序划分为客户层、表示层、业务层和数据层,主要用于开发和部署分布式、基于组件、安全可靠、可伸缩和易于管理的企业级应用程序。
J2ME主要用于开发具有有限的连接、内存和用户界面能力的设备应用程序。
例如移动电话、PDA、能够接入电缆服务的机顶盒或者各种终端和其他消费电子产品。
2.2Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate的核心接口一共有6个,分别为:
Session、SessionFactory、Transaction、Query、Criteria和Configuration。
这6个核心接口在任何开发中都会用到。
通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。
下面对这6个核心接口分别加以介绍。
Session接口 Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。
)。
但需要注意的是Session对象是非线程安全的。
同时,Hibernate的session不同于JSP应用中的HttpSession。
这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。
SessionFactory接口 SessionFactory接口负责初始化Hibernate。
它充当数据存储源的代理,并负责创建Session对象。
这里用到了工厂模式。
需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
Configuration类 Configuration类负责配置并启动Hibernate,创建SessionFactory对象。
在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。
Transaction接口
Transaction接口负责事务相关的操作。
它是可选的,开发人员也可以设计编写自己的底层事务处理代码。
Query和Criteria接口
Query和Criteria接口负责执行各种数据库查询。
它可以使用HQL语言或SQL语句两种表达方式。
2.3MVC设计模式
模块、视图和控制器(MVC)模式是80年代Smalltalk-806出现的一种软件设计模式,现在已经被广泛使用。
MVC模式是一个描述重现问题及其解决方案的设计范式,其中控制器位于视图和模块之间,对视图如何与模块交互进行管理,这使得视图能够完全独立于控制器和模型,可以轻松实现客户端的设计。
将控制器和模型分开就可以在互不影响的情况下修改任何一方。
这样有助于减少各个部分之间的关联性。
随着电子邮件系统的应用,各领域可以随时方便地进行信息的交流而无须掌握复杂的技术,从而改进了传统的信息交流的模式。
MVC设计模式把一个软件组件区分为三个不同的部分:
model、view、controller。
1、模型(MODEL)
模型是应用程序的主体部分。
模型表示业务数据,或者业务逻辑,代表组件状态和低级行为的部分,它管理着自己的状态并且处理所有对状态的操作,Model自己本身并不知道使用自己的view和controller是谁,系统维护着它和view之间的关系,当Model发生了改变系统还负责通知相应的view。
2、视图(VIEW)
视图是应用程序中用户界面相关的部分,是用户能看到并与之交互的界面。
它代表了管理Model所含有的数据的一个视觉上的呈现,一个Model可以有一个以上的view。
3、控制器(CONTROLLER)
控制器的工作就是根据用户的输入,控制用户界面数据显示更新Model对象状态,并管理着Model和用户之间的交互的控制,它提供了一些方法去处理当Model的状态发生了变化时的情况。
其示意图如图2-1所示。
图2-1MVC设计模式
2.4Struts2
Struts2是Struts的下一代产品,是在struts和WebWork的技术基础上进行了合并的全新的Struts2框架。
其全新的Struts2的体系结构与Struts1的体系结构的差别巨大。
Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。
虽然从Struts1到Struts2有着太大的变化,但是相对于WebWork,Struts2只有很小的变化。
Struts2应用流程注解
Struts2的体系与Struts1体系的差别非常大,因为Struts2使用了WebWork的设计核心,而不是Struts1的设计核心。
Struts2中大量使用拦截器来处理用户的请求,从而允许用户的业务逻辑控制器与ServletAPI分离。
Struts2框架的大概处理流程如下:
1、加载类(FilterDispatcher)
2、读取配置(struts配置文件中的Action)
3、派发请求(客户端发送请求)
4、调用Action(FilterDispatcher从struts配置文件中读取与之相对应的Action)
5、启用拦截器(WebWork拦截器链自动对请求应用通用功能,如验证)
6、处理业务(回调Action的execute()方法)
7、返回响应(通过execute方法将信息返回到FilterDispatcher)
8、查找响应(FilterDispatcher根据配置查找响应的是什么信息如:
SUCCESS、ERROR,将跳转到哪个JSP页面)
9、响应用户(JSP--->客户浏览器端显示)
10、struts2标签库(相比struts1的标签库,struts2是大大加强了,对数据的操作功能很强大)
3校园信息通讯录的需求分析
3.1系统的功能需求
校园信息通讯录系统主要是为了学生和老师在一个平台上进行消息的发布查询,使学生信息、老师信息、分院信息、班级信息能进行更好的管理和沟通。
因此,校园信息通讯录系统提供以下功能:
1、学生角色:
学生用户输入由管理员分配的用户名密码进入系统主页面,学生用户会拥有个人信息修改、通告信息的查询、班级信息查询、个人密码的修改的功能权限。
2、老师角色:
老师用户输入由管理员分配的用户名和密码进入系统主页面,老师用户会拥有用户信息的查询、增加、修改、删除,班级信息的查询、修改、增加、删除,分院信息的查询、增加、修改、删除,通告信息的查询修改、删除、发布,同时还具有个人信息的更改和密码修改的功能权限。
3、系统管理员:
系统管理员拥有老师和学生用户的所有功能权限,同时还拥有用户功能权限的分派、系统角色的分派、系统角色的管理。
3.2系统的界面需求
系统的用户界面作为人机接口起着越来越重要的作用,它的好坏直接影响到系统的寿命,具有友好用户界面的系统,对于用户来说,无疑是一种享受。
因此,必须重视用户界面设计。
用户界面应具备的特征:
1、可使用性
用户界面的可使用性是用户界面设计最重要的也是最基本的目标。
它包括:
使用的简单性:
用户界面应能方便地处理各种经常进行的交互对话。
问题的输入格式应当易于理解,附加的信息量少;能直接处理指定媒体上的信息和数据,且自动化程度高,操作简便。
用户界面中所用术语的标准化和一致性:
所有专业术语都应标准化;软件技术用语应符合软件工程规范;应用领域的术语应符合软件面向专业的专业标准;在输入、输出说明里,同一术语的涵义应完全一致。
用户界面应具有容错能力:
即应当具有错误诊断、修正错误以及出错保护的功能。
2、灵活性
考虑到用户的特点、能力、知识水平,应使用户界面能够满足不同用户的要求。
系统能够按照用户的希望和需要,提供不同详细程度的系统响应信息,包括提示信息、反馈信息、帮助信息、出错信息等。
3、复杂性和可靠性
用户界面的复杂性:
用户界面的规模和组织的复杂程度就是界面的负责性。
在完成预定功能的前提下,应当使得用户界面越简单越好。
用户界面的可靠性:
用户界面的可靠性是指无故障使用的间隔时间。
用户界面应能保证用户正确、可靠地使用系统,保证有关程序和数据的安全性。
对于电子邮件系统的界面,尽量地将界面设计为简单、方便、清晰、美观。
3.3系统的服务工作流程
3.3.1用户权限功能示意图如图3-1所示
图3-1用户权限功能示意图
3.3.2学生用户的用例图:
如图3-2所示
图3-2学生用户的用例图
3.3.3老师用户用例图:
如图3-3所示
图3-3老师用户的用例图
3.3.4系统管理员用例图:
如图3-4所示
图3-4老师用户的用例图
3.4系统的环境需求
为充分发挥现有资源的最大价值,节约费用支出,需要满足以下系统环境要求:
1.采用Struts2/Spring体系结构。
2.操作系统选用WindowsXP。
3.数据库选用Oracle数据库。
技术层次深:
如果期望进入IT服务或者产品公司(类似毕博、DELL、IBM等),Oracle技术能够帮助提高就业的深度。
Oracle技术目前已经成为全球每个IT公司必选的软件技术之一,熟练掌握Oracle技术能够为从业人员带来技术应用上的优势,同时为IT技术的深入应用起到非常关键的作用。
掌握Oracle技术,是IT从业人员了解全面信息化整体解决方案的基础。
4.开发工具MyEelipse8.6。
MYEclipse是一个基于Java的、开放源码的、可扩展的应用平台,它为编程人员提供了一流的Java集成开发环境(IntegratedDevelopmentEnvironment,IDE)。
它是一个可以用于构建集成Web和应用程序的开发平台,其本身不提供大量的功能,而是通过插件来实现程序的快速开发功能,它是一个优秀的集成开发环境,便于对项目的管理与开发。
4校园信息通讯录的设计
4.1系统设计原则
校园信息通讯录系统的构建,不仅需要考虑到如何高效快捷的实现系统功能,还应能在一定时期内适应技术发展与功能扩充的需求,同时要给用户提供方便、实用的信息服务。
为了实现以上目标,在设计校园信息通讯录系统时,应该充分考虑以下几个方面:
1、先进性:
采用先进的、成熟的技术和开发平台,以保证系统在未来一段时间内的先进性。
2、可扩展性:
随着网上业务量的扩展和访问量的增加,系统应该能够具有较强的可扩展性,以适应新业务的发展,具备向复杂的业务形式延续的能力。
3、标准性和开放性:
所有程序及接口具有统一标准,使系统具备优异的可移植性。
4、安全性、高效性:
具有较高的网络安全性和运行效率,保证提供高质量的网络服务、快速的响应速度、稳定的系统。
5、实用性、灵活性:
网站所提供的各项信息、服务等要做到使用起来简单方便,尽可能地满足不同层次用户的需求,真正能够为用户带来方便。
4.2系统的功能设计
校园信息通讯录系统主要是为了给用户提供信息交流的平台,使用户进行方便的管理与维护信息。
在该校园信息通讯录系统中提供以下功能:
1、个人信息管理:
用户可以修改登录密码,对个人信息及时更新。
2、进行通告消息