学位论文-教师管理系统设计毕设_第1页
学位论文-教师管理系统设计毕设_第2页
学位论文-教师管理系统设计毕设_第3页
学位论文-教师管理系统设计毕设_第4页
学位论文-教师管理系统设计毕设_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

第21页共29页1绪论教师信息管理系统是一所院校在各种信息管理中的一部分,对于学校管理者来说是很重要的,所以所设计的系统应该能为管理者提供教师的基本信息管理手段和一些方便的查询方式。在过去,计算机不是很普及和计算机应用性不高的年代,人们使用人工的方法管理各式各样的档案,这种管理方式存在着很多缺点:效率底,保密性差,会产生大量的文件和数据,给查找,更新和维护信息都带来了相当大的困难。随着科学技术的不断发展,计算机科学日益成熟,其强大的计算功能已经被人们深刻地认识到,计算机发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对教师信息进行管理,具有人工方式所无法比拟的优越性。如,查找方便,可靠性高,存储容量大,保密性好,寿命长,成本低,维护十分方便等,这些优点能够极大得提高工作的效率,这也是学校的科学化,现代化,正规化的一点体现。1.1毕业设计主要任务1用户登录2修改个人密码3个人信息维护4教师信息管理5教师信息查询6教师工资管理7教师工资查询8安全退出1.2课题的意义教师管理系统是以教师管理为主。作为一个管理信息系统,其服务的对象是双方面的,学校和教师。教师系统力求给用户方便快捷的途径去管理这些繁琐的数据。为教师管理带来方便,也为学校带来方便、实现信息化。根据可行性研究的结果和客户的要求,分析现有情况及问题,采用两级管理结构。1.3论文的工作和安排本次设计的目标是:开发一个网站,设计一套功能比较完善的、方便使用的在教师管理系统。本系统主要包括后台管理模块(管理员身份)和前台模块(用户身份)两大部分。在实施后能达到系统界面美观友好,操作简单易行,查询灵活方便,数据存储安全可靠,系统维护安全、方便、可靠,并能够满足实用性、先进性要求的目标。论文分为五个部分:第一章即本章绪论,简述教师管理系统这个课题的背景情况以及开发本系统的意义。第二章为需求分析,本章中明确了系统需要实现的功能,分析了系统的用例,并介绍根据系统的需求选择的开发工具和技术的概况。第三章是总体设计,详细描述了本系统中数据库的设计情况,并给出了系统总体界面的设计方案。第四章为程序设计与编码各主要功能模块的实现方法和部分关键代码,同时提供了个主要界面运行的参考图片,以更直观了解系统的实现情况。第五章是软件测试,测试系统功能实现并对测试结果进行记录分析第六章为结束语,为此次毕业设计做一个总结,总结所获得的经验和体会。2需求分析2.1需求调研由于软件需求在初始阶段是模糊而又不完整的,质量计划只能建立在对客户需求的大致而不确切的理解之上。因此,项目计划应该从找出含糊不确切与准确恰当的软件需求间的映射关系入手。接着建立一种概念设计。项目初始架构的建立要十分谨慎,因为它通常标定了产品模块的分割线,同时描述了这些模块所实现的功能及所有模块间的关系。这就为项目计划和项目实施提供了组织框架,因此一个低质量的概念设计是不能满足要求的。2.2可行性分析进行项目的阶段划分,确定重大的里程碑,所需相关的资源,包括人力资源、设备资源、资金资源,即所谓的人、财、物三个要素。2.2.1技术的可行性技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。本系统采用B/S架构,前台使用jqueryeasyui开发出友好美观的人机界面,便于用户理解、操作,后台采用hibernate+spring3+springmvc3作为主题框架。数据库管理系统采用MySQL,它能够处理大量数据,同时保持数据的完整性、安全性。因此本系统的开发平台已成熟可行。硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需。2.2.2经济的可行性鉴于计算机技术发展异常迅猛,在硬件软件配置以及开发技术均以可行的情况下开发这样一个教师管理系统成本不会很高,但其可以大大提高酒店日常管理效率,也是信息交互发展的必然趋势,其必将有比较宽阔的市场,因此酒店管理系统在经济可行性上是可行的。2.3教师管理系统需求概述2.3.1系统目标开发一个网站,设计一套功能比较完善的、方便使用的教师管理系统。本系统主要包括后台管理模块(管理员身份)和前台模块(用户身份)两大部分。在实施后能达到系统界面美观友好,操作简单易行,查询灵活方便,数据存储安全可靠,系统维护安全、方便、可靠,并能够满足实用性、先进性要求的目标。可分为以下一些主要内容(1)用户登录(2)修改个人密码(3)个人信息维护(4)教师信息管理(5)教师信息查询(6)教师工资管理(7)教师工资查询(8)安全退出2.3.2用户类和用户特性教师管理系统是一个基于B/S结构模式的使用户能够方便与人交流的应用系统,他的用户是广大普通人,使用者通过这个系统,登录教师管理系统,管理教师信息。描述如下:表2.1用户具体描述用户类描述使用者读者是该系统的所有用户,他们通过该系统登录自己的账户,如果并非已有用户,则可以进行注册。登录教师管理系统以后,可以得到个人信息列表,并操作系统。2.4教师管理系统需求模型2.4.1功能描述以下是主要功能的描述:(1)用户登录(2)修改个人密码(3)个人信息维护(4)教师信息管理(5)教师信息查询(6)教师工资管理(7)教师工资查询(8)安全退出数据流图如下:注册信息注册信息用户注册信息录入用户注册信息录入教师信息教师信息登录信息结果登录信息结果教师管理、工资管理用户注册信息管理注册信息结果教师管理、工资管理用户注册信息管理注册信息结果注册信息注册信息注册信息结果注册信息结果注册信息注册信息注册信息表注册信息表图使用者详细功能描述(1)用户登录(2)修改个人密码(3)个人信息维护(4)教师信息管理(5)教师信息查询(6)教师工资管理(7)教师工资查询(8)安全退出3总体设计3.1数据库设计3.1.1数据库设计概述数据库是整个系统的基石,数据库的设计优劣直接影响到整个系统的设计成败,本节对数据库的设计进行专门阐述。数据库是数据管理的最新技术。十多年来数据库管理系统已从专用的应用程序发展成为通用的系统软件。由于数据库具有数据结构化,最低冗余度,较高的程序与数据独立性,易于扩充,易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。因此不仅大型计算机及中小型计算机,甚至微型机都配有数据库管理系统。数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用性和相容性,提高了决策的可靠性。目前,数据库已经成为现代信息系统不可分割的重要组成部分。数据库技术也是计算机领域中发展最快的技术之一。数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计的基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用于提高数据库性能的方法收效都是有限的。数据库设计的关键是如何使设计的数据库能合理地存储用户的数据,方便用户进行数据处理。设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是符合某一种级别的关系模式的集合。一般人们设计数据库遵循第三范式。即:数据库表中不包含已在其他表中包含的非主关键字信息。采用范式减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度。整个系统所包括的信息有使用者信息,使用者理财信息,管理者信息等。可将这些信息抽象为下列系统所需要的数据项和数据结构:数据结构基本概念和术语:位、字节、字、位串、元素、数据域、物理结构、逻辑结构

