jsp课程设计报告学生管理系统

上传人:痛*** 文档编号:86015787 上传时间:2022-05-06 格式:DOC 页数:39 大小:171.50KB
收藏 版权申诉 举报 下载
jsp课程设计报告学生管理系统_第1页
第1页 / 共39页
jsp课程设计报告学生管理系统_第2页
第2页 / 共39页
jsp课程设计报告学生管理系统_第3页
第3页 / 共39页
资源描述:

《jsp课程设计报告学生管理系统》由会员分享,可在线阅读,更多相关《jsp课程设计报告学生管理系统(39页珍藏版)》请在装配图网上搜索。

1、-课程设计报告课程: jsp *:*:班级:教师:师大学计算机科学与技术学院课程设计任务书姓 名学 号班 级课程名称数据库系统概论课程性质课程设计同组成员分工学生选课操作、教师管理操作两局部功能的实现设计时间设计名称学生选课管理信息系统的设计与实现设计要求系统功能根本要求:教师信息,包括教师编号、教师*、性别、年龄、学历、职称、毕业院校,安康状况等。学生信息,包括*、*、所属院系、已选课情况等。教室信息,包括,可容纳人数、空闲时间等。选课信息,包括课程编号、课程名称、任课教师、选课的学生情况等。成绩信息,包括课程编号、课程名称、学分、成绩。按一定条件可以查询,并将结果打印输出。设计思路与设计过

2、程设计思路:,本系统结合数据库和JSP编程实现了学生选课管理系统。学生选课管理系统分为三个子模块:第一模块是学生选课的页面操作,包括个人信息,密码修改,查询成绩,选课,退选五个功能;第二模块是教师操作页面,包含个人信息,密码修改,录入成绩,查询选课情况,查看教室信息;第三模块是管理员,包含学生信息管理增加、修改、删除、查询,教师信息管理增加、修改、删除、查询,管理员信息管理增加、修改、删除、查询。方案与进度构思整个系统的框架,在数据库中建表主要对学生选课的一些操作进展jsp编码主要对教师的相关操作进展jsp编码整合整个实验,并进展修改写课程设计的报告任课教师意 见说 明学生选课管理系统一系统需

3、求分析学生选课系统是一个学校不可缺少的局部,它的容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一局部,使用计算机对选课信息进展管理,有着手工管理所无法比拟的优点。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 因此,开发这样一套软件成为很有必要的事情,在下面的各章中我们将以开发一套学生选课系统为例,谈谈其开发过程和所涉及到的问题及解决方法。 本实验

4、实现的学生选课管理系统主要包括以下功能:1完成数据的录入和修改,并提交数据库保存。其中的数据包括:学生信息、课程设置、学生成绩以及操作员信息等; 2.设计实现学生信息查询,选课管理、退选管理、分数查询,课程的浏览教师信息查询、教室空闲时间查询等JSP页面 。 3具备一定的平安性管理功能。包括操作员的权限设置、修改密码设置、注销和等功能。二系统总概括1.系统的总设计本系统结合数据库和JSP编程实现了学生选课管理系统。学生选课管理系统分为三个子模块:第一模块是学生选课的页面操作,包括个人信息,密码修改,查询成绩,选课,退选五个功能;第二模块是教师操作页面,包含个人信息,密码修改,录入成绩,查询选课

5、情况,查看教室信息;第三模块是管理员,包含学生信息管理增加、修改、删除、查询,教师信息管理增加、修改、删除、查询,管理员信息管理增加、修改、删除、查询。学生选课教师管理管理员学生选课管理系统图1 系统的功能模块图2数据库设计2.1数据库概念构造设计本系统主要有三个实体,其中有学生和课程两个实体集,一个学生可以选修假设干门课程,一门课程也可以被多个学生选修,这两个实体集之间是多对多联系,还有教师和课程两个实体,一个老师可以教授假设干门课程,一门课程却只能有一个老师教授,这两个实体集之间是一对多联系。通过选课成绩将教师和学生联系在一起。为保证系统的平安性,设置了操作员这一实体集,用来存放合法用户的

