jsp课程设计学生管理系统_第1页
jsp课程设计学生管理系统_第2页
jsp课程设计学生管理系统_第3页
jsp课程设计学生管理系统_第4页
jsp课程设计学生管理系统_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

/课程设计报告课程:jsp学号:姓名:班级:教师:徐州师范大学计算机科学与技术学院

课程设计任务书姓名学号班级课程名称数据库系统概论课程性质课程设计同组成员分工学生选课操作、教师管理操作两部分功能的实现设计时间设计名称学生选课管理信息系统的设计与实现设计要求系统功能基本要求:教师信息,包括教师编号、教师姓名、性别、年龄、学历、职称、毕业院校,健康状况等。学生信息,包括学号、姓名、所属院系、已选课情况等。教室信息,包括,可容纳人数、空闲时间等。选课信息,包括课程编号、课程名称、任课教师、选课的学生情况等。成绩信息,包括课程编号、课程名称、学分、成绩。按一定条件可以查询,并将结果打印输出。设计思路与设计过程设计思路:,本系统结合数据库和JSP编程实现了学生选课管理系统。学生选课管理系统分为三个子模块:第一模块是学生选课的页面操作,包括个人信息,密码修改,查询成绩,选课,退选五个功能;第二模块是教师操作页面,包含个人信息,密码修改,录入成绩,查询选课情况,查看教室信息;第三模块是管理员,包含学生信息管理(增加、修改、删除、查询),教师信息管理(增加、修改、删除、查询),管理员信息管理(增加、修改、删除、查询)。计划与进度构思整个系统的框架,在数据库中建表主要对学生选课的一些操作进行jsp编码主要对教师的相关操作进行jsp编码整合整个实验,并进行修改写课程设计的报告任课教师意见说明学生选课管理系统一.系统需求分析学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

因此,开发这样一套软件成为很有必要的事情,在下面的各章中我们将以开发一套学生选课系统为例,谈谈其开发过程和所涉与到的问题与解决方法。

本实验实现的学生选课管理系统主要包括以下功能:1.完成数据的录入和修改,并提交数据库保存。其中的数据包括:学生信息、课程设置、学生成绩以与操作员信息等;

2.设计实现学生信息查询,选课管理、退选管理、分数查询,课程的浏览教师信息查询、教室空闲时间查询等JSP页面。

3.具备一定的安全性管理功能。包括操作员的权限设置、修改密码设置、注销和等功能。二.系统总概括1.系统的总设计本系统结合数据库和JSP编程实现了学生选课管理系统。学生选课管理系统分为三个子模块:第一模块是学生选课的页面操作,包括个人信息,密码修改,查询成绩,选课,退选五个功能;第二模块是教师操作页面,包含个人信息,密码修改,录入成绩,查询选课情况,查看教室信息;第三模块是管理员,包含学生信息管理(增加、修改、删除、查询),教师信息管理(增加、修改、删除、查询),管理员信息管理(增加、修改、删除、查询)。学生选课教师管理管理员学生选课教师管理管理员学生选课管理系统2.数据库设计2.1数据库概念结构设计本系统主要有三个实体,其中有学生和课程两个实体集,一个学生可以选修若干门课程,一门课程也可以被多个学生选修,这两个实体集之间是多对多联系,还有教师和课程两个实体,一个老师可以教授若干门课程,一门课程却只能有一个老师教授,这两个实体集之间是一对多联系。通过选课成绩将老师和学生联系在一起。为保证系统的安全性,设置了操作员这一实体集,用来存放合法用户的编号、姓名、密码。本系统的E-R图如下:学生学生学号姓名密码院系性别电话地址选修成绩课程教授教师编编号毕业院校健康状况学历姓名密码院系年龄性别职称MNM1编课程号编课程名编教师号编学分编学时编地点编总人数编已选数编院系管理员管理员编号密码图2系统的E-R图2.2数据库逻辑结构设计根据关系模型的转换原则,上面的E—R图可转换为如下所示的关系模型:roomname,roomnum,roomtime)根据上面的E-R图设计与关系模型的设计,得出数据表的设计,在本系统中主要的数据表如下:表1学生表Student的表结构主码列名数据类型宽度小数位空否备注PksIdChar10