位(Bit):"位(bit)"是电子计算机中最小的数据单位。每一位的状态只能是0或1。

字节(Byte):8个二进制位构成1个"字节(Byte)",它是存储空间的基本计量单位。1个字节可以储存1个英文字母或者半个汉字,换句话说,1个汉字占据2个字节的存储空间。字:"字"由若干个字节构成,字的位数叫做字长,不同档次的机器有不同的字长。例如一台8位机,它的1个字就等于1个字节,字长为8位。如果是一台16位机,那么,它的1个字就由2个字节构成,字长为16位。字是计算机进行数据处理和运算的单位。位串:由若干位组合起来形成位串。元素:用一个由若干位组合起来形成的一个位串表示一个数据元素,通常称这个位串为元素(Element)或节点(Node)。数据域(DataField):当数据元素由若干数据项组成时,位串中对应于各个数据项的子位串称为数据域(DataField)。物理结构(又称存储结构):数据结构在计算机中的表示(又称映象)。逻辑结构:结构定义中的"关系"描述的是数据元素之间的逻辑关系,因此又称为数据的逻辑结构。理解:

1)引入位串这个词只是为准确叙述元素的概念而出现,描述由若干位组合起来的称呼

2)位串-元素

3)子位串-数据域

4)元素是数据元素在计算机中的表示(又称映象)

5)元素或结点是基于物理结构的概念,而数据元素是基于逻辑结构的概念

数据结构基本概念和术语:数据、数据元素、数据项、数据对象、数据结构、结构数据(Data):是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。

数据元素(DataElement):是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。

数据项(DataItem):一个数据元素可有若干个数据项组成;数据项是数据的不可分割的最小单位。

