分享
分销 收藏 举报 申诉 / 48
播放页_导航下方通栏广告

类型jsp专业课程设计学生标准管理系统.doc

  • 上传人:精****
  • 文档编号:2864448
  • 上传时间:2024-06-07
  • 格式:DOC
  • 页数:48
  • 大小:2.28MB
  • 下载积分:14 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    jsp 专业课程 设计 学生 标准 管理 系统
    资源描述:
    课程设计汇报 课程: jsp 学号: 姓名: 班级: 老师: 徐州师范大学 计算机科学和技术学院 课程设计任务书 姓 名 学 号 班 级 课程名称 数据库系统概论 课程性质 课程设计 同组组员 分工 学生选课操作、老师管理操作两部分功效实现 设计时间 设计名称 学生选课管理信息系统设计和实现 设计要求 系统功效基础要求:老师信息,包含老师编号、老师姓名、性别、年纪、学历、职称、毕业院校,健康情况等。学生信息,包含学号、姓名、所属院系、已选课情况等。教室信息,包含,可容纳人数、空闲时间等。选课信息,包含课程编号、课程名称、任课老师、选课学生情况等。成绩信息,包含课程编号、课程名称、学分、成绩。按一定条件能够查询,并将结果打印输出。 设计思绪 和 设计过程 设计思绪:,本系统结合数据库和JSP编程实现了学生选课管理系统。学生选课管理系统分为三个子模块:第一模块是学生选课页面操作,包含个人信息,密码修改,查询成绩,选课,退选五个功效;第二模块是老师操作页面,包含个人信息,密码修改,录入成绩,查询选课情况,查看教室信息;第三模块是管理员,包含学生信息管理(增加、修改、删除、查询),老师信息管理(增加、修改、删除、查询),管理员信息管理(增加、修改、删除、查询)。 计划和进度 构思整个系统框架,在数据库中建表 关键对学生选课部分操作进行jsp编码 关键对老师相关操作进行jsp编码 整合整个试验,并进行修改 写课程设计汇报 任课老师 意 见 说 明 学生选课管理系统 一.系统需求分析 学生选课系统是一个学校不可缺乏部分,它内容对于学校决议者和管理者来说全部至关关键,所以学生选课系统应该能够为用户提供充足信息和快捷查询手段。伴随科学技术不停提升,计算机科学日渐成熟,其强大功效已为大家深刻认识,它已进入人类社会各个领域并发挥着越来越关键作用。 作为计算机应用一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟优点。这些优点能够极大地提升人事劳资管理效率,也是企业科学化、正规化管理,和世界接轨关键条件。 所以,开发这么一套软件成为很有必需事情,在下面各章中我们将以开发一套学生选课系统为例,谈谈其开发过程和所包含到问题及处理方法。 本试验实现学生选课管理系统关键包含以下功效: 1.完成数据录入和修改,并提交数据库保留。其中数据包含:学生信息、课程设置、学生成绩和操作员信息等; 2.设计实现学生信息查询,选课管理、退选管理、分数查询,课程浏览老师信息查询、教室空闲时间查询等JSP页面 。 3.含有一定安全性管理功效。包含操作员权限设置、修改密码设置、注销和等功效。 二.系统总概括 1.系统总设计 本系统结合数据库和JSP编程实现了学生选课管理系统。学生选课管理系统分为三个子模块:第一模块是学生选课页面操作,包含个人信息,密码修改,查询成绩,选课,退选五个功效;第二模块是老师操作页面,包含个人信息,密码修改,录入成绩,查询选课情况,查看教室信息;第三模块是管理员,包含学生信息管理(增加、修改、删除、查询),老师信息管理(增加、修改、删除、查询),管理员信息管理(增加、修改、删除、查询)。 学生选课 老师管理 管理员 学生选课管理系统 图1 系统功效模块图 2.数据库设计 2.1数据库概念结构设计 本系统关键有三个实体,其中有学生和课程两个实体集,一个学生能够选修若干门课程,一门课程也能够被多个学生选修,这两个实体集之间是多对多联络,还有老师和课程两个实体,一个老师能够教授若干门课程,一门课程却只能有一个老师教授,这两个实体集之间是一对多联络。经过选课成绩将老师和学生联络在一起。为确保系统安全性,设置了操作员这一实体集,用来存放正当用户编号、姓名、密码。本系统E-R图以下: 学生 学号 姓名 密码 院系 性别 电话 地址 选修 成绩 课程 教授 老师 编 编号 毕业 院校 健康 情况 学历 姓名 密码 院系 年纪 性别 职称 M N M 1 编 课程号 编 课程名 编 老师号 编 学分 编 课时 编 地点 编 总人数 编 已选数 编 院系 管理员 编号 密码 图2 系统E-R图 2.2数据库逻辑结构设计 依据关系模型转换标准,上面E—R图可转换为以下所表示关系模型: student(sId,sName,sPass,dId) 含义分别为:学生(学号,姓名,密码,所在系编号) stuDetail(userID,userSex,userMobil,useraddress) 含义分别为:学生信息(学号,性别,电话,地址) teacher(tId,tPame,tPass,dId) 含义分别为:老师(学号,姓名,密码,所在系编号) teaDetail(userID,userSex,userAge,useredu,usertitle,usersch,userhealth) 含义分别为:老师信息(学号,性别,年纪,学历,职称,毕业院校,健康情况) course(cId,cName,tId,credit,period,cPlace,cNumall,cNum,dId) 含义分别为:课程(课程号,名称,老师号,学分,课时,上课地点,总人数,已选人数,院系号) choosecourse(cId,sId, Grade) 含义分别为:选修(学号,课程代码,成绩) room(roomname,roomnum,roomtime) 含义分别为:教室(教室名,容纳人数,空闲时间) admin(aId,aPass) 含义分别为:管理员(管理员编号,姓名) department(dId,dName) 含义分别为:院系(院系编号,院系名) 依据上面E-R图设计及关系模型设计,得出数据表设计,在本系统中关键数据表以下: 表1 学生表Student表结构 主码 列 名 数据类型 宽度 小数位 空否 备 注 Pk sId Char 10   N 学号   sName Char 20   Y 姓名   sPass Char 2   Y 密码   dId Char 20   Y 所在系号 表2 学生信息表StuDetail表结构 主码 列 名 数据类型 宽度 小数位 空否 备 注 Pk userID Char 10   N 学号   userSex Char 10   Y 性别   userMobil Char 30   Y 电话   userAddress Char 50   Y 地址 表3 老师表teacher表结构 主码 列 名 数据类型 宽度 空否 备 注 Pk tId Char 10 N 编号   tName Char 20 Y 姓名   tPass Char 2 Y 密码   dId Char 20 Y 所在系号 表4 老师信息表teadetail表结构 主码 列 名 数据类型 宽度 空否 备 注 Pk userID Char 10 N 学号   userSex Char 10 Y 性别   userAge Char 50 Y 电话   useredu Char 30 Y 学历 usertitle Char 30 Y 职称 usersch Char 30 Y 毕业院校 Userhealth Char 50 Y 健康情况 表5 课程信息表Course表结构 主码 列 名 数据类型 宽度 空否 备 注 Pk cId Char 10 N 课程号   coName Char 20 Y 课程名称   tId Char 10 Y 老师号   credit Char 8 Y 学分 period Char 8 Y 课时 cPlace Char 10 Y 上课地点 cNumAll Char 4 Y 总人数 cNum Char 4 Y 已选人数 dId Char 10 Y 院系号 表6 选课成绩表choosecourse表结构 主码 列 名 数据类型 宽度 空否 备 注 Pk cId Char 5 N 课程代码 sId Char 3 N 学号   grade Decimal 5 Y 成绩 表7 教室信息表room表结构 主码 列 名 数据类型 宽度 空否 备 注 Pk roomname Char 10 N 教室名 roomnum Char 10 N 容纳人数   roomtime Char 10 Y 空闲时间 表8 管理员表admin表结构 主码 列 名 数据类型 宽度 空否 备 注 Pk aId Char 10 N 管理员编号   aPass Char 10 Y 管理员姓名 表9 院系表department表结构 主码 列 名 数据类型 宽度 空否 备 注 Pk dId Char 10 N 院系号   dName Char 10 Y 院系名 下面在系统实施阶段就能够物理实现数据库了,本系统使用前面试验已经建好服务器端SQL Server数据库—xuanke,具体创建方法见前面试验。 三.系统实现 本试验是用JSP结合数据库实现,其中包含了三个主页面,一是学生登录页面,二是老师登录页面,三是管理员登录页面。其中每个页面中全部会有菜单进行对应操作。 3.1 JSP文件代表操作 (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> <% String name=(String)request.getParameter("username"); String pass=(String)request.getParameter("userpass"); String s=(String)request.getParameter("userselect"); Connection conn=null; Statement stmt=null; ResultSet rs=null; String loginNum="0"; session.setAttribute("lnum",loginNum); try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn=DriverManager.getConnection("jdbc:odbc:xk","sa",""); if(s.equals("1")) { String sql="select * from student where sId='"+name+"' and sPass='"+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")) { String sql="select * from teacher where tId='"+name+"' and tPass='"+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")) { String sql="select * from admin where aId='"+name+"' and aPass='"+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("<a href=index.jsp>登陆页面</a>"); } } } catch(Exception e){out.print(e); //response.sendRedirect("index.jsp"); } %> </body> 3.3 具体操作 (1)学生选课操作 (a)登录页面 图1.1 学生登录页面 关键代码: <body> <form name="loginform" method="post" action="login.jsp"> <br> <br> <br> <br> <table width="500" height="150" border="0" align="center"> <tr> <td align="center"><font size="5" color="#FFFFFF">欢迎您使用学生选课系统</font></td> </tr> <tr> </table> <table width="294" border="0" align="center"> <tr> <td colspan="3">&nbsp;</td> </tr> <tr> <td width="79">用户名:</td> <td width="148"><input name="username" type="text" size="20" size="20" maxlength="30"></td> <td width="53" rowspan="2"><img src="image/logo_img.gif" width="37" height="40" onClick="loginclick()"> </td> </tr> <tr> <td>密码:</td> <td><input name="userpass" type="password" size="20" size="20" maxlength="30"> </td> </tr> <tr> <td>用户类型:</td> <td> <select name="userselect"> <option value="1" selected>学生</option> <option value="2">老师</option> <option value="3">管理员</option> </select> </td> <td>&nbsp;</td> </tr> </table> </form> </body> (b)菜单操作 图1.2 学生选课系统界面 关键代码: <table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000"> <tr> <td height="40" align="center" bgcolor="#00509F"><div align="center"><font color="#FFFFFF" size="4">学生选课系统</font></div></td> </tr> <tr> <td height="40" align="center" bgcolor="#FFFFFF"><div align="left"><img src="image/index_01.gif" width="20" height="17"><a href="studMessSel.jsp" target="rightFrame"><font color="#0000FF" size="3">个人信息</font></a></div></td> </tr> <tr> <td height="40" align="center" bgcolor="#FFFFFF"><div align="left"><img src="image/index_01.gif" width="20" height="17"><a href="stuMessMod.jsp" target="rightFrame"><font color="#0000FF" size="3">密码修改</font></a></div></td> </tr> <tr> <td height="40" align="center" bgcolor="#FFFFFF"><div align="left"><img src="image/index_01.gif" width="20" height="17"><a href="gradeSelect.jsp" target="rightFrame"><font color="#0000FF"size="3" >成绩查询</font></a></div></td> </tr> <tr> <td height="40" align="center" bgcolor="#FFFFFF"><div align="left"><img src="image/index_01.gif" width="20" height="17"><a href="courseSelect.jsp" target="rightFrame"><font color="#0000FF"size="3" >选课查询和退选</font></a></div></td> </tr> <tr> <td height="40" align="center" bgcolor="#FFFFFF"><div align="left"><img src="image/index_01.gif" width="20" height="17"><a href="choosecourse.jsp" target="rightFrame"><font color="#0000FF" size="3">选课</font></a></div></td> </tr> <tr> <td height="40" align="center" bgcolor="#FFFFFF"><div align="left"><img src="image/index_01.gif" width="20" height="17"><a href="zhuxiao.jsp" target="_top"><font color="#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",""); String sql="select * from student where student.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"); } String sql1="select * from stuDetail where userID ='"+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"); } Connection connd=null; Statement stmtd=null; ResultSet rsd=null; connd=DriverManager.getConnection("jdbc:odbc:xk","sa",""); stmtd=connd.createStatement(); rsd=stmtd.executeQuery("select dName from department where dId='"+dId+"'"); if(rsd.next()) { dName=rsd.getString("dName"); } } catch(Exception e){out.println(e); } %> <form name="form1" method="post"> <table width="350" border="0" align="center" cellpadding="0" cellspacing="2" class="border"> <td height="25" align="center"><strong><font size="5" color="#FFFFFF" >学生个人信息</font></strong></td> </table> <table border="10" align="center" width="500" height="150"> <tr> <Td width="60"> <font size="4" color="#FFFFFF">学号</font></Td><td width="100"> <font size="3" color="#FFFFFF"><%=sId%></font></td> <td width="60"> <font size="4" color="#FFFFFF">姓名</font></td><td width="100"> <font size="3" color="#FFFFFF"><%=sName%></font></td> <td width="60"> <font size="4" color="#FFFFFF">性别</font></td><td width="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表 关键代码: 数据库中修改该学生密码代码 String sPass=(String)request.getParameter("sPass"); Connection conn=null; Statement stmt=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn=DriverManager.getConnection("jdbc:odbc:xk","sa",""); String sql2="update student set sPass='"+sPass+"' where sId='"+name+"'"; stmt=conn.createStatement(); stmt.executeUpdate(sql2);stmt.close(); response.sendRedirect("stuMessModSuc.jsp"); } function checkBig() { if (document.form1.sPass.value=="") { alert("密码不能为空!"); document.form1.sPass.focus(); return false; } else if (document.form1.sPassagn.value=="") { alert("再次输入密码!"); document.form1.sPassagn.focus(); return false; } else if (document.form1.sPass.value!=document.form1.sPassagn.value) { alert("两次密码不一样!"); document.form1.sPass.focus(); return false; } } out.print("修改成功"); (e)成绩查询 依据教授该门课老师是否提交成绩,学生能够查到自己对应课程成绩,其查询结果以下: 图1.5 查询成绩页面 关键代码: try { Statement stmtc=null; ResultSet rsc=null; Connection connc=null; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); connc=DriverManager.getConnection("jdbc:odbc:xk","sa",""); String sqlc="select * from chooseCourse where sId='"+name+"'"; stmtc=connc.createStatement(); rsc=stmtc.executeQuery(sqlc); while(rsc.next()) { String coId=rsc.getString("coId"); float grade=rsc.getFloat("grade"); String grademess=null; Statement stmt=null; ResultSet rs=null; Connection conn=null; conn=DriverManager.getConnection("jdbc:odbc:xk","sa",""); String sql="select coName from course where coId='"+coId+"'"; stmt=conn.createStatement(); rs=stmt.executeQuery(sql); if(rs.next()) { if(grade>0)out.print(grade); else out.print("未提交");} } (f)课程查询及退选 能够经过对应课程后面退选选项进行课程退选 图1.6 查询选课情况页面 关键代码: <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td align="center" valign="top"> <p class="style8"> <%=name%>选课选择情况</p> <table width="600" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000"> <tr> <td width="100" align="center" bgcolor="#FFCCFF"><div align="center"><strong><font color="blue"> 课程名称</font></strong></div></td> <td width="60" align="center" bgcolor="#FFCCFF"><di
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:jsp专业课程设计学生标准管理系统.doc
    链接地址:https://www.zixin.com.cn/doc/2864448.html
    页脚通栏广告

    Copyright ©2010-2025   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork