




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业论文--基于jsp的学生成绩管理系统的设计与实现摘要学生成绩管理系统主要用于各类大学院校在教学这一局部的管理,是针对于教务处对课程、对学生、对学生成绩进行合理地安排以及统筹方案,以便让教务处以最短的工作时间内把学生的成绩核算出来,提高教务处的办事效率。同时,能够随时对学生根本信息、学生成绩进行各种查询,以便及时很好地对需要了解的信息得到相应的反应,能有效的帮助教务处的工作,可使学院教职工减轻工作压力,比拟系统地对、教务教学上的各项效劳和信息进行管理。本系统是针对学生成绩管理进行设计的,主要用户为学校教务管理老师,但学生也可参与对自己信息的核对确认。主要采用的开发工具是JSP和MYSQL。在开发过程中利用面向对象的程序思想和严格按照软件工程的开发过程来进行分析和设计。本系统所要完成以下几个主要功能,其中有学生成绩管理、学生根本信息管理等等,实现对学生根本信息和成绩进行录入、修改、删除、查询等操作。系统根本满足了学生成绩管理的功能需要,确实为学校对学生的管理提供了便利。本系统界面友好、操作简单,对学生根本情况和成绩加快了查询速度、加强了管理,使各项管理更加标准化。关键词:模块化,数据库,数据库管理系统AbstractThemanagementsystemofstudent’sachievementismainlyappliedinpartofteachingmanagementofallkindsofuniversities.Itisappliedinadministrationsectiontoarrangcurriculum,student’sachievementandsoon,inordertoaccountstudent’sachievementsoquicklythatenhanceworkefficience.Meanwhile,thesystemcaninquireachievementandinformationofstudentsinordertogetsomeusefulinformation.timely,thus,itcangavessomehelptoadministrationsectionandalleviateworkpressureofacademicstaffsandmanageallkindsofsevicesandinformationsinsyslematically.Thesystemisdesignedformanagementofstudent’sachievement.Itismostlyusedbyteacherwhomworkinadministrationsection.Itissometimesusedbystudentwhomwanttocheckhisinformation.MainlyUSESthedevelopmenttoolsareJSPandMYSQL.Themainlyfoundationmusttobeaccomplishedinthemanagementsystemofstudent’sachievementasfollows:managementofstudent’sachievement,managementofstudent’sbasicinformationandsoon.Ofcourse,thesystemcanbeaimedatachievementandbasicinformationofstudenttomodifyordeleteorinquirerecords.Thesystemcontentwithfoundationofmanagmentofstudent’sachievementinbasically,itprovidesconveriencewithschooltomanagestudent.Theinterfaceisprovidedbysystemisfriendly,andtheoperationissimple.Toachievementandbasicinformationofstudent’s,itspeedsupforinquring.Strengthenmanagementandmolkesallkindsofmanagementmorestandardlize.Inawords,thesystemhascompatibitilyandissuitedformostpeople.Keywords:modularize,database,DBMS目录摘要.....................................................................1第一章选课的目的与意义...................................................41.1概述..............................................................41.2课题来源、目的与意义..............................................4第二章系统的开发技术及主要构架...........................................72.1开发技术的选择....................................................72.2工程开发的工具....................................................72.3数据库的连接.....................................................11第三章需求分析..........................................................133.1功能分析.........................................................133.2流程分析.........................................................143.3系统概念模型描述.................................................163.4数据库设计.......................................................20第四章系统的设计与实现..................................................244.1管理员模块功能...................................................244.2教师模块功能.....................................................374.3学生模块功能.....................................................45总结....................................................................53参考文献..................................................................54致谢....................................................................概述本管理系统主要内容是学生成绩管理,其中有学生成绩管理,学生根本情况管理等等。在开发过程中,注意使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统能适用于各类大学院校。在开发方法的选择上,选择了生命周期法与原型法相结合的方法,遵循系统调查研究、系统分析、系统设计和系统实施四个主要阶段进行设计,而在具体的设计上,采取了演化式原型法,随着用户的使用及对系统了解的不断加深,对某一局部或几局部进行重新分析、设计、实施。在开发工具的选择上,我使用了JSP及MYSQL关系数据库开发工具,在短时间内建立系统应用原型。然后,对初始原型系统进行需求迭代,不断修正和改良,直到形成一个满意的可行系统。本文以学校管理信息系统建设中的成绩管理子系统的开发为背景,论述了管理信息系统的概念、结构及系统开发的根本原理和方法,全文共分为概述、系统分析、系统总体设计、详细设计、开发总结、致谢、参考文献、附录等。1.2课程来源、目的与意义学院在教学这一局部主要是由教务处对课程、对学生、对学生成绩进行合理地安排以及统筹方案,以便让教务处以最短的工作时间内把学生的成绩核算出来,提高教务处的办事效率。同时,能够随时对学生根本信息、学生成绩进行各种查询,以便及时很好地对需要了解的信息得到相应的反应,能有效的帮助教务处的工作,可使学院教职工减轻工作压力。利用成绩管理系统对学生的成绩进行合理管理,实现学生成绩的录入、编辑、删除等功能,也可以实现成绩的排序、检索等。它将成为教务处老师的一个很好的帮手。本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。本系统能在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,该系统的完成将具有以下几点重要的意义:〔1〕系统具有较强的实用性、可靠性和适用性,同时也具有一定的先进性。〔2〕对各个数据库能进行动态管理,有效的防止了数据的混乱。〔3〕能够按照用户选择的不同的条件进行简单查询和复合查询。〔4〕能够对查询结果进行分类汇总,实现报表打印。〔5〕并且注意到了数据的平安性,具有数据备份和恢复的功能。〔6〕简化了用户的操作过程,尽量减少用户的工作量。2系统的开发技术及主要架构2.1开发技术的选择合理的选择开发技术,对于网站开发的完成情况有着非常重要的影响。要开发一个网站,首先要选择一个动态网页开发技术。当前比拟流行的动态网页开发技术有JSP、ASP、PHP。它们的特性比拟如表3-1所示:表2-1asp/jsp/php比拟表技术名称ASPJSPPHP对数据库的支持好好好开发难易度容易容易较难使用平台Windows9X/NTWindows/UNIXUNIX平安性不好好不好对组件的支持支持支持不支持执行方式解释执行编译之后执行解释执行跨平台不好好好这三种都是在传统的6>HTML代码中,利用HTML标签的扩展,构成页面。不难看出,JSP的综合实力是最强的,尤其是在平安性和跨平台性两个方面,比其他的两种技术都要好,因此,最后我们选择基于Java的JSP技术作为动态网页的开发技术。2.2工程开发的工具本系统采用MyEclipse8.6+My+tomMyEclipe简介MyEclipse企业级工作平台〔MyEclipseEnterpriseWorkbench,简称MyEclipse是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序效劳器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。在结构上,MyEclipse的特征可以被分为7类:1.JavaEE模型2.WEB开发工具3.EJB开发工具4.应用程序效劳器的连接器5.JavaEE工程部署效劳6.数据库效劳7.MyEclipse整合帮助对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。MySql简介MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2021年1月16号被Sun公司收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有本钱低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有本钱而选择了MySQL作为网站数据库。与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的缺乏之处,如规模小、功能有限〔MySQLCluster的功能和效率都相比照拟差〕等,但是这丝毫也没有减少它受欢送的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有本钱。PowerDesigner简介PowerDesigner是一个功能强大而使用简单工具集,提供了一个复杂的交互环境,支持开发生命周期的所有阶段,从处理流程建模到对象和组件的生成。PowerDesigner产生的模型和应用可以不断地增长,适应并随着你的组织的变化而变化。PowerDesigner系列产品提供了一个完整的建模解决方案,业务或系统分析人员,设计人员,数据库管理员DBA和开发人员可以对其裁剪以满足他们的特定的需要;而其模块化的结构为购置和扩展提供了极大的灵活性,从而使开发单位可以根据其工程的规模和范围来使用他们所需要的工具。PowerDesigner灵活的分析和设计特性允许使用一种结构化的方法有效地创立数据库或数据仓库,而不要求严格遵循一个特定的方法学。PowerDesigner提供了直观的符号表示使数据库的创立更加容易,并使工程组内的交流和通讯标准化,同时能更加简单地向非技术人员展示数据库和应用的设计。PowerDesigner不仅加速了开发的过程,也向最终用户提供了管理和访问工程的信息的一个有效的结构。它允许设计人员不仅创立和管理数据的结构,而且开发和利用数据的结构针对领先的开发工具环境快速地生成应用对象和数据敏感的组件。开发人员可以使用同样的物理数据模型查看数据库的结构和整理文档,以及生成应用对象和在开发过程中使用的组件。应用对象生成有助于在整个开发生命周期提供更多的控制和更高的生产率。Tomcat简介Tomcat是Apache软件基金会〔ApacheSoftwareFoundation〕的Jakarta工程中的一个核心工程,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP标准总是能在Tomcat中得到表达,Tomcat5支持最新的Servlet2.4和JSP2.0标准。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了局部软件开发商的认可,成为目前比拟流行的Web应用效劳器。Tomcat很受广阔程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件效劳等开发应用系统常用的功能;而且它还在不断的改良和完善中,任何一个感兴趣的程序员都可以更改它或在其中参加新的功能。Tomcat是一个小型的轻量级应用效劳器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache效劳器,可利用它响应对HTML页面的访问请求。实际上Tomcat局部是Apache效劳器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。这里的诀窍是,当配置正确时,Apache为HTML页面效劳,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS、Apache等Web效劳器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache效劳器。2.3数据库的连接本系统采用JDBC连接方式。JDBC〔JavaDataBaseConnectivity,java数据库连接〕是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBCAPI,就不必为访问API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行〞的优势。Java具有巩固、平安、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是Java应用程序与各种不同数据库之间进行对话的方法。而JDBC正是作为此种用途的机制。JDBC扩展了Java的功能。例如,用Java和JDBCAPI可以发布含有applet的网页,而该applet使用的信息可能来自远程数据库。企业也可以用JDBC通过Intranet将所有职员连到一个或多个内部数据库中〔即使这些职员所用的计算机有Windows、Macintosh和UNIX等各种不同的编程语言,对从Java中便捷地访问数据库的要求也在日益增加。MISJava和JDBC的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同Java和JDBC可为外部客户提供获取信息更新的更好方法。packagemsc.dbc;importection;importerManager;importltSet;importxception;importement;publicclassDataBaseConnectionprivatestaticStringDBDRIVER".Driver";privatestaticStringDBURL"jdbc:gbk";privatestaticStringDBUSER"root";privatestaticStringDBPASSWORD"";privatestaticConnectionconnnull;publicConnectiongetConnectiontryClass.forNameDBDRIVER;connDriverManager.getConnectionDBURL,DBUSER,DBPASSWORD;catchExceptioneSytln"vv"+e.getMessage;returnconn;publicvoidclosetrye;catchExceptione3需求分析3.1功能分析经过前期的深入调查和研究,总结出该系统需要完成的一些具体功能,分析如下:管理员管理能够完成管理员对教师的信息管理〔教师信息查询、信息修改、增加信息、信息删除〕、学生管理〔学生信息查询、选课查询、学生信息修改、学生信息删除〕、课程管理〔课程信息查询、课程管理〕,以及查看、回复和删除留言的功能。教师管理能够完成开设课程、信息查询、成绩提交、密码修改的功能。学生管理能够完成个人信息查询、选择课程、密码修改、留言的功能。图3.1功能.1系统流程只有在教师开设了某一门课程,并且在网上提交成功以后,学生才可以查询到此门课程,并且才可以选定课程,提交成功以后,待考试结束,教师即可对选择自己开设课程的学生录入成绩,并且提交。图3.2选课系统登录流程登陆的时候会根据用户的用户名进行判断是哪种身份的登录,并以不同的身份登陆后执行不同的功能,具有不同的权限。图3.3登陆流程图3.3系统概念模型描述目前,在概念设计阶段实体联系模型是广泛使用的设计工具。统的实体型本系统包括学生、教师、班级三个主要实体。学生实体型属性有学号、姓名、登录密码。课程实体型属性有课程编号、课程名称、课程学分。教师实体性属性有教师编号、教师姓名、登录密码。系统局部E-R图学生实体型与课程实体型存在选课的联系,一个学生可以选修多门课程,每门课程可以被多个学生选修,所以它们之间存在多对多联系m:n,如下列图所示:图3.4学生---课程E-R图教师实体型与课程实体型存在属于的关系,一个课程只可属于一个教师,每个教师可以有多个课程,所以教师实体型和课程实体型存在一对多联系1:n,如下列图所示:图3.5教师---课程E-R图系统的局部E-R图,只反映局部应用实体型之间的联系,但不能从整体上反映实体型之间的相互关系。另外,对于一个较为复杂的应用而言,各局部是由多个分析人员合作完成的,画出的E-R图只能反映各局部应用。各局部E-R图之间可能存在一些冲突和重复的局部。为减少这些问题,必须根据实体联系在实际应用中的语义,进行综合、调整和优化,得到系统的合成优化E-R图,如下列图所示:图3.6系统E-R图3.4数据库设计得出数据表的各个关系模式后,需要给出是各数据表结构。考虑系统的兼容性及编写程序的方便性,可将关系模式的属性对应为表字段的英文名。同时,考虑到数据依赖关系和数据完整性,需要指出表的主码和外码,以及字段的值域约束和数据类型。数据库名:msc表1课程表course字段字段名类型长度主键可否为空Con课程编号数值型20是否Cname课程名称文本型50否Credit学分数值型20表2学生表student字段字段名类型长度主键可否为空Sid学生编号数值型20是否Sname学生姓名文本型50否Smajor专业文本型50Sclass班级数值型20Tcredit总学分数值型20Tcreditjd挂科学分数值型20Ocredit平均学分绩点数值型20Acredit总学分绩点数值型20Egrade课程班级数值型20Majorpm专业排名数值型20Classpm班级排名数值型20Scode登录密码数值型20表3教师表teacher字段字段名类型长度主键可否为空Tid教师编号数值型20是否Tname教师姓名文本型50否Tcode登录密码数值型20表4用户表user字段字段名类型长度主键可否为空Id用户名数值型20是否Name用户姓名文本型50否Code登录密码数值型20Kind登录身份数值型20否表5开设课程表teacher_course字段字段名类型长度主键可否为空Id编号数值型20是否Tid教师编号数值型20是否Con课程编号数值型20是否Credit学分数值型20Avscore平均分数值型20score最高分数值型20Minscore最低分数值型20Cteachno教学班号数值型20Clocation上课地点数值型20Ctime上课时间文本型50C课程容量数值型20Csel已选人数数值型20表6学生选课表student_course字段字段名类型长度主键可否为空Id编号数值型20是否Sid学生编号数值型20是否Con课程编号数值型20是否Tid教师编号数值型20是否Credit学分数值型20Pscore平均成绩数值型20Lscore平时成绩数值型20Escore期末成绩数值型20Scorejd学分绩点数值型20表7留言表record字段字段名类型长度主键可否为空Mid编号数值型20是否Id用户名文本型50是否Name用户姓名文本型50否Content留言内容文本型255Date留言日期模块功能管理员模块详细表述:首先进入登陆界面图4.1登录页面输入用户名:admin密码:123以管理员身添加学生信息页面publicvoidInsertStudentStringsid,Stringsname,Stringsmajor,Stringsclass,StringscodethrowsExceptionStringsql"teUpdatesql;stmt.close;catchExceptionethrownewException"插入中出现错误!!!";finallydbc.close;删除学生信息页面publicvoidDeletebyIDStringsidthrowsExceptionStringsql"DELETEFROMstudentWHEREsid'"+sid+"';";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;stmt.executeUpdatesql;stmt.close;catchExceptionethrownewException"删除中出现错误!!!";finallydbc.close;查询学生信息页面publicVectorSelectStringsid,Stringsclass,StringsmajorthrowsExceptionVectorallnewVector;Stringsql1"SELECT*FROMstudentWHERE";Stringsqlnull;ifsid!""sqlsql1+"sidLIKE'%"+sid+"%'";ifsclass!""sqlsql+"andsclassLIKE'%"+slose;catchExceptionethrownewException"查询中出现错误!!!";finallydbc.close;returnall;publicStringSelectBySidStringsidthrowsExceptionStringsnamenull;Stringsql"selectsnamefromstudentwheresid'"+sid+"';";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;ResultSetrsstmt.executeQuerysql;whilers.nextsnamers.getString"sname";rs.close;stmt.close;catchExceptione//TODO:handleexceptionthrownewException"查询中出错!!!";finallydbc.close;returnsname;修改学生信息页面publicvoidUpdatebyIDStringsid,Stringsname,Stringsmajor,Stringsclass,StringscodethrowsExceptionStringsql"UPDATEstudentsetsname'"+sname+"',smajor'"+smajor+"',sclass'"+sclass+"',scode'"+scode+"'WHEREsid'"+sid+"';";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;stmt.executeUpdatesql;stmt.close;catchExceptionethrownewException"修改中出现错误!!!";finallydbc.close;留言板publicVectorSearchMassagethrowsExceptionVectorallnewVector;Stringsql"SELECT*FROMrecordORDERBYmiddesc";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;ResultSetrsstmt.executeQuerysql;whilers.nextMassagemsgnewMassage;msg.setMidrs.getInt"mid";msg.setIdrs.getString"id";msg.setNamers.getString"name";msg.setContentrs.getString"content";msg.setDaters.getString"date";all.addElementmsg;rs.close;stmt.close;catchExceptionethrownewException"查询中出现错误!!!";finallydbc.close;returnall;可以对留言进行删除和回复操作:图4.7管理员回复页面publicvoidInsertMassageStringid,Stringname,Stringcontent,StringdatethrowsExceptionStringsql"Iion.createStatement;stmt.executeUpdatesql;Sytln"##############";stmt.close;catchExceptionethrownewException"插入中出错!!!";finallydbc.close;publicvoidDeletebyMidintmidthrowsExceptionStringsql"DELETEFROMrecordWHEREmid"+mid+";";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;stmt.executeUpdatesql;stmt.close;catchExceptionethrownewException"删除中出现错误!!!";finallydbc.close;教师信添加教师信息页面publicclassTeacherDAOpublicvoidInsertTeacherStringtid,Stringtname,StringtcodethrowsExceptionStringsql"INSERTINTOteachertid,tname,tcodeVALUES'"+tid+"','"+tname+"','"+tcode+"';";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;stmt.executeUpdatesql;stmt.close;catchExceptionethrownewException"插入中出现错误!!!";finallydbc.close;.3课查询课程信息页面publicVectorSelectStringcno,Stringcname,doublecreditthrowsExceptionVectorallnewVector;Stringsql1"SELECT*FROMcourseWHERE";Stringsqlnull;ifcno!""sqlsql1+"cnoLIKE'%"+cno+"%'";ifcname!""sqlsql+"andcnameLIKE'%"+cname+"%'";ifcredit!0sqlsql+"credit'"+credit+"'";elseifcname!""sqlsql1+"cnameLIKE'%"+cname+"%'";ifcredit!0sqlsql+"andcredit'"+credit+"'";elseifcredit!0sqlsql1+"credit'"+credit+"'";elsesql"SELECT*FROMcourse";sqlsql+";";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;ResultSetrsstmt.executeQuerysql;whilers.nextCoursecounewCourse;cou.setCnors.getString"cno";cou.setCnamers.getString"cname";cou.setCreditrs.getDouble"credit";all.addElementcou;rs.close;stmt.close;catchExceptionethrownewException"查询中出现错误!!!";finallydbc.close;returnall;.4成绩处理包括成绩汇总和排名次的功能图4.10成绩处修改密码图4.11管理员修改密码页面publicvoidChangecodeStringid,StringcodethrowsExceptionStringsql"UPDATEusersetcode'"+code+"'WHEREid'"+id+"';";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;stmt.executeUpdatesql;stmt.close;catchExceptionethrownewException"修改中出现错误!!!";finallydbc.close;4.2教师模块功能输入用户名:234密码:123以教师身开设课程1.课程查询〔同管理员中课程查询功能相同〕2.提交课程必须是管理员已经添加的课程才可以开设图4.12开设课程页面publicvoiddoGetHttpServletRequestrequest,HttpServletResponseresponsethrowsServletException,IOExceptiondoPostrequest,response;publicvoiddoAddHttpServletRequearameter"ctime2";Stringscrequest.getParameter"c";intcInteger.parseIntsc;intcteachnoInteger.parseIntscteachno;Stringctime"星期"+ctime1+"第"+ctime2+"节";TcDAOtcdaonewTcDAO;trySytln"^^^^^^^^^^^^^^";tcdao.InsertCoursetid,cno,cteachno,clocation,ctime,c;out.println"";out.println"AServlet";out.println"BODYbgcolor#8dd8f8";out.print"imgsrcimage/t.pngfontsize6colorred提交成功!";out.println"";out.println"";catchExceptioneout.println"";out.println"AServlet";out.println"BODYbgcolor#8dd8f8";out.print"imgsrcimage/f.pngfontsize6colorred提交失败!";out.println"";out.println"";out.flush;out.close;成功开设课程页面4.删除课程只能删除自己开设的课程publicvoiddoDeleteHttpServletRequestrequest,HttpServletResponseresponsethrowsServletException,IOExceptionresponse.setContentType"text/html";request.setCharacterEncoding"utf-8";response.setCharacterEncoding"utf-8";PrintWriteroutresponse.getWriter;Stringtidrequest.getParameter"tid";Stringrnrequest.getParameter"n";intnInteger.parseIntrn;intfn0;intdn0;ScDAOscdaonewScDAO;TcDAOtcdaonewTcDAO;forinti0;in;i++Stringcnorequest.getParameter"cno"+i+"";ifcno!nulltrytcdao.DeletebyIDtid,cno;scdao.DeletebyTidCnotid,cno;catchExceptione//TODOAuracterEncoding"utf-8";PrintWriteroutresponse.getWriter;Stringrsnrequest.getParameter"sn";intsnInteger.parseIntrsn;Stringtidrequest.getParameter"tid";Stringcnorequest.getParameter"cno";Stringsubmitrequest.getParameter"submit";TcDAOtcdaonewTcDAO;intcon0;forintj0;jsn;j++Stringsidrequest.getParameter"sid"+j+"";Stringrpscorerequest.getParameter"pscore"+j+"";Stringrlscorerequest.getParameter"lscore"+j+"";doublepscoreDouble.parseDoublerpscore;doublelscoreDouble.parseDoublerlscore;ScDAOscdaonewScDAO;tryscdao.UpdateScoresid,cno,tid,pscore,lscore;catchExceptioneout.println"";out.println"AServlet";out.println"BODYbgcolor#8dd8f8";out.print"imgsrcimage/f.pngfontsize6colorred第"+j+1+"名学生成绩提交失败!";out.println"";out.println"";concon++;ifcon0tryifsubmit.equals"暂时提交"tcdao.UpdateSubtid,cno,"1";elsetcdao.UpdateSubtid,cno,"2";catchExceptione//TODOAuto-generatedcatchblocke.printStackTrace;out.println"";out.println"AServlet";out.println"BODYbgcolor#8dd8f8";out.print"imgsrcimage/t.pngfontsize6colorred提交成功!";out.println"";out.println"";out.flush;out.close;暂时提交以后,成绩将不会在已提交页面中显示,而且可以随时修改成绩,最终提交以后就不能再修改成绩,最终成绩将在已提交课程中显示。另外,本系统为了方便教师保存查阅成绩信息,将提供导出excel表的功能,教师可以自由下载。图4.16最信息查询为了方便教师本人开设课程,本系统不但可以查询教师本人的详细信息以及开设课程所有信息,还包括选择自己开设课程的学生,以及其他教师的开设课程的详细信息,以免发生冲突。图4.17教师个人信息查询页面publicVectorSelectSelfStringtid,StringconthrowsExceptionVectorallnewVector;Stringsql"SELECTtco,courseame,course.credit,tc.cteachno,tc.clocation,tc.ctime,tc.c,tc.cselfromtc,coursewherecourseotcoandtc.tid'"+tid+"'";ifcon.equals"1"sqlsql+"andtc.sub!'2';";elseifcon.equals"2"sqlsql+"andtc.sub'2';";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;ResultSetrsstmt.executeQuerysql;whilers.nextTccounewTc;cou.setCnors.getString"tco";cou.setCnamers.getString"courseame";cou.setCreditrs.getDouble"course.credit";cou.setClocationrs.getString"tc.clocation";cou.setCteachnors.getInt"tc.cteachno";cou.setCtimers.getString"tc.ctime";cou.setCrs.getInt"tc.c";cou.setCselrs.getInt"tc.csel";all.addElementcou;rs.close;stmt.close;catchExceptionethrownewException"查询中出现错误!!!";finallydbc.close;returnall;图4.18其他教师开设课程查询页面publicVectorSelectScoreStringtidthrowsExceptionVectorallnewVector;Stringsql"SELECTtco,courseame,course.credit,tc.cselfromtc,coursewheretc.tid'"+tid+"'andcourseotco;";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;ResultSetrsstmt.executeQuerysql;whilers.nextTccounewTc;cou.setCnors.getString"tco";cou.setCnamers.getString"courseame";cou.setCreditrs.getDouble"course.credit";cou.setCselrs.getInt"tc.csel";all.addElementcou;rs.close;stmt.close;catchExceptionethrownewException"查询中出现错误!!!";finallydbc.close;returnall;publicStringSelectTidStringcno,intcteachnothrowsExceptionStringsql"SELECTtidfromtcwherecno'"+cno+"'andcteachno"+cteachno+";";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;Stringtidnull;trystmtdbc.getConnection.createStatement;ResultSetrsstmt.executeQuerysql;whilers.nexttidrs.getString"tid";rs.close;stmt.close;catchExceptionethrownewException"查询中出现错误!!!";finallydbc.close;returntid;密码修改publicvoidChangecodeStringtid,StringtcodethrowsExceptionStringsql"UPDATEteachersettcode'"+tcode+"'WHEREtid'"+tid+"';";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;stmt.executeUpdatesql;stmt.close;catchExceptionethrownewException"修改中出现错误!!!";finallydbc.close;4.3学生模块功能用户名:004密码:123以学生身份登录1.课程查询学生可以根据不同的查询条件进行查询,从而决定自己选择的课程。4.19查询课程信息页面publicclassScDAOpublicVectorScSelectStringcno,Stringcname,doublecredit,intcteachno,Stringclocation,Stringctime,StringtnamethrowsExceptionVectorallnewVector;Stringsql"SELECTtco,courseame,course.credit,tc.cteachno,tc.clocation,tc.ctime,tc.c,tc.csel,teacher.tnameFROMtc,course,teacherwheretcocourseoandtc.tidteacher.tid";ifcno!""sqlsql+"andtcoLIKE'%"+cno+"%'";ifcname!""sqlsql+"andcourseameLIKE'%"+cname+"%'";ifcredit!0sqlsql+"andcourse.credit'"+credit+"'";ifcteachno!0sqlsql+"andtc.cteachno'"+cteachno+"'";ifclocation!""sqlsql+"andtc.clocationLIKE'%"+clocation+"%'";ifctime!""sqlsql+"andtc.ctimeLIKE'%"+ctime+"%'";iftname!""sqlsql+"andteacher.tnameLIKE'%"+tname+"%'";sqlsql+";";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;ResultSetrsstmt.executeQuerysql;whilers.nextTccounewTc;cou.setCnors.getString"tco";cou.setCnamers.getString"courseame";cou.setCreditrs.getDouble"course.credit";cou.setCteachnors.getInt"tc.cteachno";cou.setClocationrs.getString"tc.clocation";cou.setCtimers.getString"tc.clocation";cou.setCtimers.getString"tc.ctime";cou.setCrs.getInt"tc.c";cou.setCselrs.getInt"tc.csel";cou.setTnamers.getString"teacher.tname";all.addElementcou;rs.close;stmt.close;catchExceptionethrownewException"查询中出现错误!!!";finallydbc.close;returnall;2.提交课程此处可以看到已经选择的课程的信息图4.20已选课程页面然后可以根据自己的情况选择新的课程图4.21提交课程页面图4.22选课成功publicvoiddoGetHttpServletRequestrequest,HttpServletResponseresponsethrowsServletException,IOExceptiondoPostrequest,response;publicvoiddoAddHttpServletRequestrequest,HttpServletResponseresponsethrowsServletException,IOExceptionresponse.setContentType"text/html";request.setCharacterEncoding"utf-8";response.setCharacterEncoding"utf-8";PrintWriteroutresponse.getWriter;Stringsidrequest.getParameter"sid";Stringcnorequest.getParameter"cno";Stringrcteachnorequest.getParameter"cteachno";intcteachnoInteger.parseIntrcteachno;doublecredit0;CourseDAOcdaonewCourseDAO;TcDAOtcdaonewTcDAO;ScDAOscdaonewScDAO;Vectorvct1null;Stringtidnull;Stringctimenull;booleancanchofalse;trySytln"%%%%%%%%%%%";vct1cdao.Selectcno,"",0;tidtcdao.SelectTidcno,cteachno;ctimetcdao.SelectCtimecno,cteachno;canchoscdao.Checksid,ctime;Sytlncancho;catchExceptione1e1.printStackTrace;ifvct1.size!0CoursecouCoursevct1.elementAt0;creditcou.getCredit;ifcanchofalsetry//Sytln"^^^^^^^^^^^^^^^^";scdao.Insertsid,cno,tid,credit;Sytln"$$$$$$$$$$$";tcdao.AddCseltid,cno;catchExceptioneresponse.sendRedirect"student_cho_sub.jsp";elseout.println"";out.println"AServlet";out.println"BODYbgcolor#8dd8f8";out.print"imgsrcimage/f.pngfontsize6colorred提交成功!!!";out.println"";out.println"";out.flush;out.close;3.删除课程可以对已经选择的课程进行删除操作图4.23删除课程页面点击提交删除选择的课程,可以同时删除多门课程。删除以后还可以重新选择此门课程,不必担忧删除错误。图4.24删除成功此外,如果此处删除以后,教师的课程信息中将不会再有自己的这个选课信息。图4.25修改后的课程信息publicvoiddoDeleteHttpServletRequestrequest,HttpServletResponseresporintln"BODYbgcolor#8dd8f8";out.print"imgsrcimage/f.pngfontsize6colorred"+cno+"课程删除失败!";out.println"";out.println"";fn++;dn++;ifdn0out.println"";out.println"AServlet";out.println"BODYbgcolor#8dd8f8";out.print"imgsrcimage/f.pngfontsize6colorred未选择删除课程!";out.println"";out.println"";elseiffn0out.println"";out.println"AServlet";out.println"BODYbgcolor#8dd8f8";out.print"imgsrcimage/t.pngfontsize6colorred课程删除成功!";out.println"";out.println"";out.flush;out.close;4.成绩查询此功能不但提供学生个人的详细成绩查询,包括平时成绩、期末成绩、最终成绩和排名,而且能够查看别的同学的成绩。图4.26个人成绩查询publicVectorSelectCourseStringsidthrowsExceptionVectorallnewVector;Stringsql"SELECTsco,courseame,sc.tid,sc.credit,sc.pscore,sc.lscore,sc.escoreFROMsc,coursewheresc.sid'"+sid+"'andscocourseo;";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;ResultSetrsstmt.executeQuerysql;whilers.nextSccounewSc;cou.setCnors.getString"sco";cou.setCnamers.getString"courseame";cou.setTidrs.getString"sc.tid";cou.setCreditrs.getDouble"sc.credit";cou.setPscorers.getDouble"sc.pscore";cou.setLscorers.getDouble"sc.lscore";cou.setEscorers.getDouble"sc.escore";all.addElementcou;rs.close;stmt.close;catchExceptionethrownewException"查询中出现错误!!!";finallydbc.close;returnall;同时还能查看别的同学的成绩和排名,排名以总学分绩点来排名。图4.27他人成绩查询publicVectorS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司项目投资入股合同范例
- 买卖土地合作合同标准文本
- 上市公司协议收购合同标准文本
- 中英文合同标准文本
- 联名卡发行合同协议范本
- 智能城市建设数据共享与隐私保护合同
- 作品合作创作合同范例
- 电子产品采购代理合同
- 标准个人贷款担保合同模板
- 购销合同担保书范文
- 商户外摆合作协议
- 中小学落实每天体育2小时开展情况校长汇报发言:从政策到行动如何让学生体育两小时落地生花
- 第6课-做个胸卡送老人-(课件)
- 2024年河北建投集团招聘工作人员考试真题
- 公司文员面试试题及答案
- 2024-2025学年江苏省常州市高一上学期期末统考英语试卷
- 2025年湖北省八市高三(3月)联考物理试卷(含答案详解)
- 中央2025年中央宣传部直属单位招聘78人笔试历年参考题库附带答案详解
- 有效咳嗽咳痰课件
- 医院感染暴发及处理课件
- 2024《整治形式主义为基层减负若干规定》全文课件
评论
0/150
提交评论