版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安欧亚学院本科毕业论文(设计)题目:高校教师工作量统计系统的设计与实现学生姓名:汪金蓉指导教师:李梅所在分院:信息工程学院专业:计算机科学与技术班级:统本计科0901班二O一三年四月高校教师工作量统计系统的设计与实现
摘要:本教师工作量统计系统是使用MyEclipse和SQLServer2005数据库共同来完成的,采用面向对象方法,对教师工作量统计系统进行设计与实现。通过不断地调研和对课题要求的分析,设计了教师工作量统计系统的静态模型和动态模型,完成了系统开发的分析、设计和实现工作。为了提高高校教务人员对教职工上课课时量的统计工作的效率,设计了本教师工作量的统计系统,该系统通过Web方式完成用户与系统的交互,系统的功能模块具体有教师工作量的统计模块,教师信息管理模块、教师请假补课管理模块、系统用户管理模块等。本系统的开发主要采用JSP技术,因为它可以跨平台使用,性能比ASP好,并且安全性高。关键词:教师工作量统计系统;系统;JSP;SQLDesignandimplementationofUniversityTeachers'workloadstatisticssystemAbstract:TheteacherworkloadstatisticssystemistheuseofMyEclipseandSQLServer2005databasearefinishedjointly,byusingobjectorientedmethod,tothedesignandimplementationofteacherworkloadstatisticssystem.Throughcontinuousresearchandanalysisoftheprojectrequirements,designastaticmodelofteacherworkloadstatisticssystemanddynamicmodel,completedtheanalysisanddesign,systemdevelopmentwork.Inordertoimprovetheefficiencyofeducationaladministrationpersonnelintheuniversityteachingstaffofclasshoursofthestatisticalwork,thestatisticalsystemdesigntheworkloadofteachers,completeuserinteractionwiththesystemthesystemthroughtheWebstatisticalmodule,systemfunctionmodulesspecificworkloadofteachers,teacherinformationmanagementmodule,theteacherforremedialmanagementmodule,usermanagementsystemmoduleetc..ThedevelopmentofthissystemmainlyusestheJSPtechnology,becauseitcanbeusedindifferentplatforms,performanceisbetterthanASP,andhighsafety.Keywords:Theteacherworkloadstatisticssystem;system;JSP;SQL目录TOC\o"1-3"\f\u1绪论 11.1论文研究背景与意义 11.2国内外研究状况 21.3本课题研究内容与目标 22开发环境和相关技术介绍 32.1开发工具介绍 32.1.1Java语言的特点 32.1.1SQLServer2005简介 32.2本系统采用的关键技术 42.2.1JSP技术 42.2.2JavaBean技术 42.2.3JDBC技术 52.2.4用纯JDBC访问数据库 53系统分析 63.1系统综合概述 63.2可行性分析 63.2.1系统可行性分析 63.2.2系统主要功能分析 63.2.3系统的开发工具与运行环境 74教师工作量统计系统设计 84.1系统需求分析 84.2系统概要设计 84.3后台数据库设计 10数据库需求分析 104.3.2数据库表设计 135系统实现 165.1连接数据库实现 165.2系统功能模块的实现 195.2.1系统主界面的实现 195.2.2管理员登录界面的实现 19教师注册界面的实现 21教师登录界面的实现 235.2.5教师用户信息管理功能的实现 245.2.6教师查询工作量功能的实现 255.2.7系统用户管理功能的实现 335.2.8课程信息管理功能的实现 355.2.9教师用户管理功能的实现 365.2.10网站公告管理功能的实现 385.2.11教师工作量管理功能的实现 405.2.12教师请假管理功能的实现 465.2.13教师补课管理功能的实现 486系统调试与测试 506.1程序调试 506.2程序的测试 506.2.1测试的步骤 506.2.2测试的主要内容 507结论 517.1系统评价 517.2经验与收获 51致谢 52参考文献 531绪论1.1论文研究背景与意义现如今,计算机技术飞速发展,数据信息化管理越来越多的应用到各大型企业管理中。随着计算机应用的普及,利用计算机实现教师工作量统计的智能化、自动化势在必行。计算机的使用,使我们从繁杂的事务中解放出来作,大大提高了我们的工作效率。目前,许多高校教师工作量的统计还处于传统的人工统计阶段,效率低下,数据安全性差,稍不慎,数据就会丢失,还无法找回,这使得高校教务管理人员的工作琐碎、复杂,这远远落后于当今社会技术的发展。人工统计的弊端也愈来愈严重,由于不可避免的人为因素,造成数据的遗漏、误报、丢失,而造成高校教师工作量统计工作问题百出。计算机信息化操作有着储存量大、效率高、安全性好等诸多优点,提供给我们的处理信息及时、准确、快捷,同时也提高了统计工作的本身性质。因此我们利用计算机开发软件,做出了这个教师工作量统计系统。教师工作量统计系统是实现各大高校教务人员智能化统计教师工作量不可缺少的一部分,是适应现在高校管理信息化的要求,是推动教师工作量统计走向先进化、科学化、规范化、智能化的必要条件。传统的办公模式主要人工手写为主,在信息技术迅速改革的时代,显然已经远远不能满足高效率、快节奏的现代工作和生活的需要。然而国内大部分高校教师工作量的统计方式仍然选择较为传统的人工统计,这将产生大量的数据表,这样既不便于统计、管理,还不方便查询。MIS是集计算机技术、网络通信技术为一体的信息系统工程,能使教师工作量统计运行的数据更加准确、及时、全面,同时对各种信息进一步地加工,使教务人员对教师工作量统计的决策依据更加的充分,教师工作量能快速、准确统计,不但有利于教师工资的结算,还大大方便了教师评职称时查询工作总量的需要。同时也进一步加强了教师工作量统计的科学化、合理化、制度化、规范化,为教师工作量的管理水平跨上新台阶,为教师工作量统计智能化持续、健康、稳定的发展打下坚实的基础。MIS跨越了若干个领域,比如管理科学、系统科学以及计算机科学等。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。在强调效率、信息、准确、安全的现代社会中,它已经变得越来越普及。如今,国内使用和发展的MIS平台模式大体分两种,一种是教师信息机/服务器(C/S)模式,另一种则是Web浏览器/服务器(B/S)模式。本论文主要介绍一个简单的基于B/S模式的教师工作统计系统的设计与实现,系统的开发教师工作量统计能实现教师工作量统计的系统化、规范化和自动化。1.2国内外研究状况1.国内研究现状现在,各企业已经逐步使用工作量统计软件对员工的工作量进行统计,然而在大部分高校,还依然采用较为传统的手工方式,使用Excel表格对教师每天的工作量进行统计。然而使用Excel表格存在着很多缺陷,如教务人员录入授课教师工作量,时间一长,加之教职员工的增加,将产生大量教师工作量的统计数据表,这样既不方便管理、保存,也不方便查询,而且还容易丢失。教师想要查阅自己的工作量,必须找教务人员才能得到自己想要的数据,教务人员查询起来既麻烦、费时,还不能保证其准确性。这些都大大加重了教务人员的工作负担。因此,我们需要设计实现一个高校教师工作量的统计软件。国外研究现状如今,在国外,计算机的使用已经普及到每个人的工作、生活,教师工作量统计系统软件的开发,也受到各大高校管理部门的推崇。高校教师工作量统计系统的高效性、可靠性高、存储量大等优点,使得它备受各高校的青睐。各大高校均已使用系统软件对教师工作量进行统计。随着计算机信息技术的不断更新,高校教师工作量的统计系统已经非常稳定、可行性、安全。1.3本课题研究内容与目标高校教师教学工作量管理系统用于完成教师各种教学数据管理、浏览查询以及工作量计算功能。本系统软件除了能够统计并查询出教师上课的总课时,以及请假、补课等情况,教师用户的注册和新管理员的添加,离职教师信息的删除,同时还增加了将教师工作量的查询结果进行打印预览、打印、直接导入Excel表中等功能。本系统使用MyEclipse平台、SQLServser2005开发环境完成设计。设计的主要目标是了解并掌握MyEclipse与数据开发的流程和应用,能够运用软件工程思想设计开发软件。2开发环境和相关技术介绍2.1开发工具介绍2.1.1Java语言的特点Java是由Sun公司推出的高级编程语言,该语言能生成正确运行于各种操作系统、各种CPU芯片上的代码。而且Java也提供了许多以网络应用为核心的技术,使得Java特别适合于网络应用软件的设计与开发。Java的一个最重要的特点是支持可视化的图形界面。作为一种程序设计语言,Java有着简单、面向对象、网络化、可移植、高性能、健壮、安全等重要特性。下面就简单说明这几个特性:1、简单:Java舍弃了C或者C++语言中一些很少使用、难以掌握或安全性低的功能,并将开发人员常使用的特性进行简化,使之更加容易使用,比如字符串在Java中的使用就变得更为简单了。2、面向对象:对象和消息组成程序,支持封装、多态性和继承。3、提供强大的网络支持。4、提供丰富、功能强大的类库:常用的包有java.util,java.lang,java.io,java.sql。5、可移植性:是指在系统上做的程序经过一次编译后,可以移植到别的系统上解释执行,只需复制、粘贴,不必人工反复编写。而程序效果不会受任何影响。6、安全:是指在iSeries服务器上运行的大多数Java(TM)程序都是应用程序。Java是一门纯粹的面向对象的语言,其面向对象的核心思想就是对象,而对象表示现实世界中的实体。面向对象就是采用“现实模拟”的方法设计开发程序的。面向对象技术利用“面向对象的思想”去描述“面向对象的世界”,使得代码的重用性、可靠性更高,这大大提高了软件开发的效率。
2.1.2SQLServer2005简介SQLServer是Microsoft公司的数据库产品,MicrosoftSQLServer脱胎于SybaseSQLServer,它是一个关系数据库管理系统(DBMS)。DBMS是一种由互相关联的数据集和一组访问数据的程序构成的系统软件。该数据集称为数据库,DBMS的基本目标是提供一个可方便、有效存取数据库信息的环境,它的主要功能是维护数据库,并有效访问数据库中各部分的数据。数据库系统(DBS)是一个实际可运行的软件系统,它通常由数据库、软件和数据库管理员组成,是存储介质、处理对象和管理系统共同组成的集合体,对系统提供的数据进行存储、维护、应用。SQLServer2005数据引擎是本课题设计的教师工作量统计系统数据管理解决方案的核心。除此之外,SQLServer2005结合了分析、报表、集成和通知功能。SQLServer2005的强大功能大大提高了各用户的效益,有利于各大企业的数据管理。它使得企业数据管理变得容易、方便,而且还更安全。就以本次设计——高校教师工作量统计系统来说,SQLServer2005数据库的使用,使得教师工作量等信息快速、有效被保存,并且查询、修改、删除信息等操作方便、快捷,数据不易丢失,这大大提高了数据信息的安全性。2.2本系统采用的关键技术2.2.1JSP技术JSP是由Sun公司倡导、许多公司共同参与一起建立起来的一种动态网页技术,它编写简单,适应平台宽广,它具有易管理、易维护和跨平台的等优点,非常适合构造基于B/S结构的动态网页。什么是JSP呢?JSP是指在HTML中嵌入Java脚本语言,当用户通过浏览器请求访问Web时,Web服务器使用JSP引擎对请求的JSP进行编译和执行,再将生成的页面返回到客户端,显示在浏览器。JSP页面中,表达式、小脚本、声明统称为JSP脚本元素,主要是用于JSP页面中嵌入Java代码,以实现页面的动态请求。一个JSP页面由静态内容、指令、表达式、小脚本、声明、标准动作、注释等七个元素构成。JSP的执行过程是怎样的呢?当JSP提交到服务器时,Web容器会通过以下三个过程实现处理:(1)翻译:Web服务器接收到JSP请求时,首先对JSP文件进行翻译,将其转换为可识别的Java源代码。(2)编译:必须要把Java源文件编译成可执行的字节码文件。(3)执行:Web服务器接收请求后,经过翻译、编译,生成可被执行的二进制字节码文件,开始执行。2.2.2JavaBean技术JavaBean是Java中开发的可跨平台的重用组件,它在服务器的应用中表现出强大的生命力,在JSP程序中常用来封装业务逻辑、数据库操作等。JavaBean实现了代码的复用,并且能够使数据显示和业务逻辑分开。JavaBean实际上就是一个Java类,从其功能上可分为封装数据和封装业务两类。JavaBean一般要满足以下几个要求:JavaBean是一个公有类,并提供无参的公有的构造方法。属性为私有。具有公有的访问属性的getter和setter方法。2.2.3JDBC技术JDBC是Java数据库连接技术的简称,它是由一组使用Java语言编写的类和接口组成可为多种关系数据库提供统一访问。Connection接口有两种常用的驱动方式,一种是JDBC-ODBC桥方式,这种方式只适用于个人开发与测试,它是通过ODBC与数据库连接。另一种就是纯Java驱动方式,这种方式直接同数据库进行连接,必须安装第三方软件提供的驱动程序。纯JDBC驱动一般只能由数据库厂商自己提供,因为这类JDBC驱动只对应一种数据库,甚至只对应某一个版本的数据库。本次系统开发使用的是纯Java方式连接数据库,即由JDBC驱动直接访问SQLServer2005数据库,其驱动程序完全使用的Java语言编写,这使得工作量统计系统运行速度快,并且它还具备了跨平台的特点。2.2.4用纯JDBC访问数据库本系统所有的数据库的对象和方法都在java.sql.*里面,所以首先必须要importjava.sql.*。其具体步骤如下:加载JDBC驱动。使用Class.forName()方法将给定的JDBC驱动类加载到Java虚拟机中。Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver")//JDBC的驱动程序。与数据库建立连接。DriverManage类是JDBC的管理层,作用于用户和驱动程序之间。DriverManage类跟踪可用的驱动程序,并建立数据库和相应的驱动程序之间的连接。当调用getConnection()方法时,DriverManage类首先从已加载的驱动程序列表中找到一个可接受gzl数据库URL的驱动程序,然后再请求该驱动程序使用的URL。要想连接一个指定的数据库,必须创建Connection类的一个实例。Conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databasename=gzl","sa","sasa");stmt=conn.createStatement();该系统开发使用到的数据库名称是直接在microsoft设置控制面板中输入的,命名为“gzl”,登录名为“sa”,登录密码为“sasa”。发送SQL语句,得到结果返回。建立连接后,就使用该连接创建Statement接口的对象,并将SQL语句传递给它所连接的数据库。若是查询操作,将返回类型为ResultSet的结果集。处理返回结果。(5)数据库访问结束后,释放资源。3系统分析3.1系统综合概述本系统采用Java作为前台开发工具,用SQLServer2005建立后台数据库。本系统的主要功能通过管理者或用户对各功能模块的操作,实现对教师工作量的统计,管理员可以增加、删除、修改、查询以及对教师用户信息的修改。本系统最大的优点就是管理员可以查询教师任意一段时间内的工作量,并直接导出到Excel表格中。数据库采用SQLServer2005来设计,功能强大、操作方便。3.2可行性分析3.2.1系统可行性分析我国大部分高校采用的较为传统的人工统计教师工作量,存在着较多的缺点,如:工作效率很低,时间一长将产生大量的文件和数据,更不便于查询、更新、维护等。随着高校师资的不断壮大,需要的统计的工作量也越来越大,人工统计显然不能满足高效率的统计要求。如今,科学技术不断提高,计算机科学发展也日趋成熟起来,使用先进的计算机技术来代替传统的人工统计方式,来实现现代化的教师工作量统计,已经成为必然。它对高校教师工作量管理有着重大意义。作为计算机应用的一部分,使用计算机对教师工作量进行统计,具有以下几大优点:首先,技术可行性。本系统仅需要一台装有IE浏览器的计算机即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。其次,经济可行性。最后,操作可行性。界面设计清新,操作简单;数据录入迅速、规范、可靠;工作量统计准确;制表灵活;适应力强;容易扩充。3.2.2系统主要功能分析本系统主要是实现用计算机统计教师工作量代替传统的人工统计,使得管理员统计工作实现智能化。主要实现教师对自己工作量的查询,管理员对教师信息及工作量的修改,删除,查询等功能。本系统主要功能有:(1)用户主界面的实现:主要包括教师注册帐号界面、教师登录界面,以及管理员登录界面的实现;(2)教师对登录密码的修改功能的实现;(3)教师工作量查询功能的实现:教师可以查询自己一段时间内所授课程及其课时量;(4)管理员对登录密码的修改功能的实现;(5)管理员添加后台管理用户的功能的实现;(6)管理员对课程信息的管理:管理员可以对课程信息进行发布、修改,删除等功能;(7)管理员对教师工作量的管理:管理员可以对教师工作量进行录入,修改,删除,查询等功能;(8)管理员对教师请假信息的管理:管理员对教师的请假信息的录入,修改,删除等功能;(9)管理员对教师补课信息的管理:实现管理员对教师补课信息的录入,修改,删除等功能。3.2.3系统的开发工具与运行环境操作系统:Windows数据库:SQLServer2005开发语言:Java开发工具:MyEclipse图片处理工具:Photoshop运行的硬件环境:CPU,硬盘,显卡4教师工作量统计系统设计4.1系统需求分析系统权限管理用户信息包括系统用户管理员的帐号、密码、用户类别。系统需对管理员用户帐号以及密码进行验证,只有通过验证后用户才能进入系统。其具体功能需求如下所示:1、系统建设的基本目标(1)管理员用户的登录。(2)新的管理员信息的添加。系统目标功能的实现(1)教师工作量的管理;(2)教师工作量的录入;(3)教师工作量的查询统计。本次系统的设计主要是针对教师所授课时量的统计,其目的是为了方便教务人员统计教师总的课时量,以便于工资的结算,除此之外,也大大方便了教师评职称时对本人近两年工作量统计结果的查询。本系统主要是采用JSP技术完成,管理员信息管理系统内部复杂的逻辑主要通过JavaBean的组件实现,JavaBean组件在浏览器服务器上运行,通过JSP返回到管理员信息浏览器。通过系统用户的管理,采用JSP分页显示数据,使网页内容简洁、大方,系统的可维护性和可扩充性也明显增强。在服务器端,系统使用纯JDBC访问SQLServer2005数据库。本系统使用JSP技术作为表现手段,服务器采用Tomcat7.0.37作为JSP的引擎,管理员信息管理由JavaBean组件完。由于本系统的开发需要一个功能强大的数据库,因此采用了SQLServer2005数据库作为高校教师工作量统计系统的数据库服务器。4.2系统概要设计根据系统的功能需求分析,将本系统划分为以下几大模块:图4-1总体设计各功能描述如下:添加信息的功能:包括教师工作量的添加,网站公告的添加,新的管理员信息的添加,教师请假信息的添加,以及教师补课信息的添加(由管理员完成);(2)修改信息的功能:包括教师用户对自己信息的修改,教师用户登录密码的修改,管理员用户信息的修改,课程信息的修改,管理员对教师信息的修改,网站公告信息的修改,教师请假信息的修改,以及教师补课信息的修改(由用户完成);(3)删除信息的功能:包括员离职教师信息的删除,课程信息的删除,离职管理员信息的删除,网站公告信息的删除,教师请假信息的删除,以及教师补课信息的删除(由管理员完成);(4)查询信息的功能:包括教师用户对自己工作量的查询,可查询自己某一段时间(包括几年内)的工作量,并可以直接打印、打印预览或者导出到Excel表中。管理员对教师工作量的查询,也可查询教师某段时间内(包括几年内)的工作量,可以查出其所授课程以及相应的课时量,并且也可直接打印或者到Excel表中。4.3后台数据库设计根据系统功能的设计要求和模块划分,本系统的数据库主要分为教师登录密码的修改,教师用户基本信息的修改,教师用户工作量的查询,管理员用户信息的管理,课程信息的管理,教师用户的管理,网站公告的管理,教师工作量的管理,教师请假信息的管理,教师补课信息的管理这十个部分。管理员对各项信息的管理功能包括信息的录入、修改和删除、查询。本系统利用SQLServer2005作为后台数据库,首先我们在SQLServer2005企业管理器中新建一个“高校教师工作量统计系统”将要用到的数据库命名为“gzl”,该数据库主要包含七个数据表,分别为:管理员信息表(admin)、公告信息表(affiche)、教师补课信息表(bk)、教师工作信息表(gzl)、教师注册信息表(member)、课程信息表(news),教师请假信息表(qj)。数据库需求分析1.教师用户信息实体:用户帐号、登录密码、真实姓名、性别、身份证号、联系地址、邮箱;教师用户信息实体E-R图:图4-2教师用户实体设计2.管理员用户信息实体:登陆帐号、初始密码、真实姓名、用户性别、用户年龄、联系地址、联系电话,添加日期;管理员用户信息实体E-R图:图4-3管理员用户实体设计3.公告信息实体:序号、标题、发布内容、发布时间、发布人;公告信息实体E-R图:图4-4公告信息实体设计4.教师工作信息实体:编号、教师帐号、课程、时间、课时、教师姓名;教师工作信息实体E-R图:图4-5教师工作信息实体设计教师补课信息实体:教师编号、教师姓名、课题、时间、备注;教师补课信息实体E-R图:图4-6教师补课信息实体设计6.课程信息实体:课程编号、课题、来源、作者、内容、发布日期;课程信息实体E-R图:图4-7课程信息实体设计7.教师请假信息实体:编号、请假老师、主题、时间、备注;教师请假信息实体E-R图:图4-8教师请假信息实体设计数据库中整体E-R图:图4-9整体E-R图4.3.2数据库表设计(1)管理员信息表“admin”表4-1管理员信息表FieldNameDatatypeLenDefaultidint4否usernamenvarchar50否passwordnvarchar50否realnamenvarchar50否sexnvarchar50是agenvarchar50是addressnvarchar50否telnvarchar50否addtimenvarchar50是以上为管理员信息表的设计项目,其中id为主键且为自动生成,不可为空。username、password等信息不能为空。公告信息表“affiche”表4-2公告信息表FieldNameDatatypeLenDefaultidint4否titlenvarchar50否contentnvarchar100否addtimenvarchar50否addernvarchar50否以上为公告信息表的设计项目,其中id为主键且为自动生成,不可为空。title、content等信息不能为空。(3)教师补课信息表“bk”表4-3教师补课信息表FieldNameDatatypeLenDefaultidint4否membernvarchar50是ztnvarchar50是sjnvarchar50是bznvarchar500是以上为教师补课信息表的设计项目,其中id为主键且为自动生成,不可为空。(4)教师工作信息表“gzl”表4-4教师工作信息表FieldNameDatatypeLenDefaultidint4否membernvarchar50是ztnvarchar50是sjdatetime是bzint4是realnamenvarchar50是以上为教师工作信息表的设计项目,其中id为主键且为自动生成,不可为空。教师注册信息表“member”表4-5教师注册信息表FieldNameDatatypeLenDefaultidint4否usernamenvarchar50否passwordnvarchar50否realnamenvarchar50是sexnvarchar50是idcardnvarchar50否addressnvarchar50否emailnvarchar50是regtimenvarchar50是ifusenvarchar50是以上为教师注册信息的设计项目,其中id为主键且为自动生成,不可为空。(6)课程信息表“news”表4-6课程信息表idint4否titlenvarchar50是sourcenvarchar50是zznvarchar50是contenttext是sjnvarchar50是上表为课程信息表的设计项目,其中id为主键,不可为空。教师请假信息表“qj”表4-7教师请假信息表idint4否membernvarchar50是ztnvarchar50是sjnvarchar50是bznvarchar500是以上是教师请假信息表的设计项目,其中id为主键且为自动生成,不可为空。5系统实现5.1连接数据库实现本系统采用JDBC的驱动程序连接数据库SQLServer2005,并使用JavaBean组件,有效的避免了代码的重复,具体过程如下:packagecom.util;importjava.sql.*;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjavax.activation.DataSource;importjava.sql.*;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjavax.naming.Context;importjavax.naming.InitialContext;publicclassDBO{ privateConnectionconn; privateStatementstmt; privateDataSourceds; publicDBO() { } /**打开数据库*/ publicvoidopen() { try { //Class.forName("com.mysql.jdbc.Driver"); //conn=DriverManager.getConnection("jdbc:mysql://localhost/case5","root","sasa");Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); Conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databasename=gzl","sa","sasa"); stmt=conn.createStatement(); System.out.println("打开数据库连接"); } catch(Exceptionex) { System.err.println("打开数据库时出错:"+ex.getMessage()); } } /**关闭数据库,将连接返还给连接池*/ publicvoidclose() { try { // connMgr.freeConnection("java",conn); conn.close(); System.out.println("释放连接"); } catch(SQLExceptionex) { System.err.println("返还连接池出错:"+ex.getMessage()); } } /**执行查询*/ publicResultSetexecuteQuery(Stringsql)throwsSQLException { ResultSetrs=null; rs=stmt.executeQuery(sql); System.out.println("执行查询"); returnrs;} /**执行增删改*/ publicintexecuteUpdate(Stringsql)throwsSQLException { intret=0; ret=stmt.executeUpdate(sql); System.out.println("执行增删改"); returnret; } /** 将SQL语句加入到批处理*/ publicvoidaddBatch(Stringsql)throwsSQLException { stmt.addBatch(sql); } /** 执行批处理*/ publicint[]executeBatch()throwsSQLException { booleanisAuto=conn.getAutoCommit(); conn.setAutoCommit(false); int[]updateCounts=stmt.executeBatch(); // mit(); // conn.setAutoCommit(isAuto); //conn.setAutoCommit(true); returnupdateCounts; } publicbooleangetAutoCommit()throwsSQLException { returnconn.getAutoCommit(); } publicvoidsetAutoCommit(booleanauto)throwsSQLException { conn.setAutoCommit(auto); } publicvoidcommit()throwsSQLException { mit();// this.close(); } publicvoidrollBack()throwsSQLException { conn.rollback();// this.close(); } }5.2系统功能模块的实现5.2.1系统主界面的实现以下为本系统的主界面果图,其特点主要是简洁、美观,在主界面上对课程信息、公告信息进行公布:图5-1主界面5.2.2管理员登录界面的实现当登录时,首先出现的是一个用户登陆的界面,主要是维护系统的安全性和完整性。(1)管理员登录前界面如下图所示:图5-2管理员登录界面(2)登录成功后效果图如下所示:图5-3管理员登录成功其功能实现代码如下:publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ response.setContentType(Constant.CONTENTTYPE); request.setCharacterEncoding(Constant.CHARACTERENCODING); Stringdate=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(Calendar.getInstance().getTime()); Stringdate2=newSimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime()); try{ Stringmethod=request.getParameter("method").trim(); ComBeancBean=newComBean(); HttpSessionsession=request.getSession(); if(method.equals("one")){//admin登录 Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); Stringstr=cBean.getString("selectidfromadminwhereusername='"+username+"'andpassword='"+password+"'");//只有当用户名和密码均正确时,次啊能登录成功; if(str==null){ request.setAttribute("message","登录信息错误!"); request.getRequestDispatcher("admin/login.jsp").forward(request,response); } else{ session.setAttribute("user",username); request.getRequestDispatcher("admin/index.jsp").forward(request,response); } }教师注册界面的实现新入职教师均需要进行帐号注册,才能登录到系统中。教师注册帐号如下图所示:图5-4教师用户注册界面其功能实现代码如下:publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ response.setContentType(Constant.CONTENTTYPE); request.setCharacterEncoding(Constant.CHARACTERENCODING); HttpSessionsession=request.getSession(); ComBeancBean=newComBean(); Stringdate=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(Calendar.getInstance().getTime()); Stringdate2=newSimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime()); Stringmethod=request.getParameter("method"); if(method.equals("mreg")){//教师用户的注册 Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); Stringrealname=request.getParameter("realname"); Stringsex=request.getParameter("sex"); Stringage=request.getParameter("age"); Stringaddress=request.getParameter("address");Stringemail=request.getParameter("email"); Stringstr=cBean.getString("selectidfrommemberwhereusername='"+username+"'"); if(str==null){ intflag=cBUp("insertintomember(username,password,realname,sex,age,address,email,regtime)"+ "values('"+username+"','"+password+"','"+realname+"','"+sex+"','"+age+"','"+address+"','"+email+"','"+date+"')"); if(flag==Constant.SUCCESS){ request.setAttribute("message","注册成功请登录!"); request.getRequestDispatcher("login.jsp").forward(request,response); } else{ request.setAttribute("message","操作失败!"); request.getRequestDispatcher("reg.jsp").forward(request,response); } } else{ request.setAttribute("message","该用户名已存在!"); request.getRequestDispatcher("reg.jsp").forward(request,response); } }教师登录界面的实现(1)教师登录前界面如下图所示:图5-4教师用户登录界面其功能实现代码如下:elseif(method.equals("mlogin")){//教师用户登录 Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); Stringstr=cBean.getString("selectidfrommemberwhereusername='"+username+"'andpassword='"+password+"'andifuse='在用'");//只有当同时满足密码正确和用户为“在用”状态,才能登录到系统; if(str==null){ request.setAttribute("message","登录信息错误!"); request.getRequestDispatcher("login.jsp").forward(request,response); } else{ session.setAttribute("member",username); request.getRequestDispatcher("member/index.jsp").forward(request,response); } } elseif(method.equals("lost")){//丢失密码 request.setAttribute("message","新密码已经发到注册邮箱!"); request.getRequestDispatcher("login.jsp").forward(request,response); } elseif(method.equals("memberexit")){//退出登录 session.removeAttribute("member"); request.getRequestDispatcher("index.jsp").forward(request,response); }教师用户信息管理功能的实现该功能模块主要包括教师用户登录密码以及个人详细资料的修改。登录密码的修改主要是为了确保其帐号的安全性。(1)如图5-5所示为教师用户登录密码的修改:图5-5教师用户修改登录密码其功能实现代码如下: elseif(method.equals("muppwd")){//教师用户修改密码 Stringmember=(String)session.getAttribute("member"); Stringoldpwd=request.getParameter("oldpwd"); Stringnewpwd=request.getParameter("newpwd"); Stringstr=cBean.getString("selectidfrommemberwhereusername='"+member+"'andpassword='"+oldpwd+"'"); if(str==null){ request.setAttribute("message","原始密码信息错误!"); request.getRequestDispatcher("member/info/editpwd.jsp").forward(request,response); } else{ intflag=cBUp("updatemembersetpassword='"+newpwd+"'whereusername='"+member+"'"); if(flag==Constant.SUCCESS){ request.setAttribute("message","操作成功!"); request.getRequestDispatcher("member/info/editpwd.jsp").forward(request,response); } else{ request.setAttribute("message","操作失败!"); request.getRequestDispatcher("member/info/editpwd.jsp").forward(request,response); } } }教师用户可以修改自己的姓名、性别、身份证号、联系地址、邮箱等个人信息,如图5-7所示:图5-6教师用户修改个人信息5.2.6教师查询工作量功能的实现教师用户可以查询自己任意一段时间内的工作量,如图5-7所示,李晓晓老师可查询自己2005年5月12日至2013年5月15日的所有上课信息以及总的课时量,该部分功能及后面介绍的管理员查询、统计教师工作量模块性质是相似的,其实现的是本次课题设计的核心功能:(1)教师工作量查询效果图:图5-7教师查询工作量其功能实现代码如下:publicclassComBean{ privateListlist; privateResultSetrs=null; privateintEVERYPAGENUM=2; privateintcount=-1; privateintqq=0; //声明时间变量 Stringdate1=newSimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime()); Stringdate=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(Calendar.getInstance().getTime()); //分页查询 publicvoidsetEVERYPAGENUM(intEVERYPAGENUM){ this.EVERYPAGENUM=EVERYPAGENUM;}publicintgetMessageCount(Stringsql){//得到信息总数DBOdbo=newDBO();dbo.open();try{rs=dbo.executeQuery(sql);rs.next();count=rs.getInt(1);returncount;}catch(SQLExceptionex){ex.printStackTrace();return-1;}finally{dbo.close();}}publicintgetPageCount(){//得到共多少页(根据每页要显示几条信息)if(count%EVERYPAGENUM==0){returncount/EVERYPAGENUM;}else{returncount/EVERYPAGENUM+1;}}publicListgetMessage(intpage,Stringsql2,intrr){//得到每页要显示的信息DBOdbo=newDBO();dbo.open();Listlist=newArrayList();try{rs=dbo.executeQuery(sql2);for(inti=0;i<(1)*EVERYPAGENUM;i++){rs.next();}for(intt=0;t<EVERYPAGENUM;t++){if(rs.next()){qq++;Listlist2=newArrayList();for(intcc=1;cc<=rr;cc++){ list2.add(rs.getString(cc));} list.add(list2);}else{break;//减少空循环的时间}}returnlist;}catch(SQLExceptionex){ex.printStackTrace();returnnull;}finally{dbo.close();}}(2)如图5-8所示为教师工作量查询结果的效果图,其查询结果可以打印、打印预览或者直接导出到Excle表中。图5-8教师查询工作量结果由于本次设计主要是为了便于教务人员进行教师上课课时量的统计,以及教师评职称时,对自己近两年授课详细信息查询的需要,因此仅对教师的授课课时量这一工作量进行了操作。其功能实现代码如下:intj;for(;i<m_totalBytes;i+=j){try{m_request.getInputStream();j=m_request.getInputStream().read(m_binArray,i,m_totalBytes-i);}catch(Exceptionexception){thrownewSmartUploadException("Unabletoupload.");}}for(;!flag1&&m_currentIndex<m_totalBytes;m_currentIndex++){if(m_binArray[m_currentIndex]==13){flag1=true;}else{m_boundary=m_boundary+(char)m_binArray[m_currentIndex];}}if(m_currentIndex==1){return;}for(m_currentIndex++;m_currentIndex<m_totalBytes;m_currentIndex=m_currentIndex+2){ longnow=newjava.util.Date().getTime();Strings1=getDataHeader();m_currentIndex=m_currentIndex+2;booleanflag3=s1.indexOf("filename")>0;Strings3=getDataFieldValue(s1,"name");if(flag3){s6=getDataFieldValue(s1,"filename");s4=now+getFileName(s6);s5=getFileExt(s4);s7=getContentType(s1);s8=getContentDisp(s1);s9=getTypeMIME(s7);s10=getSubTypeMIME(s7);}getDataSection();if(flag3&&s4.length()>0){if(m_deniedFilesList.contains(s5)){thrownewSecurityException("Theextensionofthefileisdeniedtobeuploaded(1015).");}if(!m_allowedFilesList.isEmpty()&&!m_allowedFilesList.contains(s5)){thrownewSecurityException("Theextensionofthefileisnotallowedtobeuploaded(1010).");}if(m_maxFileSize>0L&&(long)((m_endData-m_startData)+1)>m_maxFileSize){thrownewSecurityException("Sizeexceededforthisfile:"+s4+"(1105).");}l+=(m_endData-m_startData)+1;if(m_totalMaxFileSize>0L&&l>m_totalMaxFileSize){thrownewSecurityException("TotalFileSizeexceeded(1110).");}}if(flag3){SmartFilefile=newSmartFile();file.setParent(this);file.setFieldName(s3);file.setFileName(s4);file.setFileExt(s5);file.setFilePathName(s6);file.setIsMissing(s6.length()==0);file.setContentType(s7);file.setContentDisp(s8);file.setTypeMIME(s9);file.setSubTypeMIME(s10);if(s7.indexOf("application/x-macbinary")>0){m_startData=m_startData+128;}file.setSize((m_endData-m_startData)+1);file.setStartData(m_startData);file.setEndData(m_endData);m_files.addFile(file);}else{Strings11=newString(m_binArray,m_startData,(m_endData-m_startData)+1);m_formRequest.putParameter(s3,s11);}if((char)m_binArray[m_currentIndex+1]=='-'){break;}}}publicintsave(Strings)throwsServletException,IOException,SmartUploadException{returnsave(s,0);}publicintsave(Strings,inti)throwsServletException,IOException,SmartUploadException{intj=0;if(s==null){s=m_application.getRealPath("/");//System.out.println("s==null,m_application.getRealPath:"+s);}if(s.indexOf("/")!=-1){if(s.charAt(s.length()-1)!='/'){s=s+"/";//System.out.println("m_application.getRealPath::"+s);}}else{if(s.charAt(s.length()-1)!='\\'){s=s+"\\";//System.out.println("m_application.getRealPath"+s);}}//System.out.println("m_application.getRealPath:::"+s);FileNames=newString[m_files.getCou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体育场馆运营管理要求-征求意见稿
- 2.3 用计算器求锐角的三角函数值 同步练习
- 专项22-实际问题与二次函数-重难点题型
- 幼儿园班级健康教育工作计划
- 技能教研组工作总结
- 幼儿园转岗培训总结
- 22.1 一元二次方程 同步练习
- 四川省成都市外国语学校2024-2025学年高三上学期期中考试语文试题(含答案)
- 山东省德州禹城市2024-2025学年六年级上学期期中考试科学试题
- 秀山自治县科技创新发展类项目申报书模板
- GB/T 3362-2005碳纤维复丝拉伸性能试验方法
- GB/T 18029.8-2008轮椅车第8部分:静态强度、冲击强度及疲劳强度的要求和测试方法
- 基础增分技巧提分(备考应考主题班会) 名师班主任成长系列班会
- 建筑CAD-信息化教学大赛
- 《GPS测量与数据处理》-第1讲 绪论
- 管理经济学精要课件
- 2023年昆明有色冶金设计研究院股份公司招聘笔试模拟试题及答案解析
- 消防控制室记录六本记录(标准文本)
- 执纪审查工作流程课件
- 河北廊坊开发区社区工作者公开招聘36人(必考题)模拟卷和答案
- 外研版小学英语(一年级起点)二年级上册Module-7-Unit-2课件
评论
0/150
提交评论