N学号

sNameChar20

Y姓名

sPassChar2

Y密码

dIdChar20

Y所在系号表2学生信息表StuDetail的表结构主码列名数据类型宽度小数位空否备注PkuserIDChar10

N学号

userSexChar10

Y性别

userMobilChar30

Y电话

userAddressChar50

Y地址表3教师表teacher的表结构主码列名数据类型宽度空否备注PktIdChar10N编号

tNameChar20Y姓名

tPassChar2Y密码

dIdChar20Y所在系号表4教师信息表teadetail的表结构主码列名数据类型宽度空否备注PkuserIDChar10N学号

userSexChar10Y性别

userAgeChar50Y电话

usereduChar30Y学历usertitleChar30Y职称userschChar30Y毕业院校UserhealthChar50Y健康状况表5课程信息表Course的表结构主码列名数据类型宽度空否备注PkcIdChar10N课程号

coNameChar20Y课程名称

tIdChar10Y教师号

creditChar8Y学分periodChar8Y学时cPlaceChar10Y上课地点cNumAllChar4Y总人数cNumChar4Y已选人数dIdChar10Y院系号表6选课成绩表choosecourse的表结构主码列名数据类型宽度空否备注PkcIdChar5N课程代码sIdChar3N学号

gradeDecimal5Y成绩表7教室信息表room的表结构主码列名数据类型宽度空否备注PkroomnameChar10N教室名roomnumChar10N容纳人数

roomtimeChar10Y空闲时间表8管理员表admin的表结构主码列名数据类型宽度空否备注PkaIdChar10N管理员编号

aPassChar10Y管理员姓名表9院系表department的表结构主码列名数据类型宽度空否备注PkdIdChar10N院系号

