基于java的数字迎新系统的设计与实现_第1页
基于java的数字迎新系统的设计与实现_第2页
基于java的数字迎新系统的设计与实现_第3页
基于java的数字迎新系统的设计与实现_第4页
基于java的数字迎新系统的设计与实现_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于JAVA的数字迎新系统的设计与实现摘要进入21世纪,计算机技术迅速向着网络化的、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息的新一代网络版应用那个软件,想成了信息化的社会。计算机已经从科研院所,大中型高校,走进了平常百姓家,INTERNET遍及世界各地,在网上能够用计算机进行文字草拟、修改、打印清单、文件登陆、检索、综合统计、分类、数据库管理等,用科学的方法将无序的信息进行加工整理,组成有序的、方便存储和利用的艺术科研共享信息已经成为流行。目前,每年高校新生的数量和规模都在扩大,大量的新生信息需要管理。配备一个安全、高效、灵活、可靠的迎新系统对于学校提高新生管理工作效率必将发挥重要作用。设计并开发基于WEB的数字迎新系统,采用目前比较主流的J2EE开发框架JSPSTRUTSHIBERNATESPRINGSQLSERVER。JAVA面向对象的编程方式,和三大主流开发框架的使用,将保证系统具有高度的稳定性和安全性。关键词计算机;高校;新生;开发THEDESIGNANDIMPLEMENTATIONOFADIGITALORIENTIONSYSTEMBASEDONJAVAABSTRACTINTHE21STCENTURY,COMPUTERTECHNOLOGYRAPIDLYTOWARDNETWORKED,INTEGRATEDDEVELOPMENTDIRECTIONTHETRADITIONALSTANDALONEAPPLICATIONSAREGRADUALLYLEAVETHESTAGE,REPLACEDBYASUPPORTNETWORK,TOSUPPORTAVARIETYOFNEXTGENERATIONDATANETWORKVERSIONOFAPPLICATIONSOFTWARE,HAVEFORMEDASOCIETYOFINFORMATIONCOMPUTERHASEVOLVEDFROMRESEARCHINSTITUTES,UNIVERSITIESANDMEDIUMSIZED,INTOTHEORDINARYPEOPLESHOMES,INTERNETAROUNDTHEWORLD,THEINTERNETCANBEACOMPUTERTEXTDRAFTED,MODIFY,PRINTPROOFS,DOCUMENTSLANDING,SEARCH,COMPREHENSIVESTATISTICS,CLASSIFICATIONS,DATABASEMANAGEMENT,ETCFINISHINGPROCESSINGUSINGSCIENTIFICMETHODSTODISORDERLYINFORMATION,CONSISTINGOFANORDERLY,ARTISTICRESEARCHANDSHARINGOFINFORMATIONTOFACILITATETHESTORAGEANDUTILIZATIONHAVEBECOMEPOPULARCURRENTLY,THEANNUALNUMBERANDSIZEOFCOLLEGEFRESHMENAREEXPANDING,ALOTOFNEWINFORMATIONTOBEMANAGEDEQUIPPEDWITHASAFE,EFFICIENT,FLEXIBLE,RELIABLEFRESHMENORIENTATIONSYSTEMFORTHEMANAGEMENTOFTHESCHOOLTOIMPROVEEFFICIENCYWILLPLAYANIMPORTANTROLEDESIGNANDDEVELOPMENTOFWEBBASEDDIGITALORIENTATIONSYSTEMTHATUSESTHERELATIVELYMAINSTREAMJ2EEDEVELOPMENTFRAMEWORKJSPSTRUTSHIBERNATESPRINGSQLSERVERJAVAOBJECTORIENTEDPROGRAMMING,ANDTHEUSEOFTHETHREEMAINSTREAMDEVELOPMENTFRAMEWORKWILLENSURETHATTHESYSTEMHASAHIGHDEGREEOFSTABILITYANDSECURITYKEYWORDSCOMPUTER;UNIVERSITIES;NEWBORN;DEVELOPMENT;目录摘要IABSTRACTII1绪论111选题背景112研究现状113课题目的114本文结构22设计技术与开发环境321相关技术介绍3211STRUTS简介3212HIBERNATE简介3213SPRING简介3224SSH的简介322开发环境介绍5221MYECLIPSE简介5222TOMCAT简介5223SQLSERVER简介5224JAVASCRIPT简介63系统需求分析与设计731需求分析732可行性研究7321经济可行性7322技术可行性733系统设计84系统设计目标及框架941系统目标942系统框架结构95数据库设计1051数据库分析1052数据库概念结构分析1053逻辑结构设计1154数据库连接原理126系统实现1461公共模块设计14611HIBERNATE配置文件的编写14612SESSION管理类的编写14613获得日期和时间类的编写15614字符串自动处理类15615配置STRUTS1562登陆模块设计15621登陆模块概述15622登陆模块技术分析16623登陆模块实现过程1663主界面设计20631主界面概述20632主界面技术分析20633主界面的实现过程2164日常管理模块设计22641新生信息管理模块22642用户信息管理模块22643报道点管理模块22644宿舍管理模块23645信息管理模块24646查询模块2465开发技巧与难点分析25651截取字符串25652SESSION有效性的判断25653通过HIBERNATEAPI声明事务边界26654中文乱码的处理26655其他错误2766测试27661系统测试目的与意义27662测试过程28663主页面的登录模块测试28结论29参考文献30致谢31外文原文32外文翻译411绪论11选题背景随着高校对学生的不断扩招,新生报到的信息量增大,有必要开发一个新生报到管理系统。每年高校新生的数量和规模都在扩大,大量的新生信息需要管理。配备一个安全、高效、灵活、可靠的迎新系统对于学校提高新生管理工作效率必将发挥重要作用。新生报到管理系统是一个教育单位不可缺少的部分,但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。我现在所做的课题就是在目前的情形下,从一些高校现有的条件实际出发,利用他们所拥有的计算机硬件设备和软件条件。实现一整套关于新生报到管理系统。实现科学管理,是高校发展的必然趋势。计算机的产生,已经成为了我们学校和工作的得力助手。今天,计算机的价格已经十分低廉,性能还在不断地提高进步。由于计算机可以替代人工进行许多繁杂的劳动,具备节省资源、提高工作效率、是敏感文档更加安全等特点,它已经被应用于许多领域。因此,使用计算机来实现新生信息管理,开发一个良好的迎新管理系统,已经成为当今时代发展的一种需求。现在我国的高校新生管理的水平还停留在纸介质或半自动(由电脑处理一部分数据,由人工处理一部分数据)的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。软件作为一项有力的工具,只能当此种工具与我们的实践相结合起来的时候,才具有重大的社会价值及使用价值。因此根据高校新生目前实际的管理系统情况开发一套数字迎新系统是十分必要的。12研究现状随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对新生报到信息进行管理,具有着手工管理所无法比拟的优点例如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生新生报到管理的效率,也是高校的科学化、正规化管理,与世界接轨的重要条件。13课题目的本课题主要是解决新生报到信息的管理,目标是使这新生报到信息管理真正实现无纸化。本系统主要由各院系报道点模块、宿管中心模块、组织部模块、信息中心模块管理及查询统计模块。在每一个模块中,必须做到良好的输入/输出界面,并能做到操作简单的功能。本课题是基于WINDOWSXP环境的数据库管理,使用JSP进行开发。本课题要求有熟练JDBC的开发能力,有较强的自学能力以及一定的数据库开发功底,并且具有一定编程能力。14本文结构1绪论本章主要介绍了迎新管理系统的应用以及发展现状,通过分析阐述了课题的目的与设计原则。2设计技术与开发环境本章针对迎新管理系统的设计与实现应用的相关技术和环境配置做了概述。3系统需求分析与设计本章对整个课题的内容进行详细的设计分析,明确了需求。对系统的目的、范围和所要做的所有的工作进行了定位。4系统设计目标及框架本章对系统的整体架构进行了设计,主要包含了系统架构设计、业务实体设计、业务逻辑设计和数据库设计。5数据库设计确定如何具体地实现数据库所设计的方案以及进行系统框架的搭建并进行系统实现。6系统实现通过链接测试、数据测试、权限测试、性能测试几个部分,对整个系统的功能及性能按照项目需求进行检验。2设计技术与开发环境21相关技术介绍本系统采取SSH三层架构开发从以下几方面进行研究1研究了关于迎新管理系统的应用方案分析,本文研究了迎新管理系统的应用方案,为了满足高校新生信息的现代化管理的发展,高校内部需要进行办公模式的更新,促进其信息系统自动化方案的应用,以提升高校的内部管理环节的质量效率。这一程序的开展,离不开对高校的迎新管理系统的应用,通过对其内部运作环节的深化研究,保证迎新管理系统内部各个环节的有效协调,从而实现高校的现代化发展,保障高校的健康可持续发展。2研究了面向对象的软件设计思想与J2EE技术标准。重点研究了项目开发过程中涉及的关键技术,如STRUTS技术、HIBERNATE技术和SPRING技术等。3设计“数字迎新系统”的总体结构,运用面向对象软件思想和J2EE技术标准解决系统统一数据标准和资源共享的问题。并重点研究了实现系统的几项关键技术。4实现“数字迎新系统”,本文从数据持久层,业务逻辑层和表示层三步实现了系统的功能模块,并运用XML技术解决了统一数据标准的问题,利用WEBSERVICE技术解决“数字迎新系统”与外部系统资源共享的问题。211STRUTS简介STRUTS是采用JAVASERVLET/JAVASERVERPAGES技术开发WEB应用程序的开放源码的FRAMEWORK。STRUTS就是在JSPMODEL2的基础实现了MVC设计模式的WEBFRAMEWORK。采用STRUTS能开发出基于MVCMODELVIEWCONTROLLER设计模式的应用构架。基于STRUTS构架的WEB应用程序基本上符合JSPMODEL2的设计标准,可以说是MVC设计模式的一种变化类型。STRUTS的目的是为了帮助减少在运用MVC设计模型来开发WEB应用的时间212HIBERNATE简介HIBERNATE是基于JAVA的开源持久化中间件,它对JDBC实现了轻量级的封装。开发人员通过HIBERNATE提供的API可以很轻松地操作数据库。HIBERNATE技术改变了开发人员对数据记录的操作。在HIBERNATE中,一条数据记录被看成一个持久化对象,数据都是以对象的形式进行存储。213SPRING简介SPRING是一个开源框架,SPRING是于2003年兴起的一个轻量级的JAVA开发框架,由RODJOHNSON在其著作EXPERTONEONONEJ2EEDEVELOPMENTANDDESIGN中阐述的部分理念和原型衍生而来。它是为了解决高校应用开发的复杂性而创建的。SPRING使用基本的JAVABEAN来完成以前只可能由EJB完成的事情。然而,SPRING的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何JAVA应用都可以从SPRING中受益。224SSH的简介1SPRINGMVC属于SPRING框架的后续产品。SPRING框架很强大,它提供了可以构建WEB应用程序的全功能的MVC模块。使用SPRING成为一种可插入的一套MVC的架构,可以有自主选择的去选择是使用SPRING内置的SPRINGWEB框架还是使用像STRUTS、WEBWORK这样的优秀的WEB框架。通过“策略接口”,SPRING框架实现了高度的可配置,而且SPRING的强大之处是,它包含许多视图方面的技术,例如TILES、VELOCITY、JSP技术、ITEXT和POI。SPRINGMVC框架本身不知道使用了什么样的视图,所以实现了与视图的分离。SPRINGMVC分离了M模型对象、V视图、C控制器,即我们经常说的MVC,SPRINGMVC的这种分离使它们更加容易的进行定制,使它们各自更关注本身的作用和角色。2HIBERNATE是典型的O/RMAPPING对象/关系映射框架,相比较传统的JDBC连接数据库的方式,它是对JDBC的轻量级的对象封装操作,使得我们在构建JAVA程序的时候,可以以一种面向对象的方式来面向对象的操作关系型数据库。HIBERNATE适用于所有的JDBC方式操作数据库的地方,即可以适用于C/S结构的客户端、服务器的架构,亦可以适用于基于B/S结构的浏览器、服务器的WEB服务架构,在其中实现数据的持久化。3SPRING是一个强大的框架,它可以解决在JAVAEE开发中许多常见问题。SPRING容器中的IOC容器提供依赖注入DI,IOC、面向接口编程等思想。SPRING整个架构的基础是IOC控制反转容器,使用这个容器,SPRING可以构建出应用程序APPLICATION的架构层。SPRING同时还提供课对数据访问层DAO的一层抽象,其中也包含着JDBC框架,极大的提高了对数据库操作的方便性。此外,SPRING本身同时还集成了像HIBERNATE这样的对象/关系映射O/RMAPPING框架,用来方便的访问和操作数据库。除此之外,在事务一层中,SPRING还提供了对管理事务的一层抽象,因此能够提供了统一的编程模型,用来实现各种不同的底层事务的管理。这些之外,SPRING还包含AOPASPECTORIENTEDPROGRAMMING,面向切面编程框架,有了它,集成SPRING框架的项目中,我们就可以使用声明性的事务管理和其他企业事务管理。最后,SPRING还为我们提供了自身的MVCWEB框架,更妙的是它能实现与IOC的集成,使我们的应用程序的开发更加的迅速、快捷、方便、乐趣。如图13是SPRING的架构图。4SSH架构在系统中的应用本系统的实现上采用MVC模式,从VIEW层由JSP和HTML来充当视图层VIEW,SPRINGMVC、后端的SERVICE、DAO层、POJO类用来充当模型层MODEL,SPRING的ACTIONSERVLET以及控制层的CONTROLLER层来充当控制层CONTROLLER。HIBERNATE来映射数据库和POJO类,作为O/RMAPPING使用,SPRING的IOC容器随着系统的启动来实例化出用到的CONTROLLER层、SERVICE层和DAO层各个实例对象。于是,用户看到的就是,从前台的VIEW页面提交表单到SPRINGMVC的CONTROLLER层,CONTROLLER调用SERVICE层实现业务逻辑,这个MODEL层将对数据库的查询和更新的结果告诉CONTROLLER层,然后再传递回VIEW层,将结果显示出来。22开发环境介绍操作系统WINDOWS7开发平台MYECLIPSE85WEB服务器TOMCAT60JAVA开发包JDK16开发技术SPING、STRUTS和HIUBERNATE框架技术数据库服务器SQLSERVER2005浏览器GOOLECHROME/搜狗浏览器/IE60分辨率1024768像素221MYECLIPSE简介MYECLIPSE高校级工作平台(MYECLIPSEENTERPRISEWORKBENCH,简称MYECLIPSE)是对ECLIPSEIDE的扩展,利用它我们可以在数据库和JAVAEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JAVAEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,STRUTS,JSF,CSS,JAVASCRIPT,SQL,HIBERNATE。222TOMCAT简介TOMCAT是一种免费的开放源代码的SERVLET容器,负责处理客户端的请求,把请求传送给SERVLET并把结果返回给客户端。TOMCAT服务器除了能够运行SERVLET和JSP,还提供WEB服务器的功能。在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。当在一台机器上配置好APACHE服务器,可利用它响应对HTML页面的访问请求。实际上TOMCAT部分是APACHE服务器的扩展,但它是独立运行的。223SQLSERVER简介SQL是英文STRUCTUREDQUERYLANGUAGE的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI美国国家标准协会的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如ORACLE,SYBASE,MICROSOFTMYSQL,ACCESS等都采用了SQL语言标准。SQLSERVER是一个关系型数据库管理系统,由瑞典SQLSERVERAB公司开发,目前属于ORACLE公司。SQLSERVER是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。SQLSERVER所使用的SQL语言是用于访问数据库的最常用标准化语言。SQLSERVER软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择SQLSERVER作为网站数据库。224JAVASCRIPT简介JAVASCRIPT是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端WEB开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JAVASCRIPT的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML基础上,使用JAVASCRIPT可以开发交互式WEB网页。JAVASCRIPT的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。在本系统中很多地方使用了JAVASCRIPT技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。3系统需求分析与设计31需求分析众所周知,近些年来,科学技术的不断提高和发展带来了计算机技术改革、创新、发展,同时也催生着网络技术的进步和发展。由此互联网的强大之处被人们所根深蒂固的认识和了解着,因此计算机进入了人类社会和生活的各个领域,并在其中发挥着越来越重要的作用,扮演者越来越重要的角色。为了跟的上瞬间万变的信息世界的形势,跟随无纸化办公、提高工作效率和办事的效率,加快在线处理信息建设的步伐,提高在线信息管理的速度、效率、广度、深度、共享度,近年来,相关部门投入了大量的人力、财力、物力构建出网络环境、制作出软件平台,很重视在线学习系统的开发。随着科学技术的不断发展,管理和办公活动的重要性日渐突出,引起了管理者以及技术人员的普遍重视,尤其是20世纪60年代以来,在通讯技术迅速发展的推动下,高校办公室也开始了向自动化为主要内容的“办公室革命”。各高校根据自己的需求,建立了网上新生信息自动化管理系统。近可能的利用信息资源,向多级办公人员及时提供所需信息,提高了工作效率和质量。不久的将来网上信息管理系统将成为高校的首选管理方式。32可行性研究现在国内许多高校用的都是纸和笔的人工管理方式,这样的管理及困难又浪费时间和成本,很容易出错。所以应该掌握大型高校先进的管理方式,从而提高高校的效率和降低成本。迎新管理系统主要有以下优势迎新管理系统面向学校各院系,各管理部门及全校新生,为横跨不同的业务部门,及迎新工作的各项工作位一体,为新生提供方便,高效,一体化的入学报到环境,为管理员搭建业务管理及协同的综合平台,并累计新生数据,为后期应用提供数据来源。321经济可行性通过网站对高校内部新生信息进行全面的自动化管理,大大提高学校的办公效率。通过系统对学校新生信息管理过程中的数据进行全面的管理和统计,避免人为处理各类数据时所产生的各种问题,提高了学校的运作效率,为学校经营提供了大量的、权威的数据,使学校的管理进入到科学化、系统化的范畴。322技术可行性本系统主用用到了目前比较流行的STRUTS和HIBERNATE技术,STRUTS是构建基于JAVA的WEB应用首选技术。HIBERNATE已经被越来越多的JAVA开发人员作为高校应用和关系数据库之间的中间件,这项技术的应用方便了网站日后的维护。33系统设计由于本系统可执行的是一般性质的信息管理工作,本系统具有一般适用性,其所实现的功能满足高校对日新生信息的管理,方便高校内部人员的沟通,方便老师及学生及时的了解学校的动态,使高校的日常管理步入科学系统的轨道上。根据需求分析,绘制功能模块图如图31所示图31系统功能模块图新生首先到各院系报到点登记报道信息,领取户口迁移证明和相关收费收据;再去宿管中心办理入宿手续,领取宿舍钥匙,完成之后去组织部转移组织关系,最后去信息中心领取校园卡。4系统设计目标及框架41系统目标开发编写一个使用范围比较广的功能较为强大齐全的数字迎新系统。内容主要是实现系统的几大功能,具有管理员权限的用户可以添加、删除、修改和浏览所有学生的各种基本信息和成绩信息。而只有普通权限的用户只能查看属于自己的各种信息。课题设计并开发基于WEB的数字迎新系统,采用目前比较主流的J2EE开发框架JSPSTRUTSHIBERNATESPRINGSQLSERVER。JAVA面向对象的编程方式,和三大主流开发框架的使用,将保证系统具有高度的稳定性和安全性。实现高校迎新管理系统,系统设计达到如下目标(1)系统应符合新生信息管理的规定,满足信息行业相关人员日常使用的需要,并达到操作过程中的直观,方便,实用,安全等要求;(2)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充,维护;(3)系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作;(4)尽量采用现有软件环境及先进的管理系统开方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。42系统框架结构框架提供了大粒度软件复用的新途径,提高了软件开发的效率。因而如何设计并构建一个强健而稳定的框架一直是众多软件专家致力研究的目标。首先研究了J2EE的多层架构、组件技术并深入分析了J2EE架构的不足之处7;同时对STRUTS、SPRING和HIBERNATE的各自特点,将这三种框架整合一个SSH多层框架,其中STRUTS主要负责表现层,完成页面显示、响应用户请求等功能;SPRING主要负责业务逻辑层,完成应用系统的业务逻辑与事务处理等;HIBERNATE主要负责数据持久层,完成与数据层的交互功能。通过具体分析各个框架在WEB应用的不同层次上所发挥的作用,引入了(SSH)多层WEB应用整合架构,表示层使用STRUTS,业务逻辑层使用SPRING,数据持久层则采用HIBERNATE,即将STRUTS应用中的业务逻辑交给SPRING管理,相关类使用SPRING的BEANS配置完成,HIBERNATE负责数据的持久化。通过整合,充分发挥STRUTS、SPRING和HIBERNATE框架各自的优势,降低了各层间耦合度,解决了WEB应用系统开发过程中由于系统结构复杂而带来的一些问题;同时详细介绍了SSH组合框架在作者参与的人力管理系统中的实施过程。通过SSH组合框架的应用,提高了系统的开发效率和可移植性、可维护性。5数据库设计51数据库分析数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。同时,合理的数据库结构也将有利于程序的实现。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。在每一个应用程序中,数据库的设计是其中非常重要的部分,选择合适的数据库并创建合计的结构式开发程序时首要的问题。数据库将用SQLSERVER进行设计和管理。数据库安全性就是保证数据库信息的保密性,完整性,一致性和可用性,防止非法用户越权使用数据库从而窃取,更改或破坏数据库中数据,将提供一些安全措施来保证数据库的安全。52数据库概念结构分析根据以上章节对系统所做的需求分析和系统设计,规划出本系统中使用的数据库实体ER图如图51所示。新生信息管理属于查询管理教师分类管理员新生管理管理属于属于NNNN11N111图51整体实体ER图53逻辑结构设计数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。根据ER模型,该软件建立了以下逻辑数据结构。表51ADMIN管理员信息表列名数据类型长度说明IDINT20编号LOGINNAMEVARCHAR255登录名PASSWORDVARCHAR255登录密码ADMINNAMEVARCHAR255姓名表52USERS宿管中心信息表列名数据类型长度说明IDINT20编号USERNAMEVARCHAR255姓名LOGINNAMEVARCHAR255登录名PASSWORDVARCHAR255密码TELVARCHAR255电话EMAILVARCHAR255EMAILADDRESSVARCHAR255联系地址表53STUDENT新生信息表列名数据类型长度说明IDINT20编号USERNAMEVARCHAR255姓名SEXVARCHAR255性别LOGINNAMEVARCHAR255登录名PASSWORDVARCHAR255密码TELVARCHAR255电话EMAILVARCHAR255EMAILADDRESSVARCHAR255住址NUMVARCHAR255学号ZYVARCHAR255专业AGEVARCHAR255年龄JGVARCHAR255籍贯COMPANYNAMEVARCHAR255班级LEAVETIMEVARCHAR255学院SCHOOLVARCHAR255毕业院校BYSXVARCHAR255毕业情况描述BYSJVARCHAR255是否转移户口BYJDVARCHAR255档案是否齐全BYTJVARCHAR255身体情况描述表54JY院系报道信息表列名数据类型长度说明IDINT20编号NAMEVARCHAR255姓名GXVARCHAR255性别NLVARCHAR255年龄XYVARCHAR255学院BJVARCHAR255班级LXFSVARCHAR255联系方式ZDLSVARCHAR255指导老师ZDLSLXVARCHAR255指导老师联系方式SSVARCHAR255宿舍XXXXVARCHAR255详细信息INPUTTIMEVARCHAR255发布日期表55STUDENTCOMMENTS组织部表列名数据类型长度说明IDINT20编号TITLEVARCHAR255标题CONTENTVARCHAR255内容INPUTTIMEVARCHAR255日期USERSIDINT20档案编号STATEINT20学生号RETURNCONTENTSVARCHAR255档案正文RETURNTIMEVARCHAR255回复日期54数据库连接原理采用JDBC连接数据库的方式,只需在工程中导入对应数据库的JAR包,就可以方便的对数据库进行连接,在程序中,用CLASSFORNAME方法来加载驱动程序,在用DRIVERMANAGER的GETCONNECTION()方法就可以创建一个数据库连接。程序采用的是DAO模式来操作数据库,DAODATAACCESSOBJECT,数据访问对象,是JAVA编程中的一种经典模式,已被广泛应用,也是J2EE架构中持久层框架的基础知识,基于分层次式的软件架构来实现对数据库的访问操作。DAO模式的主要思想就是从抽象数据源获取与操纵数据的方法。抽象数据的含义就是编写应用程序的程序员不必关心数据库的物理位置,已经是何种数据库,只需使用封装数据库中表示记录的数据对象即可。其思想如图52所示图52DAO模式类图图中BUSSINESSOBJECT是业务对象,是使用DAO模式的客户端;DATATRANSFEROBJECT数据传输对象,在应用程序不同层次之间传输对象,在一个分布式应用程序中,通常可以提高整理的性能;DATAOBJECTACCES数据输入/输出对象封装了对数据源的一些基本操作;DATASOURCE指的是数据源。可以从图中看出,DAO模式分离了业务逻辑和数据罗即将,是的编写的软件具有良好的层次式体系结构。本系统为了方便数据库的操作,主要使用DBCONTENT的对象来接一个数据库(建立一个类DBCONTENT),代码如下PUBLICDBCONTENTSTRINGCLASSFORNAME“COMMYSQLJDBCDRIVER“/连接数据库的驱动STRINGURL“JDBCMYSQL/LOCALHOST1433DATABASENAMEDB_TUSHU“STRINGUSER“ROOT“/连接数据库的用户名STRINGPASSWORD“ROOT“/连接数据库的密码TRYCLASSFORNAMECLASSFORNAMECONDRIVERMANAGERGETCONNECTIONURL,USER,PASSWORD/加载数据库的驱动STMTCONCREATESTATEMENTRESULTSETTYPE_SCROLL_SENSITIVE,RESULTSETCONCUR_UPDATABLECATCHEXCEPTIONEXEXPRINTSTACKTRACE在程序需要连接数据库的地方,只需要生成一个DBCONNET的对象,就可以对数据库进行连接并操作。BUSINESSOBJECTDATAACCESSOBJECTDATASOURCEDATATRANSFEROBJECT使用封装创建/使用获取/修改6系统实现在管理信息系统的生命周期中,仅过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。61公共模块设计在开发程序中,经常会用到一些公共类,如HIBERNATE配置文件、STRUTS配置文件、SESSION的管理类等,公共类的应用可以使程序的代码更加的工整,增强代码的重用性。所以开发系统时首先要编写这些公共类。下面介绍办公自动化管理系统中需要编写的公共类。611HIBERNATE配置文件的编写HIBERNATE从其配置文件中读取和数据库连接有关的信息,HIBERNATE的配置文件有两种形式一种是XML的配置文件,办公自动化管理系统采用的是HIBERNATE默认的JAVA属性文件格式,配置文件名称为HIBERNATEPROPERTIES,基本格式如下HIBERNATEDIALECTORGHIBERNATEDIALECTSQLSERVERDIALECTHIBERNATECONNECTIONDRIVER_CLASSNETSOURCEFORGEJTDSJDBCDRIVERHIBERNATECONNECTIONURLJDBCJTDSSQLSERVER/LOCALHOST1433/DB_WORKHIBERNATECONNECTIONUSERNAMESAHIBERNATECONNECTIONPASSWORDHIBERNATESHOW_SQLTRUEHIBERNATEHBM2DDLAUTONONE其中配置文件的属性如下HIBERNATEDIALECT指定数据库使用的SQL语言。HIBERNATECONNECTIONDRIVER_CLASS指定数据库的驱动程序HIBERNATECONNECTIONURL指定连接数据库的URLHIBERNATECONNECTIONUSERNAME指定数据库的用户名HIBERNATECONNECTIONPASSWORD指定连接数据库的密码HIBERNATESHOW_SQL如果为TRUE,则在程序运行时,会在控制台输出SQL语句,默认为FALSE,以便减少应用的输出信息,提高运行性能。HIBERNATEHBM2DDLAUTO如果为CREATE,HIBERNATE会自动在数据库中建表,为NONE是不会自动建表。612SESSION管理类的编写(1)定义GETHIBERNATEL类,将其保存在COMHIBERBATEUTIL包中,并编写获得SESSIONFACTORY的代码,同时导入所需要的类包。(2)编写打开SESSION的方法OPENSESSIONPUBLICSESSIONOPENSESSION/以SESSION为返回值创建打开SESSION方法SESSIONSESSIONSFOPENSESSION/SESSIONFACTORY的OPENSESSION方法获得SESSION实例RETURNSESSION/返回SESION对象(3)编写关闭SESSION的方法CLOSESESSIONPUBLICVOIDCLOSESESSIONSESSIONSESSIONIFSESSIONNULL/判断SESSION是否为空SESSIONCLOSE/CLOSE方法关闭SESSION613获得日期和时间类的编写获得日期和时间类主要包括获得系统日期、获得系统日期和时间。(1)定义GETTIME类。(2)编写的系统日期的方法GETDATE。(3)编写获得日期和时间的方法GETDATETIME。614字符串自动处理类在本系统中字符处理类为MYFILTER,该类实现了FILTER借口,FILTER接口中有INIT、DESTORY、DOFILTER3个方法。INIT方法只在此过滤器第一次初始化时执行,对于简单的过滤器此方法可以为空;DESTROY方法在利用一个给定的过滤器对象持久的终止服务器时调用,一般情况下此方法为空;DOFILTER方法给大多数过滤器的关键部分,该方法包括SERVLETREQUEST、SERVLETRESPONSE、FILTERCHAIN3个参数。在调用FILTERCHAIN的DOFOLTER方法时,激活一个相关的过滤器。如果没有另一个过滤器与SERLET或JSP页面关联,SERLET或JSP页面被激活。615配置STRUTSMYFILTERCOMSTRUTSFILTERMYFILTERMYFILTER/62登陆模块设计621登陆模块概述系统登陆是用户进入系统的窗口。用户要进入系统必须输入正确的用户名、密码、验证码,否则会进入登陆失败页面。登陆模块的框架如图61所示登录失败页面进入登陆页面用户登陆是否通过验证进入主页面NY图61登陆模块框架图622登陆模块技术分析登陆模块用于验证用户登陆身份。登陆模块功能的实现应用了MVC设计模式,利用HIBERNATE完成对数据库的增加、修改、删除及查询功能,ACTION类控制转发路径,JSP页面负责页面显示。这样给以后系统的维护带来了方便。在本模块中通过对用户名和密码的参数绑定来验证用户的合法性。本模块及系统的其他模块都是采用HQL检索方式。它与SQL语法有些相似。但是HQL是面向对象的,它操作的是持久化类的类名和类的属性,而SQL操作的是表名和字段名。QUERY借口封装了HQL查询语言。在使用HQL检索方式检索之间,HQL检索数据的执行步骤如下(1)通过SESSION类的CREATEQUERY方法创建一个QUERY对象,CREATEQUERY方法的入口参数为STRING型的HQL语句,在HQL语句中可以包含命名参数,例如STRUSERNAME为参数名称。(2)为命名参数赋值(3)通过调用QUERY类的LIST方法执行数据检索,它的返回值为LIST型的结果集。623登陆模块实现过程对于一个完整的新生管理系统,不仅要求功能强大、操作简单,还要有良好的设计风格和另人爽目的界面。登录界面对于整个系统来说是非常重要的,因为它设置了进入本系统的用户和口令,防止非法用户进入系统,破坏系统安全和所保存的数据,只有合法的管理员在输入正确的密码后方可进入系统,否则将提示密码或用户名输入错误,并询问用户是否重新输入。这样就对使用者有了限制,增加了系统的安全性和保密性,便于控制和管理,有利于系统的维护。登陆页面的运行结果如图62所示图62系统登陆页面的运行结果主要代码如下LOGINCHANGEACTION“用户帐号登录密码用户身份管理员报道点宿管中心组织部信息中心“/1在HIBERNTEUTIL类中编写查找用户的方法(1)首先创建USER持久化类及其映射文件USERHBMXML保存在COMHIBERNATEPERSISTENCE包下。(2)创建HIBERNATE工具类HIBERNATEUTIL,用来保存系统中用到的所有对数据库表的增、删、改、查方法。PUBLICCLASSHIBERNATEUTILSTATICPRIVATESESSIONSESSIONSTATICGETHIBERNATEHIBNEWGETHIBERNATE(3)本模块只要用到HIBERNATEUTIL类的FINDUSER方法,改方法有两个参数,分别是用户名和密码,调用该方法可根据用户名和密码是否正确来判断用户是否可以登录系统。2创建表单对应的ACTIONFORMBEAN创建表单对应的ACTIONFORMBEAN,USERFORM将其保存在COMSTRUTSFORM包下,其属性与表单的输入域名城一一对应。3创建验证用户的ACTION实现类单击登陆页面的“登录”按钮,网页会访问一个URL,这个URL是FINDUSERACTIONDOMETHODFINUSER。从这个地址可知。登录模块调用了FINDUSERACTION类的FINUSER方法。FINDACTION类继承DISPATCHACTION,该类的FINUSER方法只要功能是调用HIBERNATEUTIL类的FINDUSER方法,并通过REQUEST对象的GETPARAMETER方法将前台页面得到的表单数据作为FINDUSER方法的参数,来判断用户输入的用户名和密码是否正确。4STRUTSCONFIGXML文件的配置将创建的ACTIONFORM和ACTION类配置在STRUTSCONFIGXML文件中。5登录页面的设计(1)登录页面的设计,在登录页面不仅添加了用户名和密码输入框,为了保护系统的安全还添加了验证码。PUBLICSTRINGGETCHECKCODERANDOMRANDOMNEWRANDOMSTRINGSRAND“FORINTI0IFORM1USERNAMEFOCUSFUNCTIONCHECKFORMFORMIF“USERNAME“VAL“ALERT“请输入用户名“RETURNFALSEIF“PASSWORD“VAL“ALERT“请输入口令“RETURNFALSEIF“INPUTCODE“VAL“ALERT“请输入验证码“RETURNFALSEIF“INPUTCODE“VAL“CODE“VALALERT“验证码输入有误“RETURNFALSEFORM1SUBMIT63主界面设计631主界面概述用户登录成功后进入系统主界面,主界面包括页头部分显示登录用户的具体信息,侧栏部分显示树桩导航菜单,内容显示区设计了显示滚动文字。主页面的运行效果如图63所示。图63主界面的运行结果632主界面技术分析在如图63所示的主页面效果图,页头、侧栏部分在其他更能模块中也同样显示,主界面的整体布局如图64所示。TOPJSPLEFTJSPMAINJSP图64主页面布局本实例是通过IFRAME浮动框架将其组合在一起,浮动框架是一种特殊的框架页面,在浏览器窗口中嵌套子窗口,在其中显示的内容。IFRAME的属性和含义如表61所示表61标记属性表标记属性描述SRC浮动框架中显示页面源文件的路径WIDTH浮动框架的宽度HIGHT浮动框架的高度FAMEBORDER框架边框显示属性SROLLING框架滚动条显示属性NAME浮动框架的名称633主界面的实现过程主页面中设计了树状导航菜单的显示,树桩导航菜单不仅可以节省页面空间,而且可以方便浏览者的操作。实现树桩导航菜单显示的步骤如下。1显示树桩导航菜单(1)在HIBERNATEUTIL类中编写查找菜单方法,在TB_MENE表中主菜单的MODEID值是0每个主菜单对应的子菜单的MODEID值与主菜单的ID相同。所以在编写HQL语句时只需要绑定MODEID就可以完成对菜单的查找工作。(2)在FINDMENUACTION中调用FINAMENU方法,并完成页面的转发工作(3)树桩导航菜单需要使用JAVASCRIPT脚本函数SHOWTR进行编写。树状导航菜单的完成需要注意一下两点第一,在默认情况下,第1个节点是展开的,单击该节点名称前的减号“”可以将该节点折叠,单击节点前的加号“”可以展开指定节点。如果摸个节点没有相关的子节点,则直接显示减号“”。第二,主要通过JAVASCRIPT脚本控制表格的行标记的显示或隐藏来实现节点的显示或隐藏。控制标记的显示和隐藏,是通过其DISPLAY属性实现的。应用JAVASCRIPT脚本定义一个函数SHOWTR,该函数用于显示或隐藏表格中指定的内容。2完成页面组合当TOPJSP、LEFTJSP、MAINJSP设计完成后,通过指令和IFRAME浮动框架将其组成DEFAULTJSP页面。64日常管理模块设计641新生信息管理模块本模块主要实现新生信息的增加、删除、修改、浏览等操作。如图65所示图65新生信息模块642用户信息管理模块本模块主要实现对用户信息的管理功能,包括增加、删除、修改、浏览操作。如图66所示图66用户信息管理模块643报道点管理模块本模块主要分为三个子模块报到信息管理,户口迁移证明,收费收据管理三个子模块,其中户口迁移证明模块主要登记新生户口是否迁移,并为迁移户口的学生发放迁移证明;收费收据管理模块为新生发放学费,水电费等相关费用的收据;报到信息管理可以实现学生信息的登记,包括学院班级宿舍的分配,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论