学生管理系统jsp实验报告.doc
《学生管理系统jsp实验报告.doc》由会员分享,可在线阅读,更多相关《学生管理系统jsp实验报告.doc(29页珍藏版)》请在咨信网上搜索。
1、学生管理系统jsp实验报告 作者: 日期:2 个人收集整理 勿做商业用途实践考核类课程(二)实验报告 姓 名张杨学 号20090725班 级软一0901指 导 教 师刘益先实验名称学生选课系统开 设 学 期2010 2011第二学期评 定 成 绩评定人签字评 定 日 期东北大学软件学院2011年4月251. 系统分析与设计 本次实验是是设计一个基于web平台的学生选课系统,主要用于实现学生选课,课程管理,与课程维护等等模块;需要使用的技术是Servlet、JSP、JDBC、DAO等关键技术。在本系统中,有三类用户:系统管理员,教师和学生。三种不同的用户所具有的操作权限以及操作内容均不一样。本选
2、课系统给予教师很大的自主权,系统管理员只负责向系统中添加学生和教师的个人信息。教师、学生可以录网站自行进行选课,排课.系统管理员设置一个选课范围,教师可以开设课程;学生可以登陆网站选择课程。教师用户登陆网站后可以开设课程,为自己的课程编辑课程内容和课程信息。每门课程可以是必修或则选修,教师为每门课程设置一个学分,并可以在课程结束后给予成绩和分数,如果学生及格,学生将获得该课程的学分。对于学生用户,每个学生除了必须选择必修课程外,学生可以对自己选课信息进行选择。系统可以根据学生的选课信息,生成一份学生自己的课表。课程结束后学生可登录网站查询成绩.1.2 系统功能流程 用户登录身份验证模块验证用户
3、名和密码,并根据不同的用户类型,选择; 用户登录身份验证模块登陆注册模块录入信息模块开设课程模块查询个人信息模块评分模块查看课程模块选课模块数据库模块 数据库访问模块(1)登录与注销 每个用户都可以用自己的帐号登录系统。用户操作完成后推出系统,注销后可以重新登录系统。 (2)修改密码 每个用户第一次登录都用默认密码。(1) 系统管理员管理员号管理员姓名密码用户类型设置选课:系统管理员通过此项功能设置选课,只有在选课范围内,学生才可以选择课程,不得修改。录入学生与教师个人信息:通过此项功能可以实现对教师和学生的个人信息添加删除。(2) 教师用户教师号教师姓名密码用户类型性别职称显示和修改个人信息
4、:教师用户登录系统后,可以查看和修改教师的个人信息,如姓名,电话,Email地址等。开设课程:教师用户登录系统后,可以开设课程,可以设置该课程可以设置该课程的最大人数。编辑课程上课时间:教师在开设了课程后,可以灵活地设置上课时间和地点.给学生分数:课程结束后,教师用户登录系统,可以为学过课程的学生给予相应的成绩,若及格,给予学生学分。(3) 学生用户学 号系 号班 级成 绩政治面貌联系方式就读中学学生性别籍贯姓名身份证号交费情况出生日期入学时间简历民 族专业号用户类型显示和修改个人信息:学生登录系统后,可以查看和修改学生的个人信息,如姓名,性别,电话等。查看必修课程:学生登录后,可以查看所有的
5、必修课程。查看该课程的信息,上课时间地点,开课教师信息等。选择选修课程:学生登录系统后,在所有选修课程中可以选择至少两门选修课程。同时可以查看相关信息。查看最终选课信息:学生登录系统后,可列出已选择的课程,若选课信息未被锁定,则可以退选,若所选课程少于两门,系统会提示选择的课程少于两门。查看学分和成绩课程结束后,学生登录系统可查看自己学习课程的成绩。1.3 数据库设计student,Teacher,Course,List,Admin,每个表与逻辑设计中一种的关系模式相对应。下面是每个数据表中的属性,包括属性列的名称、数据类型、长度、是否可以为空和备注说明等内容。(1) Student表.Stu
6、dent表用来存储学生的个人信息,使用学号作为主键,如表32:表32 Student表(2) Teacher表.Teacher表用来存储教师的个人信息,用学校分配给教师的教师编号作为主键,这样可以避免重复,如图33:表33 Teacher表(3) Course表.Course表用来存储课程信息,Course表以课程编号为主键,设置课程编号自动增加1(通过建表的时候对属性列设置“标识”,并设置“标识递增量”为1).表中开课教师Id为外键,所有“TId”的值必须是Teacher表中的“TId”值。如表34:表34 Course表(4) List表。List表用来存放课程的上课时间和上课信息,包括课
7、程编号。表36 List表(5) Admin表.Admin表用来存放系统管理员信息,如表39:表39 Admin表2系统实现与测试1系统首页,点击进入选课系统登录页面 点击进入选课系统登录页面2登陆页面系统的登陆页面index。jsp在页面左边显示出三种身份登录的链接。便于不同用户清晰的看清登录的位置。不同身份的用户登录提交的用户名和密码提交到不同身份的数据库认证页面中。如学生用户登录提交到login.jsp。当验证通过时,跳到学生用户的页面.并把信息保存进session,以供其他页面判断用户是否已经登录。学生用户通过欢迎界面进入登录界面,输入用户名以及密码,然后选择权限(学生/老师/管理员)
8、进入自己的页面.该页面会对用户是否输入用户名或密码,输入是否正确进行检验,如果输入正确,则直接进入权限所对应的欢迎界面。否则,则提示用户名或密码错误。输入学生学号,进入学生欢迎界面。点击 查看已选课程,学生可以查看自己的已选课程。点击注册课程选项,进入页面后选择相应课程后课程列表结果如下:选择注销 计算机编程艺术 课程,同上.结果如下管理员选择管理员进入欢迎界面.选择 删除课程 可以进行对相应课程的删除.选择 管理课程,可以实现对于课程的管理。选择 增加学生 可以实现对学生的添加。选择 添加/删除老师,可以实现对老师的有效管理。选择 查看所有学生/老师 可以查看到所有学生/老师的信息.教师以老
9、师身份登录,界面如下。选择查看已带课程,可以查看自己的所有课程。选择给出成绩,可以成功的为学生给出成绩。2。1系统采用的关键技术在页面中用到了页面语言HTML,JavaScript以及JSP;标记语言使用的是:XML;后台中使用了Servlet服务器,数据库操作使用的是JDBC,DAO;全局使用了MVC设计模式等,是在JDK+ MyEclipse+Tomcat+MySQL的开发环境中完成了这个学生选课系统。2。2 关键程序流程下面用视图的方式展示学生选课系统的流程!基本表视图教师课表班级课表学生学籍表学生选课表课程表选修课开课表教师表学院开课表学生表系部表NNNNN111NN11NN2。3 关
10、键代码分析下面将每个模块中好的部分以及重要的部分进行展示连接数据库模块:DataBaseFactory 类用于创建数据库连接,是一个连接数据库的工具类!package com。jinkun。data;import java.sql。*;public class DataBaseFactory private Connection conn=null; public void DataBaseFactory() throws Exception/得到一个statement public Statement getStatement() throws Exception DriverManager
11、.registerDriver(new org。gjt.mm.mysql。Driver()); Class.forName(”org.gjt.mm.mysql。Driver”).newInstance(); String url =jdbc:mysql:/localhost:3306/register?user=rootpassword=&useUnicode=truecharacterEncoding=UTF-8”; conn= DriverManager。getConnection(url); return conn。createStatement(); public ResultSet
12、executeQuery(Statement stmt,String query) throws Exception ResultSet rs=stmt.executeQuery(query); return rs; public boolean execute(Statement stmt,String query) throws Exception boolean rs=stmt.execute(query); return rs; public void executeUpdate(Statement stmt,String query) throws SQLException stmt
13、.executeUpdate(query); public void close() throws SQLException if(conn!=null) conn.close(); 学生模块:studentDao在这个类中具体定义了学生的动能以及权限(包括:增加/删除学生,增加/删除某一门课程,以及显示全部的课程列表等等)public class StudentDao private DataBaseFactory dataBase;public StudentDao()dataBase=new DataBaseFactory();/注销学生的一门课程public void cancelCo
14、ursed(String userid,String classid) throws SQLException, ExceptionString query=delete from list where Cno=”+classid+”;dataBase.executeUpdate(dataBase.getStatement(), query);dataBase。close();public Student getStudent(String stuno) throws ExceptionStudent student=null;String sqlStudent = ”select from
15、student where studentID=+stuno+;ResultSet rs=(ResultSet) dataBase。executeQuery((Statement) dataBase.getStatement(), sqlStudent);if(rs。next())student=new Student(rs.getString(1),rs.getString(2),rs.getString(3);dataBase.close();return student;/增加一个学生public void addStudent(Student student) throws SQLEx
16、ception, ExceptionString sqlStudent=insert into student values(+student。getID()+”,”+student。getName()+,” +”+student。getPassword()+”);dataBase.executeUpdate((Statement) dataBase。getStatement(), sqlStudent);dataBase.close();public List getAllStudents() throws ExceptionListStudent students=new ArrayLis
17、t();String sqlStudent=”select from student”;ResultSet rs=(ResultSet) dataBase.executeQuery(Statement) dataBase。getStatement(), sqlStudent);while(rs。next()String studentid=rs.getString(1);String studentName=rs。getString(2);String password=rs.getString(3);Student s=new Student(studentid,studentName,pa
18、ssword);students。add(s);dataBase。close();return students;public Course getCourse(String courseid) throws ExceptionCourse c=null;String sqlStudent=select * from course where id=”+courseid+”;ResultSet rs=(ResultSet) dataBase。executeQuery(Statement) dataBase。getStatement(), sqlStudent);if(rs.next()Stri
19、ng className=rs.getString(2);String teacherName=rs.getString(3);int counts=Integer.parseInt(rs。getString(5);c=new Course(courseid,className,teacherName,counts);rs。close();dataBase.close();return c;/得到课程列表,用于显示某个学生注册的全部的课程public List getCourses(Student student) throws ExceptionListCourse signUpInfo=n
20、ew ArrayListCourse();String sqlStudent=select * from list where Sno=”+student.getID()+”;ResultSet rs=(ResultSet) dataBase.executeQuery((Statement) dataBase。getStatement(), sqlStudent);while(rs.next())String cno=rs.getString(3);signUpInfo。add(this。getCourse(cno));rs。close();dataBase。close();return si
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 管理 系统 jsp 实验 报告
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。