数据对象(DataObject):是性质相同的数据元素的集合,是数据的一个子集。

数据结构(DataStructure):是相互之间存在一种或多种特定关系的数据元素的集合。

结构(Structure):数据元素相互之间的关系。

理解:1)数据是一种笼统的概念,既包括字符,也包括图像、声音等,就是我们平常所说的数据,如,我硬盘里的数据都不见了,这个数据的概念应该就是这里所说的数据。

2)数据元素是数据的基本单位,它可细分。

3)数据项是组成数据元素的各项,它也是数据的最小单位。

4)数据对象是某类数据元素的集合,这类数据元素都具有共同点,比数据的范围要小。

5)注意这里数据结构并不是关系的意思,而是各种存在相互关系的数据元素的集合。

6)结构才是关系的意思。3.2系统总体结构设计该系统在Windows98/2000/XP/win7环境下,主要采用java语言作为开发,MySQL数据库来设计,采用b/s设计开发模式,其中通信过程采用类序列化进行发送和接受,后台处理时,配合hibernate,spring,springmvc等开源企业应用开源框架操作数据库,并用p6spy全程监控记录sql处理。开发过程与成果应符合GB/T11457-1995软件工程术语,GB/T8567-1988计算机软件产品开发文件编制指南等。3.2.1教师管理系统总体结构图绘制系统结构图的过程,实际上就是对系统功能模块进行分解设计的过程,即合理地将数据流程图转变为所需要的系统结构图。系统结构图将会使读者和用户能直观的了解系统的结构模式,理解系统的各个功能的结构,能很好地方便用户使用和理解整个系统。3.2.2用户模块功能(1)用户登录(2)修改个人密码(3)个人信息维护(4)教师信息管理(5)教师信息查询(6)教师工资管理(7)教师工资查询(8)安全退出4程序设计与编码4.1开发平台与工具4.1.1java平台Java平台即由Java编程语言所撰写的软件赖以执行的平台,是Java软件和电脑系统的中介,最初被设计用在 Applet 等桌面端程式,不过后来逐渐转移到伺服端的运用由Java虚拟机和Java核心类所构成。它为纯Java程序提供了统一的编程接口,而不管下层操作系统是什么。java是一个可以在不同操作系统(例如windows,unix等)上运行的编程语言,java平台是指运行在各种终端(如pc、服务器、移动设备、嵌入式设备)的系统软件。PC机上的java程序是用javaSE开发出来的,服务器端的java程序是用javaEE开发出来的,移动设备的java程序是用javaME开发出来的。Java 执行环境,即 JavaRuntimeEnvironment,简称为 JRE,是在任何平台上运行 Java 编写的程序都需要用到的软件。终端用户可以以软件或者插件方式得到和使用 JRE。Sun 公司还发布了一个 JRE 的更复杂的版本,叫做JDK,即 Java2 开发包,里面包含了 Java 需要的编译器、参考文档和调试器等本程序就是由javaee开发出来的。使用了B/S结构,同时在myeclipse8.5应用平台上开发,打包。MyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。4.1.2数据库本系统中采用了mysql数据库,在程序设计时,使用了开源的hibernate项目与之进行数据连接以及处理。MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。3.为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4.支持多线程,充分利用CPU资源。5.优化的SQL查询算法,有效地提高查询速度。6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。7.提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。8.提供TCP/IP、ODBC和JDBC等多种数据库连接途径。9.提供用于管理、检查、优化数据库操作的管理工具。10.支持大型的数据库。可以处理拥有上千万条记录的大型数据库。11.支持多种存储引擎。12.Mysql是开源的,所以你不需要支付额外的费用。13.MySQL使用标准的SQL数据语言形式。14.Mysql对PHP有很好的支持,PHP是目前最流行的Web开发语言。15.Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。4.1.3开源项目(1)HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Spring强大的基于JavaBeans的采用控制反转(InversionofControl,IoC)原则的配置管理,使得应用程序的组件更加快捷简易。一个可用于从applet到JavaEE等不同运行环境的核心Bean工厂。数据库事务的一般化抽象层,允许宣告式(Declarative)事务管理器,简化事务的划分使之与底层无关。内建的针对JTA和单个JDBC数据源的一般化策略,使Spring的事务支持不要求JavaEE环境,这与一般的JTA或者EJBCMT相反。JDBC抽象层提供了有针对性的异常等级(不再从SQL异常中提取原始代码),简化了错误处理,大大减少了程序员的编码量.再次利用JDBC时,你无需再写出另一个'终止'(finally)模块.并且面向JDBC的异常与Spring通用数据访问对象(DataAccessObject)异常等级相一致.以资源容器,DAO实现和事务策略等形式与Hibernate,JDO和iBATISSQLMaps集成。利用众多的反转控制方便特性来全面支持,解决了许多典型的Hibernate集成问题.所有这些全部遵从Spring通用事务处理和通用数据访问对象异常等级规范.灵活的基于核心Spring功能的MVC网页应用程序框架。开发者通过策略接口将拥有对该框架的高度控制,因而该框架将适应于多种呈现(View)技术,例如JSP,FreeMarker,Velocity,Tiles,iText以及POI。值得注意的是,Spring中间层可以轻易地结合于任何基于MVC框架的网页层,例如Struts,WebWork,或Tapestry。提供诸如事务管理等服务的面向方面编程(AOP)框架。springmvcSpringMVC属于SpringFrameWork的后续产品,已经融合在SpringWebFlow里面。Spring框架提供了构建Web应用程序的全功能MVC模块。使用Spring可插入的MVC架构,可以选择是使用内置的SpringWeb框架还可以是Struts这样的Web框架。通过策略接口,Spring框架是高度可配置的,而且包含多种视图技术,例如JavaServerPages(JSP)技术、Velocity、Tiles、iText和POI。SpringMVC框架并不知道使用的视图,所以不会强迫您只使用JSP技术。SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。开发系统用的系统工具如表4.1所示:表4.1系统开发平台和工具工具名称用途JDK1.6.0_16EclipseMySQLHibernateP6spySpring3SpringMVC3Java开发工具包java集成开发环境关系数据库管理系统第三方插件,方便快捷的用于数据库开发全程跟踪记录数据库运行以及执行情况面相切面编程,控制反转请求拦截器,自动注入4.2程序设计4.2.1程序设计概述该网站整合了hibernate,springmvc3,spring3等流行企业开源框架,对于程序开发以及未来的维护起到了十分便利的作用。由springmvc负责页面请求的拦截,通过spring进行分配到相印的操作,分配后,由hibernate负责进行数据库的操作,将结果集返回给前台页面,同时,p6spy来代理jdbc,全程追踪并打印出了sql语句,方便后台管理员查看。这样的设计与实际应用中没有任何的偶合性,除了在配置中将驱动改成p6spy的拦截驱动,程序中其他地方不需要任何的改变。它所带来的好处,相对于几乎可忽略不计的性能下降是十分巨大的。4.2.2数据库与服务器端的连接通过hibernate与spring的结合,程序中所有的直接对数据库的操作都被配置在了beans.xml中.服务器租用的存储非常重要的,这个我想大家都知道,硬盘作为服务器的主要存储设备,硬盘是一种技术含量高、制造精密的设备,服务器硬盘已经达到1万转以上,普通的SATA硬盘也非常接近这个转速,在实际的应用中,一点小问题都可能造成服务器硬盘的故障,所以一般服务器租用都采用Raid磁盘阵列存储,这样就可以增加服务器硬盘的抗故障能力。二、除了以上的方法外,对于一些重要的数据还要进行实时的备案,推荐企业用户、商务用户架构的网络服务器,选用磁带机配合专业备份软件(VeritasNetbackup、CAArcserver),定时进行备份,如果条件允许的话最好能每天备份。三、因为个人的错误操作原因,导致服务器文件不小心被删除或者丢失的话,可在网上下载一些恢复软件(DataRecove,Easyrecove等)尝试来进行恢得,当然,做之前可以先用Ghost软件做个磁盘全备份,同时在恢复时最好是接从盘。如果你对自己的恢复结果不满意,还可以到电脑城找专业的数据恢复公司帮你进行硬盘数据恢复。四、要经常关心服务器的运行状况,对于服务器的指示和警示灯要多留意。一般来讲,服务器租用外观都有每一块硬盘指示灯,正常情况下一般会是绿色,指示灯出现特殊情况时,就需要采用相关措施,仔细检查硬盘设备是否正常。一旦硬盘受损或者出现故障,不要擅自处理,要找有经验的技术人员作出详细检查再作处理方案。优缺点(1)减少编程量数据库服务器提供了用于数据操纵的标准接口API。(2)数据库安全保证好数据库服务器提供监控性能、并发控制等工具。由DBA统一负责授权访问数据库及网络管理。(3)数据可靠性管理及恢复好数据库服务器提供统一的数据库备份和恢复、启动和停止数据库的管理工具。(4)充分利用计算机资源数据库服务器把数据管理及处理工作从客户机上分出来,使网络上各计算机的资源能各尽其用。(5)提高了系统性能能大大降低网络开销。协调操作,减少资源竞争,避免死锁。提供联机查询优化机制。(6)便于平台扩展多处理器(相同类型)的水平扩展。垂直扩展:服务器可以移植到功能更强的计算机上,不涉及处理数据的重新分布问题。主要的硬件构成仍然包含如下几个主要部分:中央处理器、内存、芯片组、I/O总线、I/O设备、电源、机箱和相关软件。这也成了我们选购一台服务器时所主要关注的指标。整个服务器系统就像一个人,处理器就是服务器的大脑,而各种总线就像是分布与全身肌肉中的神经,芯片组就像是脊髓,而I/O设备就像是通过神经系统支配的人的手、眼睛、耳朵和嘴;而电源系统就像是血液循环系统,它将能量输送到身体的所有地方。对于一台服务器来讲,服务器的性能设计目标是如何平衡各部分的性能,使整个系统的性能达到最优。如果一台服务器有每秒处理1000个服务请求的能力,但网卡只能接受200个请求,而硬盘只能负担150个,而各种总线的负载能力仅能承担100个请求的话,那这台服务器得处理能力只能是100个请求/秒,有超过80%的处理器计算能力浪费了。在信息系统中,服务器主要应用于数据库和Web服务,而PC主要应用于桌面计算和网络终端,设计根本出发点的差异决定了服务器应该具备比PC更可靠的持续运行能力、更强大的存储能力和网络通信能力、更快捷的故障恢复功能和更广阔的扩展空间,同时,对数据相当敏感的应用还要求服务器提供数据备份功能。而PC机在设计上则更加重视人机接口的易用性、图像和3D处理能力及其他多媒体性能。表示所有hibernate的映射的类都被spring进行了读取。所有的Hibernate映射均采用Annotation映射。HibernateAnnotation关系映射的几种类型映射用法及使用方法(说明:以前实例的实体是user和role,主键分别是userid和roleid)1)一对一外键关联映射(单向)@OneToOne(cascade=CascadeType.ALL)

