版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要PAGE28摘要PAGEII题目学生请假管理系统摘要当前信息化时代,讲究高效,准确,及时的完成事情,近年来学校都在开展信息化部署,实现了多媒体教学,网上提交作业,在线考试等学生考勤对学校教务管理是至关重要,在以前,学生请假要去找班主任或者领导批准,并且不一定每次都能顺利的找到班主任,完成请假批准。如果学生不在学校,没办法向班主任提交请假单;对于学生出勤检查,是学生会根据纸制名单逐一点名,或老师根据学生上交课堂作业来判断学生是否来上课。这些方法往往具有考勤差错率比较高,考勤效率也比较慢,没有一个总体的的记录和整理,并且纸制的点名册容易丟失遗漏,耽误时间等缺点。针对以上的问题,开发--种针对学生请假的考勤网上管理系统,通过请假管理系统,任课老师可以在课堂上直接登录考勤记录网站进行课堂查看哪些学生请假,记录学生考勤情况等。此外,在其他时间,班主任以及其他老师也可以登录该网站查询学生在某课程的出勤情况。该系统是基于Javaweb的简单型设计,它体现了对一些简单的JSP标签语言的运用,该系统界面简单、操作方便。根据实际需要将系统分为学生端和教师端,学生请假和教师批假都需要首先登录,学生端实现了学生申请请假、申请销假、查询自己请假记录功能,教师端实现了教师对学生请假的批准、销假批准以及查询学生的请假记录功能。关键词:学生;请假管理;JavaWebAbstractAbstract Abstract AbstractInthecurrentinformationage,wepayattentiontoefficient,accurateandtimelycompletionofthings.Inrecentyears,theschoolhasbeencarryingoutinformationdeployment,realizingmultimediateaching,onlinesubmissionofhomework,onlineexaminationandotherstudentattendanceiscrucialtotheschool'seducationaladministrationmanagement.Before,studentsaskedforleavetogototheheadteacherortheleaderforapproval,andnotnecessarilytofindtheheadteachersmoothlyeverytime.Completeleaveapproval.Ifthestudentsarenotatschool,theycan'tsubmitthefalseapplicationformtotheheadteacher.Fortheattendancecheckofstudents,thestudentswillnameonebyoneaccordingtothepaper-basedlist,ortheteacherwilljudgewhetherthestudentscometoclassaccordingtothehomeworkhandedinbythestudents.Thesemethodsoftenhavethedisadvantagesofhighattendanceerrorrate,slowattendanceefficiency,nooverallrecordandarrangement,andthepaperrollcallbookiseasytolose,missanddelaytime.Inviewoftheaboveproblems,developanonlineattendancemanagementsystemforstudentstoaskforleave.Throughtheleavemanagementsystem,teacherscandirectlylogintotheattendancerecordwebsiteinclasstocheckwhichstudentsaskforleaveandrecordtheirattendance.Inaddition,atothertimes,theheadteacherandotherteacherscanalsologintothewebsitetochecktheattendanceofstudentsinacertaincourse.ThesystemisasimpledesignbasedonJavaWeb,whichembodiestheuseofsomesimpleJSPtaglanguage.Theinterfaceofthesystemissimpleandeasytooperate.Accordingtotheactualneeds,thesystemisdividedintothestudentsideandtheteacherside.Boththestudentsideandtheteachersideneedtologinfirst.Thestudentsiderealizesthefunctionsofstudents'applicationforleave,applicationforleavecancellationandquerytheirownleaverecords.Theteachersiderealizesthefunctionsofteachers'approval,leavecancellationapprovalandqueryofstudents'leaverecords.Keywords:students;leavemanagement;JavaWeb第二章目录PAGEIII目录11317摘要 I23693Abstract II4855目录 III20245第一章绪论 470671.1课题研究的背景以及意义 4117091.2课题研究的意义 4202581.3主要研究的内容和问题 5284971.4开发工具及环境 629581第二章开发工具和环境简介 474262.1JAVA简介 421842.2JSP简介 4231592.3JDBC驱动程序简介 46642.4JavaBeans简介 5240862.5MicrosoftSQLServer简介 517702.6MyEclipse简介 530133第三章学生请假管理系统需求 6235303.1学生用户需求描述 615963.2任课老师用户需求描述 6210953.3系统管理员用户需求描述 628886第四章请假管理系统总体设计 7105024.1数据库设计 7147434.2系统流程实现 7277504.3系统流程 82542第五章主要功能的实现 125.325991管理员模块 135.19182教师页面 165.227123学生页面 175.65654请假删除和批准 2224981致谢 2423378参考文献 25第一章绪论淮安信息职业技术学院毕业设计论文PAGEPAGE27第一章绪论1.1课题研究的背景以及意义 学生请假信息和管理是学生日常生活尤为重要的一部分。对于学院在这一方面的管理还是显得学生数量明显高于管理者很多,这就给导员以及教师领导带来极大的不方便,加上学校的事务本来就繁琐杂乱且要求高规格,所以很容易出现错误。而诸如学生的请假申请,教师的请假审核信息,稍有不慎便会出现一些差池,同时学生请假信息的手动记录与查看,工作量大,也需要很大的耐心和细心。所以在计算机软件技术不断更新的今天,实现学生网上请假申请,教师及导员网上请假审核并通过数据库记录信息是必要可行的,而且还节约了时间,节省了一大部分的工作量。在学院,学生请假信息是对于学生出勤审计,学生课程学习的一项非常重要的数据。而很长一段时间,学生请假信息管理都是依赖手动记录查阅,面对大量的学生信息,这些工作的数量可想而知。不仅白白浪费了许多不必要的人力资源,而且人工管理会存在着大麻烦和乱子,造成数据信息的一些不确定因子。但如果使用计算机管理对学生请假信息进行管理,具有手工管理很多方面的优点和长处,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高的效率,也是学校科学化、正规化管理的重要条件。1.2课题研究的意义随着近几年来国内计算机技术应用的迅速发展,我国在管理系统的开发和应用方面取得了成效,并且积累了丰富的实践经验,这对于今后的发展和完善将起到积极的推动作用。在改革开放,面向市场的大环境下,为了真正发挥管理系统的潜在作用,预计所有系统必将向网络化、集成化、智能化和实用化方面发展,使企业引进的管理系统技术真正落实到经济效益上。目前单项信息管理的应用,不同程度已在各个企业部门实现,如生产计划管理、供销管理、财务管理和人事档案等,已经在各个企业及部门广应用。但是这些孤立系统所产生的信息如何为企业或部门充分利用、共享、及时为企业的各种决策提供依据,则必须有一个良好的网络环境支撑,使各个孤立系统协调运行,形成一个统一的整体,才能解决生产之急需否则管理系统将不能发挥其应有的作用,所建立的系统不能获得较高的性能价格比。各个企业开发的管理系统,一般都是先从物流开始,然后逐步到生产计划及销售和成本核算等方面。为了解决系统所产生的数据协调利用,这些数据必须具有集成性也就是所产生的数据不必形成文件的形式传递,而只通过简单的指令便可提供有关的后继应用。另外还必须解决数据的相关性,在某些模型或者方案的分析、处理发生变化时,相关的数据作相应的调整即可适应需求。因此,今后管理系统的发展必然朝着集成化方向过渡。由于在大学里学生请假比较麻烦,学生请假的时候要通过去找辅导老师或班主任老师签字才能完成这项工作。有时候学校辅导员或者是班主任外出有事情,学生就得拖延请假的日期,这样对有急事的学生造成了很大的困扰。通过学生网上请假管理系统的应用,学生可以在网上进行8常的请假任务,而管理员也就是辅导员或者班主任可以通过本系对请假的信息进行审核、审批及其他相应的工作。这样不仅可以减少学生平时请假所花费的时间,还能削弱辅导员或者班主任平时的工作量。所以开发学生请假管理系统是一个必然。时下比较通用的管理系统结果有B/S和C/S两种,经过分析比较,并且结合学生请假管理系统的自身业务特点,本次设计系统采用C/S架构来实现。系统软件上,后台数据库为SQLServer2000数据库系统,前台实现工具是Microsoft公司VisualStudio2005工具。本系统预期要实现的目标是建立-一个相对完善的管理信息系统。主要有以下几个模块:用户登录、教师管理、班级管理、学生管理、请假申请、请假审核、请假查询、请假统计和修改密码。1.3主要研究的内容和问题系统功能模块描述:(1).对系统登录身份的设置,不同的人登陆进系统后,能使用的不同功能。(1.学生登陆口,2.教师登陆口,3.管理登陆口)(2).用户修改密码。(3).教师管理:对教师的信息及帐号密码的添加修改删除等管理。(4).学生管理:主要负责学生信息的录用、基本信息查询,学生资料的增加、修改、删除。(5).班级管理:班级名称和备注的信息管理,班级名的增加、修改、删除。(6).请假管理:学生请假的申请、查询、审核以及统计。为实现学生请假管理系统的主要功能,使用软件工程开发技术,首先完成系统功能的分析与设计,划分好功能模块,每个模块的具体功能及实现步骤。使用C#软件开发工具创建各种实用窗口界面。1.4开发工具及环境(1).开发平台服务器端操作系统:WindowsXP或Windows2003Server。开发工具:visualstudio2005。数据库:SqlServer2000。(2).系统架构系统总体方案计划采用C/S结构,并保证了系统的灵活性和可扩展性:操作系统采用windows2003;后台数据库使用SQLServer2000;开发环境采用.NET,编程语言采用C#。淮安信息职业技术学院毕业设计论文第二章开发工具和环境简介第二章开发工具和环境简介2.1JAVA简介Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。2.2JSP简介JavaServerPage或简称为JSP是由Sun公司在Java语言上开发出来的一种动态网页制作技术,它提供了一种建立动态网页的简单方法,并为开发人员提供了一个Server端框架,基于这个框架,开发人员可以综合使用HTML,XML,JAVA语言以及其他脚本语言,灵活,快速地创建和维护动态网页,特别是目前的商业系统。作为JavaTM技术的一部分,JSP能够快速的开发出基于所有Web服务器和应用服务器环境,独立于平台的应用程序,而且具有非常强的可伸缩性。同时,JSP把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容的前提下改变祖国网页布局。2.3JDBC驱动程序简介从编程的角度出发,有两个主要的类负责建立与数据库的连接。第一个类DriverManager是在JDBCAPI中提供的为数不多的实际类。DriverManager负责管理已注册驱动程序的集合,实质上就是提取使用驱动程序的细节,这样程序员就不必直接处理它们。第二个类是实际的JDBCDriver类。JDBC驱动程序有四种类型。第一种驱动程序:它们都使用JDBC-ODBC桥,这是作为JDK的一个标准部分包括的。第一种驱动程序通过附加在JDBC-ODBC桥的“开放式数据库连接性”(OpenDataBaseConnectivity(ODBC))驱动程序来区分。要连接到一个不同的数据源,您只需要使用ODBC管理员注册(或有效地绑定)一个不同的ODBC数据源到合适的数据源名称即可。第二种驱动程序也称为部分Java驱动程序,因为它们直接将JDBCAPI翻译成具体数据库的API。对于分布式应用程序,这种需求会产生额外的许可证问题,还可能带来可怕的潜在代码分布问题。第三种驱动程序是纯Java驱动程序,它将JDBCAPI转换成独立于数据库的协议。JDBC驱动程序并没有直接和数据库进行通讯;它和一个中间件服务器通讯,然后这个中间件服务器和数据库进行通讯。这种额外的中间层次提供了灵活性:可以用相同的代码访问不同的数据库,因为中间件服务器隐藏了Java应用程序的细节。要转到不同的数据库,您只需在中间件服务器上改变参数。第四种驱动程序是纯Java驱动程序,它直接与数据库进行通讯。很多程序员认为这是最好的驱动程序,因为它通常提供了最佳的性能,并允许开发者利用特定数据库的功能。当然,这种紧密耦合会影响灵活性,特别是如果您需要改变应用程序中的底层数据库时。这种驱动程序通常用于applet和其它高度分布的应用程序。2.4JavaBeans简介JavaBeans是一个可以重复使用的软件组件。实际上JavaBeans是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称beans。JavaBeans是基于Java语言的,具有以下特点:(1)可以实现代码的重复利用。(2)易编写,易维护,易使用。(3)可以在任何安装了Java运行环境的平台上的使用,而不需要重新编译。2.5MicrosoftSQLServer简介SQLServer是Microsoft公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2012的大型多处理器的服务器等多种平台使用。MicrosoftSQLServer是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。MicrosoftSQLServer数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。2.6MyEclipse简介MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。第三章学生请假管理系统需求第三章网上书店系统功能分析第三章学生请假管理系统需求学生请假管理系统是基于B/S模式开发的系统。系统包括学生、教师和管理员三种角色,各自实现的功能如下:3.1学生用户需求描述学生可以在线请假和查询自己的请假信息。申请请假:学生填写请假信息,可以提交以后等待老师批准。请假信息:学生可以查看自己请假的详细信息。修改信息:修改个人信息。3.2任课老师用户需求描述教师的主要可以审核学生的请假申请,检查学生的请假情况。请假管理:查看学生的请假情况,审核学生的请假申请。考勤统计:查看学生请假的统计信息。修改信息:修改个人信息。3.3系统管理员用户需求描述系统管理员拥有最高权限的系统,负责对系统所需的所有数据进行动态同步更新和维护,根据系统对每个用户的设计,基本功能要求如下:教师管理:对教师数据进行维护。学生管理:对学生数据进行维护。修改信息:修改密码。系统功能模块图如图3-1所示。图3-1系统功能模块图第四章请假管理系统总体设计淮安信息职业技术学院毕业设计论文第四章请假管理系统总体设计4.1数据库设计请假管理系统涉及到学生用户、教师用户和管理员。根据实际应用的需要,最大限度的提高系统的性能,本系统涉及到8张表,分别是管理员表、教师表、学生表。admin表存放管理员信息。图4-1管理员信息图Teacher表:存放教师信息。图4-2教师信息图Student表:存放学生信息图4-3学生信息图4.2系统流程实现请假管理系统涉及到学生用户、教师用户和管理员,主要的功能模块为学生管理模块、教师管理模块、请假管理模块、角色管理模块。本系统的功能模块图如图4-4。图4-44.3系统流程(1).登陆流程,如图4-5。图4-5登录流程图第四章请假管理系统总体设计(2).请假流程,需要请假的学生可以在系统中填写请假条进行请假申请,提交请假申请后,提交到辅导员岗进行审核,如果请假时间小于或等于3天,辅导员审核通过后生成请假记录,未通过,请假流程结束,如果请假时间大于3天,若未审核未通过则请假流程结束,若在辅导员岗审核通过,则提交到院领导岗进行审核,审核通过后生成请假记录,未通过则请假流程结束。如图4-6。图4-6请假流程图(3).权限设置流程:系统管理员可以通过权限设置进行添加不同的登录角色并可以赋予不同的权限,如图4-7。图4-7权限设置图(4).修改权限:系统管理员可以通过查询出系统不同用户类型的权限并可以进行各种权限的添加或者删除进行修改;如图4-8。图4-8修改权限图淮安信息职业技术学院毕业设计论文第五章主要功能的实现第五章主要功能的实现系统的用户必须登录以后才能进入相应的操作页面。在login.jsp页面中输入正确的用户名和密码,选择用户类型后,就会进入相应用户的主界面main.html。图5-1login.jsp页面图5-2:学生用户的main.html页面用户在login.jsp页面输入用户名和密码以后,转到loginServlet中处理业务逻辑,访问数据库,如果用户名和密码都正确,转到main.html页面,如果用户名或密码有错,转到错误信息提示页面。具体的loginServlet中的核心代码如下:publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{//接收用户名、密码、类型 StringuserName=request.getParameter("userName"); StringuserPass=request.getParameter("userPass"); StringuserType=request.getParameter("userType"); HttpSessionsession=request.getSession(); if(userType.equals("0")){ //student studentDAOsd=newstudentDAO(); if(sd.login(userName,userPass)){ session.setAttribute("uname",userName); session.setAttribute("upass",userPass); response.sendRedirect("student/main.html"); } else response.sendRedirect("error.jsp"); } elseif(userType.equals("1")){ //teacher teacherDAOtd=newteacherDAO(); if(td.login(userName,userPass)){ System.out.print("trueteacher"); session.setAttribute("uname",userName); session.setAttribute("upass",userPass); response.sendRedirect("teacher/main.html"); } else response.sendRedirect("error.jsp"); }elseif(userType.equals("2")){//admin adminDAOad=newadminDAO(); if(ad.login(userName,userPass)){ System.out.print("trueadmin"); session.setAttribute("uname",userName); session.setAttribute("upass",userPass); response.sendRedirect("admin/main.html"); } else response.sendRedirect("error.jsp"); } }5.1管理员模块图5-3管理员模块图图5-4管理员模块图1.1管理员添加教师信息packageDAO;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.ArrayList;importjava.util.List;importbean.teacher;importcommon.DBConnect;publicclassteacherDAO{ publicbooleanlogin(Stringusername,Stringuserpass){ DBConnectdb=newDBConnect();Stringsqlstr="select*fromteacherwhereuserName='"+username+"'anduserpass='"+userpass+"'";ResultSetrs=db.executeQuery(sqlstr);try{if(rs!=null&&rs.next()){returntrue;}}catch(SQLExceptionex){}returnfalse; } publicbooleanaddTeacher(teachert){ DBConnectdb=newDBConnect(); Stringsqlstr="insertintoteacher(userName,userPass,tname,tsex,office,remark)values('"+t.getUname()+"','" +t.getUpass()+"','"+t.getTname()+"','"+t.getTsex()+"','"+t.getOffice() +"','"+t.getRemark()+"')"; System.out.println(sqlstr); booleanflag=false; if(db.executeUpdate(sqlstr)==1){ flag=true; } returnflag; } publicListgetTeachers(){ Listresult=newArrayList(); DBConnectdb=newDBConnect(); Stringsqlstr="select*fromteacher"; System.out.println(sqlstr); ResultSetrs=db.executeQuery(sqlstr); try{ while(rs.next()){ teachert=newteacher(); t.setId(rs.getString("id")); t.setUname(rs.getString("userName")); t.setUpass(rs.getString("userPass")); t.setTname(rs.getString("tname")); t.setTsex(rs.getString("tsex")); t.setOffice(rs.getString("office")); t.setTclass(rs.getString("tclass")); result.add(t); } }catch(SQLExceptione){ e.printStackTrace(); } returnresult; } 1.1.1教师管理图5-5教师模块图publicbooleandelTeacher(Stringid){ DBConnectdb=newDBConnect();Stringsqlstr="deletefromteacherwhereid="+id;System.out.println(sqlstr);booleanflag=false;if(db.executeUpdate(sqlstr)==1){flag=true;}returnflag; } publicteachergetTeacherById(Stringid){ DBConnectdb=newDBConnect();Stringsqlstr="select*fromteacherwhereid="+id;System.out.println(sqlstr);teachert=null;ResultSetrs=db.executeQuery(sqlstr);try{ if(rs.next()){ t=newteacher(); t.setId(rs.getString("id")); t.setUname(rs.getString("userName")); t.setUpass(rs.getString("userPass")); t.setTname(rs.getString("tname")); t.setTsex(rs.getString("tsex")); t.setOffice(rs.getString("office")); t.setTclass(rs.getString("tclass")); t.setRemark(rs.getString("remark")); } }catch(SQLExceptione){ e.printStackTrace(); }returnt; } publicbooleanupdateTeacher(teachert,Stringid){ DBConnectdb=newDBConnect();Stringsqlstr="updateteachersetuserPass='"+t.getUpass()+ "',tname='"+t.getTname()+ "',tsex='"+t.getTsex()+ "',office='"+t.getOffice()+ "',tclass='"+t.getTclass()+ "',remark='"+t.getRemark()+"'whereid="+id;System.out.println(sqlstr);booleanflag=false;if(db.executeUpdate(sqlstr)==1){flag=true;}returnflag; }}5.2教师页面teacherDAO.Java类中定义编辑数据:publicListgetTeachers(){ //定义集合类存储查询结果 Listresult=newArrayList(); DBConnectdb=newDBConnect(); Stringsqlstr="select*fromteacher"; System.out.println(sqlstr); //执行SQL语句 ResultSetrs=db.executeQuery(sqlstr); try{ while(rs.next()){ teachert=newteacher(); t.setId(rs.getString("id")); t.setUname(rs.getString("userName")); t.setUpass(rs.getString("userPass")); t.setTname(rs.getString("tname")); t.setTsex(rs.getString("tsex")); t.setOffice(rs.getString("office")); result.add(t); } }catch(SQLExceptione){ e.printStackTrace(); } returnresult; } 定义数据的servlet:publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ //接收表单数据(用户名、密码、姓名、性别、班级、办公室、备注) StringuserName=request.getParameter("userName"); StringuserPass=request.getParameter("userPass"); Stringtname=request.getParameter("tname"); Stringtsex=request.getParameter("tsex"); Stringoffice=request.getParameter("office"); Stringtclass=request.getParameter("tclass"); Stringremark=request.getParameter("remark"); //调用teacherDAO类的addTeacher方法数据入库 teachert=newteacher(userName,userPass,tname,tsex,office,tclass,remark); teacherDAOtd=newteacherDAO(); booleanf=td.addTeacher(t); //插入成功,到admin/showTeacher.jsp页面 if(f){ response.sendRedirect("getteacherServlet"); }(3)修改showTeacher.jsp页面链接<ahref=”modTeacherServlet?tid=${t.id}”>编辑</a>2.1管理员教师页面:1.Teacher包刷新:publicbooleanupdateTeacher(teachert,Stringid){ DBConnectdb=newDBConnect();Stringsqlstr="updateteachersetuserPass='"+t.getUpass()+ "',tname='"+t.getTname()+ "',tsex='"+t.getTsex()+ "',office='"+t.getOffice()+ "',tclass='"+t.getTclass()+ "',remark='"+t.getRemark()+"'whereid="+id;System.out.println(sqlstr);booleanflag=false;if(db.executeUpdate(sqlstr)==1){flag=true;}returnflag; }}5.3学生页面图5-6学生页面图图5-7学生页面图3.1学生请假页面构成:packagebean;publicclassqingjia{ privatelongkid; privatelongtid; privateStringsid; privateStringcourse; privateStringcourseTime; privateStringktype; privateStringcontent; privateStringredate; privateintdays; privateStringtname; privateStringison; privateStringsname; publicStringgetSname(){ returnsname; } publicvoidsetSname(Stringsname){ this.sname=sname; } publicqingjia(){} publicqingjia(longtid,Stringsid,Stringcourse,StringcourseTime, Stringktype,Stringcontent,intdays){ this.tid=tid; this.sid=sid; this.course=course; this.courseTime=courseTime; this.ktype=ktype; this.content=content; this.days=days; } publicStringgetIson(){ returnison; } publicvoidsetIson(Stringison){ this.ison=ison; } publicStringgetTname(){ returntname; } publicvoidsetTname(Stringtname){ this.tname=tname; } publiclonggetKid(){ returnkid; } publicvoidsetKid(longkid){ this.kid=kid; } publiclonggetTid(){ returntid; } publicvoidsetTid(longtid){ this.tid=tid; } publicStringgetSid(){ returnsid; } publicvoidsetSid(Stringsid){ this.sid=sid; } publicStringgetCourse(){ returncourse; } publicvoidsetCourse(Stringcourse){ this.course=course; } publicStringgetCourseTime(){ returncourseTime; } publicvoidsetCourseTime(StringcourseTime){ this.courseTime=courseTime; } publicStringgetKtype(){ returnktype; } publicvoidsetKtype(Stringktype){ this.ktype=ktype; } publicStringgetContent(){ returncontent; } publicvoidsetContent(Stringcontent){ this.content=content; } publicStringgetRedate(){ returnredate; } publicvoidsetRedate(Stringredate){ this.redate=redate; } publicintgetDays(){ returndays; } publicvoidsetDays(intdays){ this.days=days; } }3.2查询数据:packageDAO;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Date;importjava.util.List;importcommon.DBConnect;importbean.qingjia;importbean.teacher;publicclassqingjiaDAO{ publicbooleanaddQingJia(qingjiaqj){ DBConnectdb=newDBConnect(); SimpleDateFormats=newSimpleDateFormat("yyyy-MM-dd"); Stringdate=s.format(newDate()); Stringsqlstr="insertintokq(tid,sid,ktype,course,courseTime,content,days,redate,isOn)values(" +qj.getTid() +",'" +qj.getSid() +"','" +qj.getKtype() +"','" +qj.getCourse() +"','" +qj.getCourseTime() +"','" +qj.getContent() +"'," +qj.getDays() +",'" +date +"'" +",'否'"+")"; System.out.println(sqlstr); booleanflag=false; if(db.executeUpdate(sqlstr)==1){ flag=true; } returnflag; } publicListgetqj(Stringsid){ //定义集合类存储查询结果 Listresult=newArrayList(); DBConnectdb=newDBConnect(); Stringsqlstr="selectkid,tid,sid,tname,ktype,teacher.course,courseTime,redate,content,isOnfromteacher,kqwhereteacher.id=kq.tidandsid='" +sid+"'orderbykiddesc"; System.out.println(sqlstr); //执行SQL语句 ResultSetrs=db.executeQuery(sqlstr); try{ while(rs.next()){ //(tname、ktype、course、coursetime、redate、ison、content) qingjiat=newqingjia();t.setTname(rs.getString("tname")); t.setKtype(rs.getString("ktype")); t.setCourse(rs.getString("course")); t.setCourseTime(rs.getString("coursetime")); t.setRedate(rs.getString("redate")); t.setIson(rs.getString("ison")); t.setContent(rs.getString("content")); result.add(t); } }catch(SQLExceptione){ e.printStackTrace(); } returnresult; } publicListgetqj(Stringtuname,Stringison){ //定义集合类存储查询结果 Listresult=newArrayList(); DBConnectdb=newDBConnect(); Stringsqlstr="selectkid,tid,kq.sid,sname,ktype,courseTime,content,isOn,days"+ "fromstudent,kq,teacherwherestudent.sid=kq.sidandteacher.id=kq.tid"+ "andteacher.username='"+tuname+"'andkq.ison='"+ison+"'"; System.out.println(sqlstr); ResultSetrs=db.executeQuery(sqlstr); try{ while(rs.next()){ qingjiat=newqingjia(); t.setKid(Long.parseLong(rs.getString("kid")));t.setSid(rs.getString("sid"));t.setSname(rs.getString("sname")); t.setKtype(rs.getString("ktype")); t.setCourseTime(rs.getString("coursetime")); t.setContent(rs.getString("content")); t.setDays(Integer.parseInt(rs.getString("days"))); result.add(t); } }catch(SQLExceptione){e.printStackTrace();} returnresult; } publicbooleanupdateqingjia(Stringkid){ DBConnectdb=newDBConnect();Stringsqlstr="updatekqsetisOn='是'wherekid="+kid;System.out.println(sqlstr);booleanflag=false;if(db.executeUpdate(sqlstr)==1){flag=true;}returnflag; } publicbooleandelqingjia(Stringkid){ DBConnectdb=newDBConnect(); Stringsql="deletefromkqwherekid='"+kid+"'"; System.out.println("*******************"+sql); inti=db.executeUpdate(sql); if(i==1){returntrue;} else returnfalse; } }定义getqingjiaServlet:publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ //从session中取sid HttpSessionsession=request.getSession(); Stringsid=(String)session.getAttribute("uname");//调用qingjiaDAO的getqj方法查询数据 qingjiaDAOqd=newqingjiaDAO(); ArrayListr=(ArrayList)qd.getqj(sid);// 数据保存在request作用范围 request.setAttribute("qjinfo",r);// 页面跳转 request.getRequestDispatcher("student/showQJ.jsp").forward(request,response); }3.3修改请假页面超链接:<ahref="editStudent.jsp"target="rightF">请假信息</a></td>学生信息:publicListgetqj(Stringtuname,Stringison){ //定义集合类存储查询结果 Listresult=newArrayList(); DBConnectdb=newDBConnect(); Stringsqlstr="selectkid,tid,kq.sid,sname,ktype,courseTime,content,isOn,days"+ "fromstudent,kq,teacherwherestudent.sid=kq.sidandteacher.id=kq.tid"+ "andteacher.username='"+tuname+"'andkq.ison='"+ison+"'"; System.out.println(s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第21课《小圣施威降大圣》导学单 2025-2026学年统编版语文七年级上册(学案)
- 第11课 元朝的建立与统一教案 2025学年新版教材七下历史教学设计(统编人教版)
- 延髓梗死吞咽障碍个案护理
- 预防食品中毒安全管理制度培训
- 小学食堂卫生安全管理制度培训
- 2026年广西农业职业技术大学单招职业适应性考试题库附答案详解(精练)
- 2026年川北幼儿师范高等专科学校单招职业技能测试题库带答案详解(培优a卷)
- 2026年广西国际商务职业技术学院单招职业技能测试题库附答案详解(完整版)
- 2026年山西省大同市单招职业倾向性考试题库带答案详解(完整版)
- 2026年山西老区职业技术学院单招职业技能测试题库附参考答案详解(完整版)
- 高职高专学生心理健康教育 第四版 课件 第第五讲 相伴适应路
- 心血管疾病健康知识科普
- 农副产品营销培训课件
- 装饰工程施工质量方案
- 零碳产业园区实施路径规划
- 机电排灌培训
- 格宾笼技术教学课件
- 农业烘干设备租赁合同(2025年风险承担)
- 胆总管结石课件
- 档案方面的课题申报书范文
- 收纳劳动课件
评论
0/150
提交评论