dNameChar10Y院系名下面在系统实施阶段就可以物理实现数据库了,本系统使用前面实验已经建好的服务器端SQLServer数据库—xuanke,具体创建方法见前面实验。三.系统实现本实验是用JSP结合数据库实现的,其中包含了三个主页面,一是学生登录页面,二是教师登录页面,三是管理员登录页面。其中每个页面中都会有菜单进行相应的操作。3.1JSP文件代表的操作(1)主界面操作:Index.jsp//登录界面(包含学生、教师、管理员三个选项)Login.jsp//密码验证(2)学生选课(a)学生选课界面:student.jps//菜单显示studentIndex.html//欢迎界面studentMessage.jsp(b)个人信息:studMessSel.jsp//个人信息的页面显示(c)密码修改:stuM.jsp//在数据库中修改密码stuMessMod.jsp//修改密码界面stuMessModSuc.jsp//修改成功(d)成绩查询:gradeselect.jsp//相应课程的成绩查询(e)选课:choosecourse.jsp//所有课程显示choose.jsp//在数据库中插入数据choosesuccess.jsp//选课成功(f)选课情况查询与退选:courseselect.jsp//选课情况查询ccdel.jsp//数据库中删除选课记录(g)注销:zhuxiao.jsp//注销(3)教师管理(a)教师管理界面:teacher.jps//菜单显示teacherIndex.html//欢迎界面teacherMessage.jsp(b)个人信息:teacherMessSel.jsp//个人信息的页面显示(c)密码修改:teacherM.jsp//在数据库中修改密码teacherMod.jsp//修改密码界面teaMessModSuc.jsp//修改成功(d)提交成绩:grade.jsp//选课学生信息显示gradeIns.jsp//在数据库中插入数据(e)课程信息:lookcourse.jsp//选课情况查询(f)教室信息:classroom.jsp//查看可用教室的空闲时间(g)注销:zhuxiao.jsp//注销3.2数据库的连接举例:验证用户类型和密码时的数据库连接<body><%Stringname=(String)request.getParameter("username");Stringpass=(String)request.getParameter("userpass");Strings=(String)request.getParameter("userselect");Connectionconn=null;Statementstmt=null;ResultSetrs=null;StringloginNum="0";session.setAttribute("lnum",loginNum);try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn=DriverManager.getConnection("jdbc:odbc:xk","sa",""); if(s.equals("1")) { Stringsql="select*fromstudentwheresId='"+name+"'andsPass='"+pass+"'"; stmt=conn.createStatement(); rs=stmt.executeQuery(sql); if(rs.next()) { loginNum="1"; session.setAttribute("lnum",loginNum); session.setAttribute("name",name); out.print(name+"登陆成功,页面跳转"); response.sendRedirect("student/studentIndex.html"); } else { out.print("用户名或密码有误.."); response.sendRedirect("index.jsp"); } } if(s.equals("2")) { Stringsql="select*fromteacherwheretId='"+name+"'andtPass='"+pass+"'"; stmt=conn.createStatement(); rs=stmt.executeQuery(sql); if(rs.next()) { loginNum="2"; session.setAttribute("lnum",loginNum); session.setAttribute("name",name); out.print(name+"登陆成功,页面跳转"); response.sendRedirect("teacher/teacherIndex.html"); } else { out.print("用户名或密码有误.."); response.sendRedirect("index.jsp"); } }if(s.equals("3")) { Stringsql="select*fromadminwhereaId='"+name+"'andaPass='"+pass+"'"; stmt=conn.createStatement(); rs=stmt.executeQuery(sql); if(rs.next()) { loginNum="3"; session.setAttribute("lnum",loginNum); session.setAttribute("name",name); out.print("管理员"+name+"登陆成功,页面跳转"); response.sendRedirect("admin/adminIndex.html"); } else { out.print("用户名或密码有误.."); out.print("<ahref=index.jsp>登陆页面</a>"); } }}catch(Exceptione){out.print(e);//response.sendRedirect("index.jsp");}%></body>3.3具体操作(1)学生选课操作(a)登录页面图1.1学生登录页面主要代码:<body><formname="loginform"method="post"action="login.jsp"><br><br><br><br><tablewidth="500"height="150"border="0"align="center"><tr><tdalign="center"><fontsize="5"color="#FFFFFF">欢迎您使用学生选课系统</font></td></tr><tr></table><tablewidth="294"border="0"align="center"><tr><tdcolspan="3"> </td></tr><tr><tdwidth="79">用户名:</td><tdwidth="148"><inputname="username"type="text"size="20"size="20"maxlength="30"></td><tdwidth="53"rowspan="2"><imgsrc="image/logo_img.gif"width="37"height="40"onClick="loginclick()"></td></tr><tr><td>密码:</td><td><inputname="userpass"type="password"size="20"size="20"maxlength="30"></td></tr><tr><td>用户类型:</td><td><selectname="userselect"><optionvalue="1"selected>学生</option><optionvalue="2">教师</option><optionvalue="3">管理员</option></select></td><td> </td></tr></table></form></body>(b)菜单操作图1.2学生选课系统的界面主要代码:<tablewidth="100%"border="0"cellpadding="0"cellspacing="1"bgcolor="#000000"><tr><tdheight="40"align="center"bgcolor="#00509F"><divalign="center"><fontcolor="#FFFFFF"size="4">学生选课系统</font></div></td></tr><tr><tdheight="40"align="center"bgcolor="#FFFFFF"><divalign="left"><imgsrc="image/index_01.gif"width="20"height="17"><ahref="studMessSel.jsp"target="rightFrame"><fontcolor="#0000FF"size="3">个人信息</font></a></div></td></tr><tr><tdheight="40"align="center"bgcolor="#FFFFFF"><divalign="left"><imgsrc="image/index_01.gif"width="20"height="17"><ahref="stuMessMod.jsp"target="rightFrame"><fontcolor="#0000FF"size="3">密码修改</font></a></div></td></tr><tr><tdheight="40"align="center"bgcolor="#FFFFFF"><divalign="left"><imgsrc="image/index_01.gif"width="20"height="17"><ahref="gradeSelect.jsp"target="rightFrame"><fontcolor="#0000FF"size="3">成绩查询</font></a></div></td></tr><tr><tdheight="40"align="center"bgcolor="#FFFFFF"><divalign="left"><imgsrc="image/index_01.gif"width="20"height="17"><ahref="courseSelect.jsp"target="rightFrame"><fontcolor="#0000FF"size="3">选课查询以与退选</font></a></div></td></tr><tr><tdheight="40"align="center"bgcolor="#FFFFFF"><divalign="left"><imgsrc="image/index_01.gif"width="20"height="17"><ahref="choosecourse.jsp"target="rightFrame"><fontcolor="#0000FF"size="3">选课</font></a></div></td></tr><tr><tdheight="40"align="center"bgcolor="#FFFFFF"><divalign="left"><imgsrc="image/index_01.gif"width="20"height="17"><ahref="zhuxiao.jsp"target="_top"><fontcolor="#0000FF"size="3">注销</font></a></div></td></tr></table>(c)个人信息显示学生进入后可以在菜单里进行相应的操作,点击个人信息时,就会出现该学生的信息.如下图所示:图1.2学生信息显示的界面主要代码:从数据库中读出相应的信息:try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn=DriverManager.getConnection("jdbc:odbc:xk","sa",""); Stringsql="select*fromstudentwherestudent.sId='"+name+"'"; System.out.println(sql); stmt=conn.createStatement(); rs=stmt.executeQuery(sql); if(rs.next()) { sId=rs.getString("sId"); sName=rs.getString("sName"); dId=rs.getString("dId"); } Stringsql1="select*fromstuDetailwhereuserID='"+name+"'"; System.out.println(sql1); stmt=conn.createStatement(); rs=stmt.executeQuery(sql1); if(rs.next()) { Sex=rs.getString("userSex");Mobil=rs.getString("userMobil");Addr=rs.getString("userAddress"); } Connectionconnd=null; Statementstmtd=null; ResultSetrsd=null; connd=DriverManager.getConnection("jdbc:odbc:xk","sa",""); stmtd=connd.createStatement(); rsd=stmtd.executeQuery("selectdNamefromdepartmentwheredId='"+dId+"'"); if(rsd.next()) { dName=rsd.getString("dName"); } } catch(Exceptione){out.println(e); }%><formname="form1"method="post"><tablewidth="350"border="0"align="center"cellpadding="0"cellspacing="2"class="border"><tdheight="25"align="center"><strong><fontsize="5"color="#FFFFFF">学生个人信息</font></strong></td></table><tableborder="10"align="center"width="500"height="150"><tr> <Tdwidth="60"><font size="4"color="#FFFFFF">学号</font></Td><tdwidth="100"><font size="3"color="#FFFFFF"><%=sId%></font></td> <tdwidth="60"><font size="4"color="#FFFFFF">姓名</font></td><tdwidth="100"><font size="3"color="#FFFFFF"><%=sName%></font></td> <tdwidth="60"><font size="4"color="#FFFFFF">性别</font></td><tdwidth="100"><font size="3"color="#FFFFFF"><%=Sex%></font></td> </tr> <tr> <td><font size="4"color="#FFFFFF">院系</font></td><td><font size="3"color="#FFFFFF"><%=dName%></font></td> <td><font size="4"color="#FFFFFF">电话</font></td><td><font size="3"color="#FFFFFF"><%=Mobil%></font></td> <td><font size="4"color="#FFFFFF">地址</font></td><td><font size="3"color="#FFFFFF"><%=Addr%></font></td></tr></table></form>(d)密码修改举例:将0826006学号的密码该为:6666其显示如下:图1.3修改密码修改提交后数据库中的结果如下,可见密码已修改图1.4数据库中修改后的student表主要代码:数据库中修改该学生的密码的代码StringsPass=(String)request.getParameter("sPass"); Connectionconn=null; Statementstmt=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn=DriverManager.getConnection("jdbc:odbc:xk","sa",""); Stringsql2="updatestudentsetsPass='"+sPass+"'wheresId='"+name+"'"; stmt=conn.createStatement(); stmt.executeUpdate(sql2);stmt.close(); response.sendRedirect("stuMessModSuc.jsp"); }functioncheckBig(){if(document.form1.sPass.value==""){alert("密码不能为空!");document.form1.sPass.focus();returnfalse;}elseif(document.form1.sPassagn.value==""){alert("再次输入密码!");document.form1.sPassagn.focus();returnfalse;}elseif(document.form1.sPass.value!=document.form1.sPassagn.value){alert("两次密码不同!");document.form1.sPass.focus();returnfalse;}}out.print("修改成功");(e)成绩查询根据教授该门课的老师是否提交成绩,学生可以查到自己相应课程的成绩,其查询结果如下:图1.5查询成绩的页面主要代码: try { Statementstmtc=null; ResultSetrsc=null; Connectionconnc=null; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); connc=DriverManager.getConnection("jdbc:odbc:xk","sa",""); Stringsqlc="select*fromchooseCoursewheresId='"+name+"'"; stmtc=connc.createStatement(); rsc=stmtc.executeQuery(sqlc);while(rsc.next()) { StringcoId=rsc.getString("coId"); floatgrade=rsc.getFloat("grade"); Stringgrademess=null; Statementstmt=null; ResultSetrs=null; Connectionconn=null; conn=DriverManager.getConnection("jdbc:odbc:xk","sa",""); Stringsql="selectcoNamefromcoursewherecoId='"+coId+"'"; stmt=conn.createStatement(); rs=stmt.executeQuery(sql); if(rs.next()) {if(grade>0)out.print(grade); elseout.print("未提交");}}(f)课程查询与退选可以通过对应课程后面的退选选项进行课程的退选图1.6查询选课情况的页面主要代码:<tablewidth="90%"border="0"align="center"cellpadding="0"cellspacing="0"><tr><tdalign="center"valign="top"><pclass="style8"> <%=name%>选课选择情况</p><tablewidth="600"border="0"cellpadding="0"cellspacing="1"bgcolor="#000000"><tr><tdwidth="100"align="center"bgcolor="#FFCCFF"><divalign="center"><strong><fontcolor="blue">课程名称</font></strong></div></td><tdwidth="60"align="center"bgcolor="#FFCCFF"><divalign="center"><strong><fontcolor="blue">学分</font></strong></div></td><tdwidth="60"align="center"bgcolor="#FFCCFF"><divalign="center"><strong><fontcolor="blue">学时</font></strong></div></td><tdwidth="80"align="center"bgcolor="#FFCCFF"><divalign="center"><strong><fontcolor="blue">上课地点</font></strong></div></td><tdwidth="91"height="30"align="center"bgcolor="#FFCCFF"><divalign="center"><strong><fontcolor="blue">教师</font></strong></div></td><tdwidth="139"align="center"bgcolor="#FFCCFF"><strong><fontcolor="blue">操作选项</font></strong></td></tr> while(rsc.next()) { StringcoId=rsc.getString("coId"); floatgrade=rsc.getFloat("grade"); Stringgrademess=null; Statementstmt=null; ResultSetrs=null; Connectionconn=null; conn=DriverManager.getConnection("jdbc:odbc:xk","sa",""); Stringsql="select*fromcoursewherecoId='"+coId+"'"; stmt=conn.createStatement(); rs=stmt.executeQuery(sql); if(rs.next()) { StringcoName=rs.getString(2); StringtId=rs.getString(3); floatcredit=rs.getFloat(4); floatperiod=rs.getFloat(5); StringcPlace=rs.getString(7);Connectionconnt=null; Statementstmtt=null; ResultSetrst=null; connt=DriverManager.getConnection("jdbc:odbc:xk","sa",""); Stringsqlt="selecttNamefromteacherwheretId='"+tId+"'"; stmtt=connt.createStatement(); rst=stmtt.executeQuery(sqlt); if(rst.next())out.print(rst.getString(1)); } } rsc.close();stmtc.close(); %></table></td></tr></table>(f)选课界面中已通过数据库将所有的课程列出来,学生可以通过前面的选择标志进行选课。图1.7选课信息的页面与选课操作选课后,相应数据库中的choosecourse表增加了一行选课记录图1.8选课后数据库中的chooseCourse表主要代码:<formaction="choose.jsp"method="post"><tablewidth="90%"border="0"align="center"cellpadding="0"cellspacing="0"><tr><tdalign="center"valign="top"><br><br><tablewidth="800"border="0"cellpadding="0"cellspacing="1"bgcolor="#000000"><tr><tdwidth="40"height="30"align="center"bgcolor="#FFCCFF"><divalign="center"><strong>选择</strong></div></td><tdwidth="100"align="center"bgcolor="#FFCCFF"><divalign="center"><strong>课程名称</strong></div></td><tdwidth="60"align="center"bgcolor="#FFCCFF"><divalign="center"><strong>学分</strong></div></td><tdwidth="60"align="center"bgcolor="#FFCCFF"><divalign="center"><strong>学时</strong></div></td><tdwidth="80"align="center"bgcolor="#FFCCFF"><divalign="center"><strong>上课地点</strong></div></td><tdwidth="91"height="30"align="center"bgcolor="#FFCCFF"><divalign="center"><strong>教师</strong></div></td><tdwidth="70"align="center"bgcolor="#FFCCFF"><strong>剩余可选人数</strong></td></tr><% while(rs.next()) { StringcoId=rs.getString(1); StringcoName=rs.getString(2); StringtId=rs.getString(3); floatcredit=rs.getFloat(4); floatperiod=rs.getFloat(5); StringcPlace=rs.getString(6); intcNumAll=rs.getInt(7); intcNum=rs.getInt(8); intnum=cNumAll-cNum; %><trbgcolor="#FFCCFF"class="tdbg"><tdwidth="40"height="22"bgcolor="#FFFFFF"><divalign="center"><inputtype="radio"name="choose"value="<%=coId%>"<% Connectionconnc=null; Statementstmtc=null; ResultSetrsc=null; connc=DriverManager.getConnection("jdbc:odbc:xk","sa",""); Stringsqlc="select*fromchooseCoursewheresId='"+name+"'"; stmtc=connc.createStatement(); rsc=stmtc.executeQuery(sqlc); if(rsc.next())out.print(""); elseif(num<=0)out.print("disabled"); %>></div></td><tdwidth="100"height="22"bgcolor="#FFFFFF"><divalign="center"><%=coName%></div></td><tdwidth="60"height="22"bgcolor="#FFFFFF"><divalign="center"><%=credit%></div></td><tdwidth="60"height="22"bgcolor="#FFFFFF"><divalign="center"><%=period%></div></td><tdwidth="80"height="22"bgcolor="#FFFFFF"><divalign="center"><%=cPlace%></div></td><tdalign="right"bgcolor="#FFFFFF"style="padding-right:10"><divalign="center"><% Connectionconnt=null; Statementstmtt=null; ResultSetrst=null; connt=DriverManager.getConnection("jdbc:odbc:xk","sa",""); Stringsqlt="selecttNamefromteacherwheretId='"+tId+"'"; stmtt=connt.createStatement(); rst=stmtt.executeQuery(sqlt); if(rst.next())out.print(rst.getString(1)); %></div></td><tdalign="right"bgcolor="#FFFFFF"style="padding-right:10"><divalign="center"><%if(num>0)out.print(num); elseout.print("已选满");%></div></td></tr><% }%></table>(2)教师操作(a)登录页面输入教师的教师编号和密码,选择用户类型为教师,即可登录图2.1教师登录页面主要代码:<body><formname="loginform"method="post"action="login.jsp"><br><tablewidth="500"height="150"border="0"align="center"><tr><tdalign="center"><fontsize="5"color="#FFFFFF">欢迎您使用学生选课系统</font></td></tr><tr></table><tablewidth="294"border="0"align="center"><tr><tdcolspan="3"> </td></tr><tr><tdwidth="79">用户名:</td><tdwidth="148"><inputname="username"type="text"size="20"size="20"maxlength="30"></td><tdwidth="53"rowspan="2"><imgsrc="image/logo_img.gif"width="37"height="40"onClick="loginclick()"></td></tr><tr><td>密码:</td><td><inputname="userpass"type="password"size="20"size="20"maxlength="30"></td></tr><tr><td>用户类型:</td><td><selectname="userselect"><optionvalue="1"selected>学生</option><optionvalue="2">教师</option><optionvalue="3">管理员</option></select></td><td> </td></tr></table></form></body>(b)菜单操作登录之后进入教师操作页面,如下图所示,左边是菜单,可以进行相应的操作图2.2教师操作页面主要代码:<body><tablewidth="100%"border="0"cellpadding="0"cellspacing="1"bgcolor="#000000"><tr><tdheight="40"align="center"bgcolor="#6633CC"><divalign="center"><fontcolor="#FFFFFF"size="4">学生选课系统</font></div></td></tr><tr><tdheight="40"align="center"bgcolor="#FFFFFF"><divalign="left"><imgsrc="image/index_01.gif"width="20"height="17"><ahref="teacherMessSel.jsp"target="rightFrame"><fontcolor="#6633CC"size="3">个人信息</font></a></div></td></tr><tr><tdheight="40"align="center"bgcolor="#FFFFFF"><divalign="left"><imgsrc="image/index_01.gif"width="20"height="17"><ahref="teacherMessMod.jsp"target="rightFrame"><fontcolor="#6633CC"size="3">密码修改</font></a></div></td></tr><tr><tdheight="40"align="center"bgcolor="#FFFFFF"><divalign="left"><imgsrc="image/index_01.gif"width="20"height="17"><ahref="grade.jsp"target="rightFrame"><fontcolor="#6633CC"size="3">提交成绩</font></a></div></td></tr><tr><tdheight="40"align="center"bgcolor="#FFFFFF"><divalign="left"><imgsrc="image/index_01.gif"width="20"height="17"><ahref="lookcourse.jsp"target="rightFrame"><fontcolor="#6633CC"size="3">课程信息</font></a></div></td></tr><tr><tdheight="40"align="center"bgcolor="#FFFFFF"><divalign="left"><imgsrc="image/index_01.gif"width="20"height="17"><ahref="classroom.jsp"target="rightFrame"><fontcolor="#6633CC"size="3">教室信息</font></a></div></td></tr><tr><tdheight="40"align="center"bgcolor="#FFFFFF"><divalign="left"><imgsrc="image/index_01.gif"width="20"height="17"><ahref="zhuxiao.jsp"target="_top"><fontcolor="#6633CC"size="3">注销</font></a></div></td></tr></table><%}else{ out.print("请先登陆");out.print("<ahref=../index.jsp>登陆页面</a>");}%></body>(c)个人信息点击个人信息的菜单,会在右面的框里显示教师的个人信息,教师信息页面显示如下图:图2.3教师信息显示主要代码:Connectionconn=null; Statementstmt=null; ResultSetrs=null; StringtId=null; StringtName=null; StringdId=null; StringdName=null; Stringsex=null; Stringage=null; Stringedu=null; Stringtitle=null; Stringschool=null; Stringhealth=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn=DriverManager.getConnection("jdbc:odbc:xk","sa",""); Stringsql="select*fromteacherwhereteacher.tId='"+name+"'"; System.out.println(sql); stmt=conn.createStatement(); rs=stmt.executeQuery(sql); if(rs.next()) { tId=rs.getString("tId"); tName=rs.getString("tName"); dId=rs.getString("dId"); } Stringsql1="select*fromteaDetailwhereteaDetail.userID='"+name+"'"; System.out.println(sql); stmt=conn.createStatement(); rs=stmt.executeQuery(sql1); if(rs.next()) { sex=rs.getString("usersex"); age=rs.getString("userage"); edu=rs.getString("useredu"); title=rs.getString("usertitle"); school=rs.getString("usersch"); health=rs.getString("userhealth"); } Connectionconnd=null; Statementstmtd=null; ResultSetrsd=null; connd=DriverManager.getConnection("jdbc:odbc:xk","sa",""); stmtd=connd.createStatement(); rsd=stmtd.executeQuery("selectdNamefromdepartmentwheredId='"+dId+"'"); if(rsd.next()) { dName=rsd.getString(1); } } catch(Exceptione){out.println(e);}(c)密码修改将原来的密码111改成了111111图2.4教师密码修改界面修改后,可以查询数据库中的teacher表,可以看到马云教师的密码被修改成了111111。图2.5修改密码后的teacher表主要代码:StringtPass=(String)request.getParameter("tPass"); Connectionconn=null; Statementstmt=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn=DriverManager.getConnection("jdbc:odbc:xk","sa",""); Stringsql="updateteachersettPass='"+tPass+"'wheretId='"+name+"'"; stmt=conn.createStatement(); stmt.executeUpdate(sql);stmt.close(); response.sendRedirect("teaMessModSuc.jsp"); }<formname="form1"method="post"action="teacherM.jsp"onsubmit="returncheckBig()"><tablewidth="400"border="0"align="center"cellpadding="0"cellspacing="2"class="border"><trclass="title"><tdheight="25"colspan="2"align="center"><strong><font size="4"color="#000000">修改密码</font></strong></td></tr><trclass="tdbg"><tdwidth="130"height="30"><divalign="left"><strong><fontsize="3"color="#000000">密码:</font></strong></div></td><tdwidth="243"><divalign="left"><inputname="tPass"type="password"id="sPass"size="25"maxlength="30"/></div></td></tr><trclass="tdbg"><tdwidth="130"height="30"><divalign="left"><strong><fontsize="3"color="#000000">再次输入密码:</font></strong></div></td><tdwidth="243"><divalign="left"><inputname="tPassagn"type="password"id="sPassagn"size="25"maxlength="30"/></div></td></tr><trclass="tdbg"><tdheight="30"align="center"> </td><tdheight="30"align="center"><divalign="left"><inputname="Add"type="submit"value="修改"/></div></td></tr></table></form>(d)成绩录入点击菜单中的提交成绩,可显示如下页面:图2.6学生成绩录入界面点击相应的课程下的学生成绩录入,可进入下个页面:学号为0826006的学生录入成绩为59分。图2.7成绩录入成绩录入后可在数据中查询到相应的信息,学生也可通过学生选课菜单中的查询成绩也可看到相应的成绩,下图为数据库中的choosecourse中的信息图2.8录入成绩后数据库中的choosecourse表主要代码:Connectionconn=null; Statementstmt=null; ResultSetrs=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn=DriverManager.getConnection("jdbc:odbc:xk","sa",""); Stringsql="selectcourse.coId,coName,sId,gradefromcourse,chooseCoursewherecourse.coId=chooseCourse.coIdandtId='"+name+"'"; stmt=conn.createStatement(); rs=stmt.executeQuery(sql);while(rs.next()) { StringcoId=rs.getString(1); StringcoName=rs.getString(2); StringsId=rs.getString(3); floatgrade=rs.getFloat(4);Statementstmtc=null; ResultSetrsc=null; Connectionconnc=null; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); connc=DriverManager.getConnection("jdbc:odbc:xk","sa",""); Stringsqlc="selectsNamefromstudentWheresId='"+sId+"'"; stmtc=connc.createStatement(); rsc=stmtc.executeQuery(sqlc); while(rsc.next()) { StringsName=rsc.getString(1);<formname="form1"method="post"action="gradeInsert.jsp"onsubmit="returncheckBig()"><tablewidth="350"border="0"align="center"cellpadding="0"cellspacing="2"class="border"><trclass="title"><tdheight="25"colspan="2"align="center"><p><strong>录入成绩</strong></p></td></tr><trclass="tdbg"><tdwidth="101"height="22"><divalign="left"><strong>学生学号:</strong></div></td><tdwidth="243"><divalign="left"><inputname="sId"type="text"id="sId"size="20"maxlength="30"value="<%=(String)request.getParameter("sId")%>"readonly="false"/> <inputtype="hidden"name="coId"value="<%=(String)request.getParameter("coId")%>"/></div></td></tr><trclass="tdbg"><tdwidth="101"height="22"><divalign="left"><strong>成绩:</strong></div></td><tdwidth="243"><divalign="left"><inputname="grade"type="text"size="20"maxlength="30"/></div></td></tr><trclass="tdbg"><tdheight="22"align="center"> </td><tdheight="22"align="center"><divalign="left"><inputname="Add"type="submit"value="录入"/></div></td></tr></table></form>(e)课程信息在这里可以查询到老师所教的所有课程的具体信息,包括学分,学时,上课地点,已选的人数等,如下图所示。图2.9教师的课程选课情况主要代码:Statementstmtc=null; ResultSetrsc=null; Connectionconnc=null; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); connc=DriverManager.getConnection("jdbc:odbc:xk","sa",""); Stringsqlc="selectdistinctchooseCourse.coIdfromchooseCourse,coursewherechooseCourse.coId=course.coIdandtId='"+name+"'"; stmtc=connc.createStatement(); rsc=stmtc.executeQuery(sqlc);while(rsc.next()) { StringcoId=rsc.g

温馨提示

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

评论

0/150

提交评论