//一对一外键关联,使用@OneToOne,并设置了级联操作@JoinColumn(name="userid",unique=true)

//@JoinColum设置了外键的名称为userid(数据库字段名),如果不设置,则默认为另一类的属性名+_id。外键的值是唯一的(unique),不可重复,与另一类的主键一直

2)一对一外键关联映射(双向)@OneToOne(mappedBy="

role",cascade=CascadeType.ALL)

//一对一双向关联关系,使用@OneToOne。注意:需要加上mappedBy="role",如果不加上的话,

role

也会生成一个外键(user_id),mappedby="role"需要指向与他关联对象的一个属性,说明双向关联关系中,有且仅有一端是作为主体(owner)端存在的,主体端负责维护联接列,对于不需要维护这种关系的从表则通过mappedBy属性进行声明,mappedBy的值指向主体的关联属性//规律:只有是双向关联关系,都加上mappedby,cascade=CascadeType.ALL级联

3)一对一主键关联映射(不重要)在实际中很少用,使用注解@PrimaryKeyJoinColumn,意思是说,我的主键去参考另外一张表中的主键,作为我的主键,但是在我测试使用注解一对一主键关联映射,在生成表的时候,数据库中并没有生成关联,使用XML映射可以生成。Annotation注解一对一主键关联映,有些bug。不过没空去研究它。因为在实际开发中一对一很少用。在实际开发中我机会没有用过,主键关联就更少了4)多对一关联映射多端配置@ManyToOne(targetEntity=role.class)