6、编号、*、密码。本系统的E-R图如下:学生*密码院系性别地址选修成绩课程教授教师编 编号毕业院校安康状况学历*密码院系年龄性别职称MNM1编 课程号编 课程名编 教师号编 学分编 学时编 地点编 总人数编 已选数编 院系管理员编号密码图2 系统的E-R图2.2数据库逻辑构造设计根据关系模型的转换原则,上面的ER图可转换为如下所示的关系模型:student(sId,sName,sPass,dId)含义分别为:学生*,*,密码,所在系的编号stuDetailuserID,userSe*,userMobil,useraddress含义分别为:学生信息*,性别,地址 teachertId,tPame,

7、tPass,dId含义分别为:教师*,*,密码,所在系的编号teaDetailuserID,userSe*,userAge,useredu,usertitle,usersch,userhealth含义分别为:教师信息*,性别,年龄,学历,职称,毕业院校,安康状况course(cId,ame,tId,credit,period,cPlace,umall,um,dId)含义分别为:课程课程号,名称,教师号,学分,学时,上课地点,总人数,已选人数,院系号choosecourse(cId,sId, Grade)含义分别为:选修*,课程代码,成绩roomroomname,roomnum,roomtime

8、含义分别为:教室教室名,容纳人数,空闲时间admin(aId,aPass)含义分别为:管理员管理员编号,* departmentdId,dName含义分别为:院系院系编号,院系名根据上面的E-R图设计及关系模型的设计,得出数据表的设计,在本系统中主要的数据表如下:表1 学生表Student的表构造主码列 名数据类型宽度小数位空否备 注PksIdChar10N*sNameChar20Y*sPassChar2Y密码dIdChar20Y所在系号表2 学生信息表StuDetail的表构造主码列 名数据类型宽度小数位空否备 注PkuserIDChar10N*userSe*Char10Y性别userMob

9、ilChar30YuserAddressChar50Y地址表3教师表teacher的表构造主码列 名数据类型宽度空否备 注PktIdChar10N编号tNameChar20Y*tPassChar2Y密码dIdChar20Y所在系号表4教师信息表teadetail的表构造主码列 名数据类型宽度空否备 注PkuserIDChar10N*userSe*Char10Y性别userAgeChar50YusereduChar30Y学历usertitleChar30Y职称userschChar30Y毕业院校UserhealthChar50Y安康状况表5 课程信息表Course的表构造主码列 名数据类型宽度空

10、否备 注PkcIdChar10N课程号coNameChar20Y课程名称tIdChar10Y教师号creditChar8Y学分periodChar8Y学时cPlaceChar10Y上课地点umAllChar4Y总人数umChar4Y已选人数dIdChar10Y院系号表6 选课成绩表choosecourse的表构造主码列 名数据类型宽度空否备 注PkcIdChar5N课程代码sIdChar3N*gradeDecimal5Y成绩表7教室信息表room的表构造主码列 名数据类型宽度空否备 注PkroomnameChar10N教室名roomnumChar10N容纳人数roomtimeChar10Y空闲

11、时间表8管理员表admin的表构造主码列 名数据类型宽度空否备 注PkaIdChar10N管理员编号aPassChar10Y管理员* 表9院系表department的表构造主码列 名数据类型宽度空否备 注PkdIdChar10N院系号dNameChar10Y院系名下面在系统实施阶段就可以物理实现数据库了,本系统使用前面实验已经建好的效劳器端SQL Server数据库*uanke,具体创立方法见前面实验。三系统实现本实验是用JSP结合数据库实现的,其中包含了三个主页面,一是学生登录页面,二是教师登录页面,三是管理员登录页面。其中每个页面中都会有菜单进展相应的操作。3.1 JSP文件代表的操作(1

12、)主界面操作:Inde*.jsp/登录界面包含学生、教师、管理员三个选项Login.jsp/密码验证(2)学生选课 (a)学生选课界面:student.jps/菜单显示studentInde*.html/欢迎界面studentMessage.jsp (b)个人信息:studMessSel.jsp/个人信息的页面显示 (c)密码修改:stuM.jsp/在数据库中修改密码stuMessMod.jsp/修改密码界面stuMessModSuc.jsp/修改成功 (d)成绩查询:gradeselect.jsp/相应课程的成绩查询(e)选课:choosecourse.jsp/所有课程显示 choose.j

