JSP程序设计教程大作业学生信息管理项目:学生信息管理学号:班级:姓名:指导老师:一.前言1.背景学生信息管理是一项繁琐的工作。管理人员需要建立学生的学籍,汇总每学期没有拿到规定学分的学生,及这些学生的详细情况;学生完成一门课程的学习后,教师学要录入学生的考试成绩,计算平均成绩,汇总各分数段的人数;学生需要查询已结业的各门课程的成绩;班主任需要查询本班学生的学习情况,包括课程的平均成绩和每个学生的考试通过情况;还有学生的选课,选择修读的课程;学生的学费,以及学生考试后计算的绩点统计,这关系到学生最后能否能拿到学位证。为此,设计一套实用的学生信息管理系统就可以大大简化管理人员、班主任和任课教师的工作,方便学生查询自己的学习情况。2.目的希望能做出一个学生信息管理的系统,实现分类别的管理。能实现管理员、教师和学生三种身份的登录,同时也能实现各登陆身份的相关操作。3.项目范围系统名称:学生信息管理系统本系统主要功能是实现学校学生的信息管理、课程管理、成绩管理、以及使用该系统的用户管理。4.开发工具开发工具:MyEclipeSQLServer2008二.系统需求1.需求分析学生信息管理系统是对学生的基本信息和成绩信息进行管理,主要包括添加、修改和删除学生的基本信息及课程的基本信息;录入、修改和删除学生的成绩信息,对基本信息、成绩信息进行查询、排序及统计等操作,从而实现学生信息管理的自动化与计算机化。本课题将实现一个简化的学生信息管理系统。2.使用流程图用户浏览器web服务器3.用户需求(1)..有关信息的输入,包括输入学生基本信息、所在院系、所学专业、所在班级、所学课程和成绩等。(2).学生信息的查询,包括查询学生基本信息、所在班级、课程、学生成绩(3)学生信息的修改,包括增加、删除等。操作请求返回查询结果Tomcat使用数据库操作语言返回操作结果IE等浏览器SQL数据库(5)课程信息的设置和查询等。(6)课程信息的修改,包括增加,删除等。(7)管理员对各种学生信息的增加,删除等。三.系统设计1.系统模块1.登入模块用户登陆(学生登陆,教师登陆,管理员登陆)2.学生信息管理此模块由学生基本信息、系别信息、班级信息、成绩信息等组成。3.课程管理此模块由课程信息。4.成绩管理此模块由成绩信息和绩点信息组成。5.管理员管理此模块由管理员信息组成6.退出2.登陆流程图判断密码与权限教师学生系统管理员用户学生信息管理系统3.ER图.成绩管理ER图4.数据库的设计(1)、学生表student(见下表):保存学生的基本信息,包括学生的姓名,登录系统时的密码,学生的学号,出生年月以及性别等。(2)、教师表teacher(见下表):保存教师的信息,包括教师的教师编号,登录系统系统时的用户名和密码等。课程课名称编号学分学时籍贯性别学号姓名学生工号姓名职务教师成绩教学年级(3)、成绩表score(见下表):保存有关学生的成绩的一些信息,本系统主要是对于该表的操作。(4)、课程表course(见下表):保存有关学生的课程的一些信息。(5)、管理员表(见下表):保存管理员的信息。建表语句:1.建立数据库CreatedatabaseStudent2.建立学生表CREATETABLE[dbo].[Student]([学号][varchar](110)NOTNULL,[姓名][varchar](24)NOTNULL,[性别][char](2)NULL,[出生日期][datetime]NOTNULL,[籍贯][varchar](24)NULL,CONSTRAINT[PK__Student__1CC396D2108B795B]PRIMARYKEYCLUSTERED([学号]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GOSETANSI_PADDINGOFFGOALTERTABLE[dbo].[Student]WITHCHECKADDCONSTRAINT[CK__Student__性别__1273C1CD]CHECK(([性别]='女'OR[性别]='男'))GOALTERTABLE[dbo].[Student]CHECKCONSTRAINT[CK__Student__性别__1273C1CD]GO3.建立教师表CREATETABLE[dbo].[teacher]([工号][varchar](12)NOTNULL,[姓名][varchar](24)NOTNULL,[登陆密码][varchar](24)NOTNULL,[课程号][varchar](12)NULL,PRIMARYKEYCLUSTERED([工号]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GO4.建立课程表CREATETABLE[dbo].[course]([课程号][varchar](12)NOTNULL,[课程名][varchar](24)NOTNULL,[分数][varchar](4)NOTNULL,PRIMARYKEYCLUSTERED([课程号]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GO5.建立成绩表和视图约束CREATETABLE[dbo].[score1]([学号][varchar](110)NOTNULL,[课程号][varchar](12)NOTNULL,[班级][varchar](24)NOTNULL,[学期][varchar](24)NOTNULL,[成绩][int]NULL,[学分][int]NULL,CONSTRAINT[PK__score1__77CFF86F3C69FB99]PRIMARYKEYCLUSTERED([学号]ASC,[课程号]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GOSETANSI_PADDINGOFFGOALTERTABLE[dbo].[score1]WITHCHECKADDCONSTRAINT[FK__score1__课程号__403A8C7D]FOREIGNKEY([课程号])REFERENCES[dbo].[course]([课程号])GOALTERTABLE[dbo].[score1]CHECKCONSTRAINT[FK__score1__课程号__403A8C7D]GOALTERTABLE[dbo].[score1]WITHCHECKADDCONSTRAINT[FK__score1__学号__3F466844]FOREIGNKEY([学号])REFERENCES[dbo].[Student]([学号])GOALTERTABLE[dbo].[score1]CHECKCONSTRAINT[FK__score1__学号__3F466844]GOALTERTABLE[dbo].[score1]WITHCHECKADDCONSTRAINT[CK__score1__成绩__3E52440B]CHECK(([成绩]=(0)AND[成绩]=(100)))GOALTERTABLE[dbo].[score1]CHECKCONSTRAINT[CK__score1__成绩__3E52440B]GO6.建立管理员表CREATETABLE[dbo].[manage]([管理员编号][varchar](12)NOTNULL,[姓名][varchar](24)NOTNULL,[登陆密码][varchar](24)NOTNULL,PRIMARYKEYCLUSTERED([管理员编号]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY],UNIQUENONCLUSTERED([姓名]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GO四.系统部分代码1.登陆%@pagecontentType=text/html;charset=gb2312%%@pageimport=java.util.Date,java.text.*%!--导入用到的类包文件--%Datenowday=newDate();//获取当前日期inthour=nowday.getHours();//获取日期中的小时SimpleDateFormatformat=newSimpleDateFormat(yyyy-MM-ddHH:mm:ss);//定义日期格式化对象Stringtime=format.format(nowday);//将指定日期格式化为yy-MM-ddHH:mm:ss形式%htmlheadtitle学生成绩管理系统/titlemetahttp-equiv=Content-Typecontent=text/html;charset=gb2312bodybackground=img2\5.jpg/body/headbodycenterpstyle=font-family:'宋体';font-size:xx-large;color:yellow;h1学生信息管理系统/h1/pscriptlanguage=javascripttype=text/javascriptvarcode;//在全局定义验证码functioncreateCode(){code=;varcodeLength=4;//验证码的长度varcheckCode=document.getElementById(checkCode);checkCode.value=;varselectChar=newArray(2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z');for(vari=0;icodeLength;i++){varcharIndex=Math.floor(Math.random()*32);code+=selectChar[charIndex];}if(code.length!=codeLength){createCode();}checkCode.value=code;}functionvalidate(){varinputCode=document.getElementById(input1).value.toUpperCase();if(inputCode.length=0){alert(请输入验证码!);returnfalse;}elseif(inputCode!=code){alert(验证码输入错误!);crea