//多对一注解@ManyToOne;targetEntity指定了关联对象@JoinColumn(name="userid")

//@JoinColumn(name="userid")指定生产的外键的字段名,默认是org_id5)一对多关联映射(单向)@OneToMany

//一对多注解@OneToMany(单向),如果只写@OneToMany的话,hibernate会建一张中间表来维护他们之间的关系@JoinColumn(name="roleid")

//加上@JoinColumn(name="roleid"),则不会建中间表,他会在多的一端加上外键roleid,来维护他们之间的关系6)一对多关联映射(双向)一端配置@OneToMany(mappedBy="role")

//一对多双向,在一的一端中设置mappedBy,说明多的一端为主导@JoinColumn(name="roleid")

//如果指定了外键字段名称,则多的一端也需要指定相同的字段名称多端配置@ManyToOne

//一对多双向@JoinColumn(name="

roleid

")//需要指定外键与一的一端给的外键名称一致,@JoinColumn(name="

roleid

"),也可以不指定,如果在多的一端不指定,则一的一端也不能指定,否则为生成两个外键7)多对多关联映射(单向)@ManyToMany

//多对多映射:注解@ManyToMany(单向),默认情况下,hibernate会自动的创建一张中间表来维护多对多关系

默认中间表的名称:user_role中间表,字段的名称user_idrole_id,如果想更换表名和字段名称,注解如下:@JoinTable(name="t_u_r",joinColumns={@JoinColumn(name="u_id")},inverseJoinColumns={@JoinColumn(name="r_id")})8)多对多关联映射(双向)user端@ManyToMany

