




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河北科技大学课程设计报告学生姓名: 杨超 学 号: Z专业班级: 计算机科学与技术专业073班 课程名称: 数据库原理及应用 学年学期: 2 0 1 0 2 0 1 1 学年第 1 学期 指导教师: 高 凯 2 0 1 0 年 12 月课程设计成绩评定表学生姓名杨超学 号Z成绩专业班级计算机073起止时间 2010.12.6-2010.12.10设计题目学生信息管理系统指导教师评语指导教师: 年 月 日 目 录一、设计目的1二、系统的功能分析21.用户身份级别功能分析22 学生模块功能进行分析23 教师模块功能分析34 管理员模块功能分析3四、系统实现7五、小结11一、设计目的 基于jsp+s
2、ervlet+JavaBean课程管理系统的总体目标是为学生和老师提供一个课程管理的平台。学生可以通过该系统选择自己喜欢的课程;老师可以通过该系统查看自己所教授的选课情况;系统管理员可以根据需要对学生、老师、班级、等信息进行维护。l 学生登录系统后可以进行课程选择,并且可也查看老师已经给出的某门课程的成绩,此外学生还可以更改自己的个人信息。l 老师登录系统后拥有是否接受学生选择自己的课程,以及给选择自己教授的课程的学生打分的权限。l 系统管理员登录系统后可以修改系统中的全部信息,包括学生、老师、课程以及班级等信息。加深对数据库基础理论和基本知识的理解,掌握基于数据库的应用软件设计基本方法,提高
3、解决数据库应用实际问题的能力二、系统的功能分析1. 用户身份级别功能分析系统管理员用户身份级别教师学生 不同身份的用户对系统的使用权限有所不同。系统管理员登录后可以对老师、班级和学生等系统进行修改,老师登录后可以查看选课情况并给出学生课程的成绩,学生登陆成功后可以进行选课并查看自己某门课程的成绩。 2 学生模块功能进行分析 学生登录以后,可以选报课程。系统会根据学生所在系及课程的预修课(课程有预课等属性)判断学生是否具备条件。首先系统会根据学生所在系及该生还未选报的课程,和其预修课程为“public”的公共课程。如果该生选报了为满足预修课要求的课程,系统会有相关的提示。其次学生可以查看自己的成
4、绩,包括该生已选课程的名称,学分及该生的总分。如果教师还未给出成绩,则系统会有相关提示,此外该生可以更改自己的个人信息,包括密码,电话号码,其中密码不能为空。其功能定义如下:选择课程学生登录修改个人信息查看个人成绩 3 教师模块功能分析 教师在本系统中拥有是否接受学生选课申请,以及给学生打分的权限,只有先接受学生的选课请求,才能给该生打分。首先,教师登录后可以查看有哪些学生选择了自己所教授的课程,然后系统会列出该教师所带课程的班级,系统还会列出选报该课程的所有学生(其中包括了该生的一些详细情况),在教师选择好学生以后,在这门课程结束时可以给出所有选择这门课程的成绩,在这之后系统会分析教师的输入
5、是否正确(即是否为阿拉伯数字),否则提示输入错误。其次,在教师给出了学生某门课程的成绩之后,系统会根据成绩来判断该生是否通过了该课程,如果成绩大于或等于60分,则在该生的学分上加上课程的学分。选择课程学生登录修改个人信息查看个人成绩 4 管理员模块功能分析 管理员在本系统中拥有最高权限,包括修改学生、教师、课程以及班级信息。其中“班级”是本系统中关键的环节,同样也是数据库中的关键。它直接与课程、老师、上课时间和地点联系,学生所选的课程也要具体到一个班级,所以首选班级号不能为空,其次要保证同一教师在同一地点不能上两门课程。在新增“课程”时,要决定课程所在系以及其预修课(系统会动态列出所有的课程)
6、,其中课程所在系必须与预修课程所在系一致(或者选择预修课,或者与修课程属性为public),否则系统会有错误提示。除此之外,在更改或新增时,名称,ID或者密码不可为空,否则系统会有相关提示。添加、删除和修改班级信息学生登录添加、删除、和修改课程信息添加、删除、修改教师和学生信息三、数据库设计本系统采用mysql服务器,在其中新建名称为classDB的数据库,根据系统要求,经过详细的分析设计,本系统数据库中各个数据表的字段定义说明。Class(班级信息)存放所有班级的基本信息字段名称类型大小非空描述idvarchar50Yes字段id号tea_idVarchar10Yes教师idCour_idV
7、archar10Yes课程idRoom_idVarchar50Yes教室idCour_timechar10yes课程时间Course(课程信息表),存放所有课程的基本表字段名称类型大小非空描述idvarchar10Yes字段id号NameVarchar20Yes课程名称Markint4Yes课程学分PrepareVarchar10Yes课程先导课depchar10yes课程所属专业Teacher(教师信息表),存放教师的基本信息字段名称类型大小非空描述idvarchar10Yes字段id号NameVarchar20Yes教师姓名TitleVarchar50Yes职称passwordVarcha
8、r50Yes登录密码 Student(学生信息表),存放学生的基本信息 字段名称类型大小非空描述idvarchar50Yes字段id号NameVarchar10Yes学生姓名PasswordVarchar50Yes登录密码jiguanVarchar10Yes籍贯DepartmentVarchar10yes学生所属专业SexVarchar10Yes性别MarkInt4Yes已获学分TelVarchar50Yes电话E_mailvarchar50yes邮箱 Admin(管理员信息表),存放管理员的基本信息Enrol(选课信息表),存放选课的基本信息字段名称类型大小非空描述idvarchar50Ye
9、s字段id号NameVarchar10Yes管理员登陆名称passwordVarchar10Yes管理员登录密码字段名称类型大小非空描述Stu_idVarchar50Yes选课的学生的Id号Class_idVarchar50Yes选课学生所属班级acceptbit1Yes选课成功标示位scorechar50yes课程成绩ER 图姓名密码管理员登陆号管理员课程课程号名称学分课程所属专业先导课电话学生密码邮箱姓名专业籍贯学号性别已获学分所学mnm 班号班级教师号课程号上课时间教室号所在1老师老师id号职称密码姓名讲授mn关联关系: Clsass( id, tea_id,cour_id,room_i
10、d,cour_time ) Course(id,name,mark,prepare) Teacher(id,name,title,password) Student(id,name,password,jiguan,department,sex,mark,tel,e_mail)Enroll(stu_id,class_id,accept,score) Admin(id,name,password)四、系统实现 用户登录页面如下:Login.jsp 系统首页,提供用户登录信息输入入口SqlBean.java 负责整个系统与数据库的连接和关闭操作public class SqlBean/ String
11、 DatabaseDriver=org.gjt.mm.mysql.Driver; String url=jdbc:mysql:/localhost:3306/classdb;String root=root;String passwordofDB=;Connection conn=null; ResultSet rs;public SqlBean()/构造函数 try Class.forName(DatabaseDriver); catch(java.lang.ClassNotFoundException e) System.err.println(加载驱动器有错误:+e.getMessage
12、( ); System.out.print(执行插入有错误:+e.getMessage();/输出到客户端 /执行插入操作的方法 public int executeInsert(String sql) int num=0;try conn = DriverManager.getConnection(url,root,passwordofDB);Statement stmt=conn.createStatement( ); num=stmt.executeUpdate(sql); catch(SQLException ex) System.err.println(执行插入有错误:+ex.get
13、Message() ); System.out.print(执行插入有错误:+ex.getMessage();/输出到客户端 CloseDataBase();return num; /执行查询操作的方法 public ResultSet executeQuery(String sql) rs=null; try conn = DriverManager.getConnection(url,root,passwordofDB);Statement stmt=conn.createStatement( ); rs=stmt.executeQuery(sql); catch(SQLException
14、 ex) System.err.println(执行查询有错误:+ex.getMessage() ); System.out.print(执行查询有错误:+ex.getMessage(); /输出到客户端 return rs; /执行删除操作的方法public int executeDelete(String sql) int num=0;try conn = DriverManager.getConnection(url,root,passwordofDB);Statement stmt=conn.createStatement( ); num=stmt.executeUpdate(sql)
15、; catch(SQLException ex) System.err.println(执行删除有错误:+ex.getMessage() ); System.out.print(执行删除有错误:+ex.getMessage(); /输出到客户端 CloseDataBase();return num; /关闭数据库连接public void CloseDataBase() try conn.close(); catch(Exception end) System.err.println(执行关闭Connection对象有错误:+end.getMessage( ) ); System.out.pr
16、int(执行执行关闭Connection对象有错误:有错误:+end.getMessage(); /输出到客户端 Login_comfirm.java 验证用户的登录信息,若正确则根据用户级别转向不同的页面。public class Login_confirm extends HttpServlet / 响应Post请求public void doPost(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException String message = null;String/ 接收用户的
17、登录名id = req.getParameter(id);/ 创建session对象HttpSession session = req.getSession(true);/ 将用户登录名存入session中session.setAttribute(id, String.valueOf(id);String password = null;/ 接收用户登录的密码password = req.getParameter(password);String kind = null;/ 接收用户级别kind = req.getParameter(kind);/ 调用getPassword方法,获取数据库中
18、查询出来的密码String temp = getPassword(req, res, id, kind);/ 对比查询出的密码和用户输入的密码是否匹配if (password.equals(temp)/ 密码输入正确,调用goo方法goo(req, res, kind);else / 密码输入错误message = 用户名或密码有误!;doError(req, res, message);public void goo(HttpServletRequest req, HttpServletResponse res, String kind)throws ServletException, IO
19、Exception / 转向学生功能页面if (kind.equals(student) RequestDispatcher rd = getServletContext().getRequestDispatcher(/student.jsp);rd.forward(req, res);if (kind.equals(teacher) RequestDispatcher rd = getServletContext().getRequestDispatcher(/teacher.jsp);rd.forward(req, res);/ 转向管理员功能页面if (kind.equals(admin
20、) RequestDispatcher rd = getServletContext().getRequestDispatcher(/admin.jsp);rd.forward(req, res);public String getPassword(HttpServletRequest req, HttpServletResponse res,String id, String kind) throws ServletException, IOException / 声明数据库连接类sqlBean的实例SqlBean db = new SqlBean();String pw = ;String
21、 sql = select password from + kind + where id= + id+ ;try / 进行数据库查询操作ResultSet rs = db.executeQuery(sql);if (rs.next() pw = rs.getString(password); catch (Exception e) System.out.print(e.toString();return pw;/ 处理错误页面public void doError(HttpServletRequest req, HttpServletResponse res,String str) throws ServletException, IOException req.setAttribute(problem, str);RequestDispatcher rd = getServletContext().getRequestDispatcher(/errorpage.jsp);rd.forward(req, res);/ 响应get请求public void doGet(HttpServletReques
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乡镇临时居民管理办法
- 会议录音记录管理办法
- 临洮停车收费管理办法
- 企业休假管理办法细则
- 乡村振兴滚动管理办法
- 人员处罚信息管理办法
- 企业隐患排查管理办法
- 人员异常状态管理办法
- 企业科研计划管理办法
- 企业生活垃圾管理办法
- Unit4Where'smyschoolbagSectionB(3a~SelfCheck)教学设计人教版英语七年级上册
- 脑卒中高危人群筛查和综合干预表
- 《旅游学概论》第四章
- 中国古典小说巅峰:四大名著鉴赏学习通课后章节答案期末考试题库2023年
- 教师职业素养精选ppt
- 轨枕工序安全操作规程
- 2021年消防继续教育试题汇总及答案
- GA 255-2022警服长袖制式衬衣
- JJF 1915-2021倾角仪校准规范
- GB/T 15382-2021气瓶阀通用技术要求
- 标准的起源、发展与标准化课件
评论
0/150
提交评论