13、sp/在数据库中插入数据 choosesuccess.jsp/选课成功(f)选课情况查询及退选:courseselect.jsp/选课情况查询 ccdel.jsp/数据库中删除选课记录(g)注销: zhu*iao.jsp/注销(3)教师管理 (a)教师管理界面:teacher.jps/菜单显示teacherInde*.html/欢迎界面teacherMessage.jsp (b)个人信息:teacherMessSel.jsp/个人信息的页面显示 (c)密码修改:teacherM.jsp/在数据库中修改密码 teacherMod.jsp/修改密码界面 teaMessModSuc.jsp/修改成功

14、(d)提交成绩:grade.jsp/选课学生信息显示 gradeIns.jsp/在数据库中插入数据 (e)课程信息:lookcourse.jsp/选课情况查询(f)教室信息:classroom.jsp/查看可用教室的空闲时间 (g)注销: zhu*iao.jsp/注销3.2 数据库的连接举例:验证用户类型和密码时的数据库连接%String name=(String)request.getParameter(username);String pass=(String)request.getParameter(userpass);String s=(String)request.getParame

15、ter(userselect);Connection conn=null;Statement stmt=null;ResultSet rs=null;String loginNum=0;session.setAttribute(lnum,loginNum);tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);conn=DriverManager.getConnection(jdbc:odbc:*k,sa,);if(s.equals(1)String sql=select * from student where sId=+name+ and sPass

16、=+pass+;stmt=conn.createStatement();rs=stmt.e*ecuteQuery(sql);if(rs.ne*t() loginNum=1;session.setAttribute(lnum,loginNum);session.setAttribute(name,name);out.print(name+登陆成功,页面跳转.);response.sendRedirect(student/studentInde*.html);else out.print(用户名或密码有误.);response.sendRedirect(inde*.jsp);if(s.equals

17、(2)String sql=select * from teacher where tId=+name+ and tPass=+pass+;stmt=conn.createStatement();rs=stmt.e*ecuteQuery(sql);if(rs.ne*t() loginNum=2;session.setAttribute(lnum,loginNum);session.setAttribute(name,name);out.print(name+登陆成功,页面跳转.);response.sendRedirect(teacher/teacherInde*.html);else out

18、.print(用户名或密码有误.);response.sendRedirect(inde*.jsp); if(s.equals(3)String sql=select * from admin where aId=+name+ and aPass=+pass+;stmt=conn.createStatement();rs=stmt.e*ecuteQuery(sql);if(rs.ne*t()loginNum=3;session.setAttribute(lnum,loginNum);session.setAttribute(name,name);out.print(管理员+name+登陆成功,

19、页面跳转.);response.sendRedirect(admin/adminInde*.html);elseout.print(用户名或密码有误.);out.print(登陆页面);catch(E*ception e)out.print(e);/response.sendRedirect(inde*.jsp);%3.3 具体操作(1)学生选课操作(a)登录页面图1.1 学生登录页面主要代码: 欢迎您使用学生选课系统   用户名: 密码: 用户类型: 学生 教师 管理员   (b)菜单操作图1.2 学生选课系统的界面主要代码: 学生选课系统 个人信息 密码修改 成绩查询

20、选课查询以及退选 选课 注销 (c)个人信息显示学生进入后可以在菜单里进展相应的操作,点击个人信息时,就会出现该学生的信息.如以下图所示:图1.2 学生信息显示的界面主要代码:从数据库中读出相应的信息:tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);conn=DriverManager.getConnection(jdbc:odbc:*k,sa,);String sql=select * from student where student.sId=+name+;System.out.println(sql);stmt=conn.createSta

21、tement();rs=stmt.e*ecuteQuery(sql);if(rs.ne*t()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.e*ecuteQuery(sql1);if(rs.ne*t()Se*=rs.getString(userSe*); Mobil=r

22、s.getString(userMobil); Addr=rs.getString(userAddress);Connection connd=null;Statement stmtd=null;ResultSet rsd=null;connd=DriverManager.getConnection(jdbc:odbc:*k,sa,);stmtd=connd.createStatement();rsd=stmtd.e*ecuteQuery(select dName from department where dId=+dId+);if(rsd.ne*t()dName=rsd.getString

23、(dName);catch(E*ception e)out.println(e);% 学生个人信息 * * 性别 院系 地址 (d)密码修改举例:将0826006*的密码该为:6666其显示如下:图1.3 修改密码修改提交后数据库中的结果如下,可见密码已修改图1.4 数据库中修改后的student表主要代码:数据库中修改该学生的密码的代码String sPass=(String)request.getParameter(sPass);Connection conn=null;Statement stmt=null;tryClass.forName(sun.jdbc.odbc.JdbcOdbcD

24、river);conn=DriverManager.getConnection(jdbc:odbc:*k,sa,);String sql2=update student set sPass=+sPass+ where sId=+name+;stmt=conn.createStatement();stmt.e*ecuteUpdate(sql2);stmt.close();response.sendRedirect(stuMessModSuc.jsp);function checkBig() if (document.form1.sPass.value=) alert(密码不能为空!); docu

25、ment.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)成绩查询根据教授该

26、门课的教师是否提交成绩,学生可以查到自己相应课程的成绩,其查询结果如下:图1.5 查询成绩的页面主要代码:tryStatement stmtc=null;ResultSet rsc=null;Connection connc=null;Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);connc=DriverManager.getConnection(jdbc:odbc:*k,sa,); String sqlc=select * from chooseCourse where sId=+name+;stmtc=connc.createStatement()

27、;rsc=stmtc.e*ecuteQuery(sqlc);while(rsc.ne*t()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:*k,sa,); String sql=select coName from course where coId=+coId+;st

28、mt=conn.createStatement();rs=stmt.e*ecuteQuery(sql);if(rs.ne*t() if(grade0)out.print(grade); else out.print(未提交);(f)课程查询及退选可以通过对应课程后面的退选选项进展课程的退选图1.6 查询选课情况的页面主要代码: 选课选择情况 课程名称 学分 学时 上课地点 教师 操作选项 while(rsc.ne*t()String coId=rsc.getString(coId);float grade=rsc.getFloat(grade);String grademess=null;St

29、atement stmt=null;ResultSet rs=null;Connection conn=null;conn=DriverManager.getConnection(jdbc:odbc:*k,sa,); String sql=select * from course where coId=+coId+;stmt=conn.createStatement();rs=stmt.e*ecuteQuery(sql);if(rs.ne*t() String coName=rs.getString(2); String tId=rs.getString(3); float credit=rs

30、.getFloat(4); float period=rs.getFloat(5); String cPlace=rs.getString(7);Connection connt=null;Statement stmtt=null;ResultSet rst=null;connt=DriverManager.getConnection(jdbc:odbc:*k,sa,);String sqlt=select tName from teacher where tId=+tId+;stmtt=connt.createStatement();rst=stmtt.e*ecuteQuery(sqlt);

31、if(rst.ne*t()out.print(rst.getString(1); rsc.close();stmtc.close(); % (f)选课界面中已通过数据库将所有的课程列出来,学生可以通过前面的选择标志进展选课。图1.7 选课信息的页面及选课操作选课后,相应数据库中的choosecourse表增加了一行选课记录图1.8选课后数据库中的chooseCourse表主要代码: 选择 课程名称 学分 学时 上课地点 教师 剩余可选人数 input type=radio name=choose value= %Connection connc=null;Statement stmtc=nul

32、l;ResultSet rsc=null;connc=DriverManager.getConnection(jdbc:odbc:*k,sa,);String sqlc=select * from chooseCourse where sId=+name+;stmtc=connc.createStatement();rsc=stmtc.e*ecuteQuery(sqlc);if(rsc.ne*t()out.print( );else if(num 0)out.print(num); else out.print(已选满);% (2)教师操作(a)登录页面输入教师的教师编号和密码,选择用户类型为教师,即可登录图2.1 教师登录页面 主要代码:t

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!