//多对多映射:注解@ManyToMany(单向);默认情况下,hibernate会自动的创建一张中间表,来维护多对多关系;默认中间表的名称:user_role中间表,字段的名称user_idrole_id如果想更换表名和字段名称,注解如下:@JoinTable(name="t_u_r",joinColumns={@JoinColumn(name="u_id")},inverseJoinColumns={@JoinColumn(name="r_id")})

//@JoinTable(name="t_u_r"),指定中间表的表名;joinColumns={@JoinColumn(name="u_id")},指定当前对象的外键;inverseJoinColumns={@JoinColumn(name="r_id")},指定关联对象的外键role端@ManyToMany(mappedBy="role")

//多对多,双向关联映射下面的则是springmvc对请求拦截的配置,例如所有的请求都被拦截,并进行了自动分配。在网络技术中,端口(英文Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。我们这里所说的端口,不是计算机硬件的I/O进出端口,而是软件形式上的概念。服务器可以向外提供多种服务,比如,一台服务器可以同时是WEB服务器,也可以是FTP服务器,同时,它也可以是邮件服务器。为什么一台服务器可以同时提供那么多的服务呢?其中一个很主要的方面,就是各种服务采用不同的端口分别提供不同的服务,比如:WEB采用80端口,FTP采用21端口等。这样,通过不同端口,计算机与外界进行互不干扰的通信。我们这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。内网的一台电脑要上因特网对外开放服务或接收数据,都需要端口映射。端口映射分为动态和静态。动态端口映射:内网中的一台电脑要访问网站,会向NAT网关发送数据包,包头中包括对方网站IP、端口和本机IP、端口,NAT网关会把本机IP、端口替换成自己的公网IP、一个未使用的端口,并且会记下这个映射关系,为以后转发数据包使用。然后再把数据发给网站,网站收到数据后做出反应,发送数据到NAT网关的那个未使用的端口,然后NAT网关将数据转发给内网中的那台电脑,实现内网和公网的通讯.当连接关闭时,NAT网关会释放分配给这条连接的端口,以便以后的连接可以继续使用。动态端口映射其实也就是NAT网关的工作方式。静态端口映射::就是在NAT网关上开放一个固定的端口,然后设定此端口收到的数据要转发给内网哪个IP和端口,不管有没有连接,这个映射关系都会一直存在。就可以让公网主动访问内网的一台电脑。后台接收到请求后的处理如下:首先,如果你是在地址栏里输入参数时,意味着数据是伴随着消息头传递过去的,就是用get方法传递数据的。浏览器会自动将其转换成十六进制编码。

其次,后台接收的时候只能用request.getParamerter("")取值。

此时如果你的web服务接收数据时默认的字符集是Iso-8859-1,那么

第一种办法:

Stringtest=req.getParameter("test");

test=newString(test.getBytes("iso-8859-1"),浏览器编码格式);

你就可以获取到中文了。

第二种办法:

Stringqs=req.getQueryString();//直接获取到十六进制数据(十六进制的格式是:%xy)

qs=URLDecoder.decode(qs,浏览器编码格式);//翻译十六进制的字符串spring在英文里有春天、弹簧、跳跃和泉眼的意思。Spring也表示是一个开源框架,是为了解决企业应用程序开发复杂性由RodJohnson创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopmentandDesign中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。强大的基于JavaBeans的采用控制反转(InversionofControl,IoC)原则的配置管理,使得应用程序的组件更加快捷简易。一个可用于从applet到JavaEE等不同运行环境的核心Bean工厂。数据库事务的一般化抽象层,允许宣告式(Declarative)事务管理器,简化事务的划分使之与底层无关。内建的针对JTA和单个JDBC数据源的一般化策略,使Spring的事务支持不要求JavaEE环境,这与一般的JTA或者EJBCMT相反。JDBC抽象层提供了有针对性的异常等级(不再从SQL异常中提取原始代码),简化了错误处理,大大减少了程序员的编码量.再次利用JDBC时,你无需再写出另一个'终止'(finally)模块.并且面向JDBC的异常与Spring通用数据访问对象(DataAccessObject)异常等级相一致.@Resource表示自动注入,程序员通过spring的自动注入,省去了自行创建,并对属性set的操作。上面这句表示,如果有名为login的action对象,则会进行后面的程序操作。当操作成功,会跳转到index.jsp返回的success是种状态会被拦截器拦截到,并行执行跳转的任务。第29页共29页5系统测试5.1系统测试目的与意义系统测试是管理信息系统开发周期中一个十分重要而漫长的的阶段。其重要性体现在他是保证系统质量与可靠性的最后关口,是对整个系统开发过程包括系统分析、系统设计和系统实现的最终审查。系统测试的任务是尽可能彻底的检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统“做得怎样”。这这阶段又可以分为三个步骤:模块测试,测试每个模块的程序是否正确;组装测试,测试模块之间的接口是否正确;确认测试,测试整个软件系统是否满足用户功能和性能的要求。测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。是基于系统整体需求说明书的黑盒测试,应覆盖系统随偶联合的部件,系统测试是正对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出需求规格不符合或与之矛盾的地方。系统测试是为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误的测试。测试的目的就是希望能以最少的人力和时间发现潜在的各种错误和缺陷。应根据开发各阶段的需求、设计等文档或程序的内部结构精心设计测试用例,并利用这些实例来运行程序,以便发现错误。信息系统测试应包括软件测试、硬件测试和网络测试。硬件测试、网络测试可以根据具体的性能指标来进行,此处所说的测试更多的是指软件测试。系统测试是保证系统质量和可靠性的关键步骤,是对系统开发过程中的系统分析系统设计和实施的最后复查。根据测试的概念和目的,在进行信息系统测试时应遵循以基本原则。应尽早并不断地进行测试。测试不是在应用系统开发完之后才进行的。由于原始问题的复杂性、开发各阶段的多样性以及参加人员之间的协调等因素,使得毛开发各个阶段都有可能出现错误。因此,,测试应贯穿在开发的各个阶段,尽早纠正错误,消除隐患。测试工作应该避免由原开发软件的人或小组承担,一方面,开发人员往往不愿召认自己的工作,总认为自己开发的软件没有错误;另一方面,开发人员的错误很难由本人测试出来,很容易根据自己编程的思路来制定测试思路,具有局限性。测试工作应由专门人员来进行,这样会更客观,更有效。设计测试方案的时候,不仅要确定输入数据,而且要根据系统功能确定预期的输出结果。将实际输出结果与预期结果相比较就能发现测试对象是否正确。在设计测试用例时,不仅要设计有效合理的输入条件,也要包含不合理、失效的输入条件。测试的时候,人们往往习惯按照合理的、正常的情况进行测试,而忽略了对异常、不合理、意想不到的情况进行测试,而这些可能就是隐患。在测试程序时,不仅要检验程序是否做了该做的事,还要检验程序是否做了不该做的事。多余的工作会带来副作用,影响程序的效率,有时会带来潜在的危害或错误

。严格按照测试计划来进行,避免测试的随意性。测试计划应包括测试内容、进度安排、人员安排、测试环境、测试工具和测试资料等。严格的按照测试计划可以;认证进度,使各方面都得以协调进行。妥善保存测试计划、测试用例,作为软件文档的组成部分,为维护提供方便。测试用例都是精心设计出来的,可以为重新测试或追加测试提供方便。当纠正锱前的测试用例,或在其基础上修改,然后进行测试。测试是开发过程中一个独立且非常重要的阶段,测试过程基本上与开发过程平行。一个规范化的测试过程通常包括以下基本的测试活动。(1)拟定测试计划。在制定测试计划时,要充分考虑整个项目的开发时间和开发进度以及一些人为因素和客观条件等,使得测试计划是可行的。测试计划的内容主要有测试的内容、进度安排、测试所需的环境和条件、测试培训安排等。(2)编制测试大纲。测试大纲是测试的依据。它明确详尽地规定了在测试中针对系统的每一项功能或特性所必须完成的基本测试项目和测试完成的标准。(3)根据测试大纲设计和生成测试用例。在设计测试用例的时候,可综合利用前面介绍的测试用例和设计技术,产生测试设计说明文档,其内容主要有被测项目、输人数据、测试过程、预期输出结果等。(4)实施测试。测试的实施阶段是由一系列的测试周期组成的。在每个测试周期中,测试人员和开发人员将依据预先编制好的测试大纲和准备好的测试用例,对被测软件或设备进行完整的测试。(5)生成测试报告。测试完成后,要形成相应的测试报告,主要对测试进行概要说明,列出测试的结论,指出缺陷和错误,另外,给出一些建议,如可采用的修改方法,各项修改预计的工作量及修改的负责人员。5.2测试过程在测试之初,由于将数据库中的数据是随便输入,没有实用性,为了使系统更加完善,在系统测试的过程中,本系统将一开始编程随便输入的数据全部清理后,输入了一些有效的测试数据,这样可以更真实的反映系统的功能实现情况。这样不断发现问题,经过反复的测试、调试,把问题一个个的解决,最终系统可以正常运行。5.2.1主页面的登录模块测试测试流程:1.打开系统首页,输入错误的登录信息2.登录3.输入正确的登录信息4.登录5.测试结果表5.1模块名称测试用例预期结果实际结果是否通过登录模块用户名:null密码:null弹出错误提示,请输入用户名登陆失败,提示请输入用户名通过登录模块用户名:m1密码:null弹出错误提示,请输入密码失败,提示输入密码通过登录模块用户名:m1密码:1弹出错误提示,用户名或者密码错误登陆失败,提示用户名或者密码错误通过5.3其他错误MyEclipse,虽然是一个耗大内存的IDE,但是还是比较适合初次接触J2EE新手轻松上手的工具。在这里,它的好处就不作说明了。但是,有时候我们第一次装了MyEclipse后又卸了然后重装会发现在装完最后一刻就会跳出悲剧的字符:error,鉴于本人第二次重装成功,顾总结下解决的经验分享大家。首先,要想重装软件成功,那么成功的必要条件是系统不存在该软件的余孽,也就是卸不干净就会导致重装不成功。有些使用者会很纳闷:1、我明明点了MyEclipse的Uninstall,怎么会卸不干净呢?我还把卸载完后剩下的文件删除了呢...拓展下普通安装型软件的干净卸载途径:1、点击该软件目录下的Uninstall的应用程序;2、打开注册表,找到它的位置,直接删除(JDK的卸载法)。奇葩的是,我们在注册表下找不到任何关于MyEclipse的记录。所以,第二种对于MyEclipse的卸载是不可行的。只能先用第一种,然后手动删除关于MyEclipse的任何文件。那么关于MyEclipse的其他文件是什么呢?细心的使用者会发现,MyEclipse安装的面板左下角会有灰色的字样“Powerbypulse”。它是什么呢?个人总结下,Pulse是管理MyEclipse安装和插件升级的软件。当我们启动MyEclipse的时候,右下角总会有个%的进度条,这就是它工作的表现。所以,安装完MyEclipse时,除了会产生MyEclipse应用程序,还会自动安装Pulse。装Pulse的时候是我们无法控制的,所以一般没注意到它的存在的使用者是不会发现它在哪存放着。除了某些情况某些机子可以在window->p(所有程序)里找到它的所在,一般是无法看到它的。说了这么多,总结一句话:安装完MyEclipse不仅有MyEclipse应用程序,还会有Pulse。二者合二为一,缺了其中一个用倒还没证明有什么不正常,但是重装绝对会出莫名其妙的问题。它又在哪里呢?

这位神秘的辅助者就藏在一般用户都不想碰的盘--系统盘(C)下。

C--|

|--programefiles

|--Genuite

|--Common

|--PulseExplorer点开PulseExplorer,在configuration里,会发现有Uninstall.exe。个人建议删除Pulse的不要点它,直接删除了Genuitec文件夹即可当然,它可不会只关联这一个文件哦!安装完MyEclipse后,程序会自动打开MyEclipse,那么就会在C的当前用户目录下产生一些类似配置的关联文件,我们也要删除它。那么它在哪里呢?

C--|

|--DocumentsandSettings

|--E.T.Crazy

|--.myeclipse

|--.pulse2.locator把有关MyEclipse和pulse字眼的文件即可。(在当前用户目录下,你是不是发现了有些熟悉的字眼吖...呵呵)至此,只要你【卸干净MyEclipse所在的文件夹

+

删除Genuite(包含Common和Pulse)

+

删除当前

温馨提示

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

评论

0/150

提交评论