唐山学院课程设计一绪论学生信息管理系统是大学信息管理系统建设的重要组成部分,是提高教学管理的质量和效益乃至建设知名高水平大学的关键环节。学生信息处理的电脑化、网络化,也是实现学校管理现代化和信息化的重要内容。学生信息管理系统的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是进行科学化、正规化管理,与世界接轨的重要条件。唐山学院课程设计二系统分析2.1需求分析在信息高速发展的当今时代,如何学校企业都离不开信息化的建设,信息化水平已经成为一个评价高校综合实力的一项重要指标。近年来,高校都建立了校园网,学生信息管理系统作为高校校园网建设的一个模块,主要是为了学生在校园网上了解更多的和学生息息相关的信息,方便老师和学生查询学生信息。学生信息管理系统可以作为一个教师查询学生信息,学生查询个人信息的平台。一个简单的学生信息管理系统应包括:系统管理、学生信息管理、教师信息管理、成绩管理等。具体包括向数据库中表的添加,修改,删除等,系统还可以完成对各类信息的查询,添加,修改,删除等功能。具体包括:(1)用户登录:包括用户登录表。主要功能是用来与数据库连接,对不同用户登录系统进行权限区别。(2)学生信息管理:包括基本的学生信息表(包括学生的学号、姓名、性别、年龄、民族、系别、班级等)。主要功能是完成学生信息的添加、修改、删除、更新、按学生学号进行查询等操作。(3)教师信息管理:包括教师信息表。主要功能是完成对教师信息的查询。唐山学院课程设计三详细设计3.1功能实现[4]根据需求分析、系统功能的要求,本程序要实现学生信息添加、学生信息查询、学生信息删除、学生信息查看、修改密码等功能。(1)登录模块此模块是进入系统的入口,输入正确的用户名和密码才能进入本系统。输入错误或不输入则提示错误信息并且不能进入系统。(2)学生信息查询模块此模块是接受用户输入的参数,按要求查询各类数据。查询分为按学号和按照姓名查询,在文本框中输入查询内容,就可以返回相应的结果并显示。(3)学生信息添加模块此模块是接受用户输入的学生信息。包括:学生姓名、学号、学生年龄、学生班级等信息,对数据库进行保存,添加学生的信息。(4)查看学生信息模块此模块用于显示学生信息。同时可在此模块中修改和删除相应的图书信息。(5)修改密码模块此模块可以修改当前管理员的密码。要求用户输入新密码并确认,才能修改成功。3.2系统流程设计对各项功能按照结构化程序设计的要求进行集中、分层结构化,自上而下逐层设置得到系统功能模块结构图,如图1所示:唐山学院课程设计学生信息管理系统用户管理教师信息管理学生信息管学生成绩管理添加用户退出查看教师信息教师信息设置查看学生信息学生信息设置查看学生成绩学生成绩管理图1系统功能模块结构图3.3数据库设计3.3.1数据库结构表设计[2]根据学生信息管理系统的用户需求分析和设计要求,数据库的需要的表如下:教师信息表:本系统中教师相当于管理员身份。教师信息表内容包括:教师用户名、登录密码。学生信息表:本系统中学生相当于普通用户身份。学生信息表内容包括:学号、姓唐山学院课程设计名、年龄、班级、年级、家庭住址、出生日期、联系电话、E—Mail等学生信息。教师信息表如图2所示:图2教师信息表学生信息表如图3所示:图3学生信息表3.3.2数据库连接的实现本系统连接数据库采用JDBC-ODBCBridre技术,创建完ODBC数据源后,在系统的程序页面中应用如下代码便可以与数据库进行连接,进而实现对数据的查询、修改、插入和删除的操作。publicclassConnecter{staticStringdriverName=com.microsoft.sqlserver.jdbc.SQLServerDriver;staticStringconnectionString=jdbc:sqlserver://localhost:1433;DatabaseName=student;3.4系统功能模块实现3.4.1系统登录模块设计[1]主页是连接登录模块的纽带,我们的理念是给用户简洁、便利的操作界面,如图4所示主页提供了用户名和密码的登录框,可以使不同的用户通过不同的用户名进入不同的程序模块。唐山学院课程设计图4登录界面在登录时,若输入的用户名或密码为空则会出现相应提示信息。代码如下:functionSetFocus(){if(document.Login.username.value==)document.Login.username.focus();elsedocument.Login.username.select();}functionCheckForm(){if(document.Login.username.value==){alert(请输入用户名!);document.Login.username.focus();returnfalse;if(document.Login.password.value==){alert(请输入密码!);document.Login.password.focus();returnfalse;}}若输入的用户名和密码正确则跳转到后台管理页面,如图5所示;若用户名或密码错误会出现相应提示信息。代码如下:%Stringname=request.getParameter(username);Stringpwd=request.getParameter(password);Stringsql=select*fromadmin;ResultSetrs=admincheck.query(sql);while(rs.next()){if(name.equals(rs.getString(2))&&pwd.equals(rs.getString(3))){session.setAttribute(a,newBoolean(true));session.setAttribute(username,name);else{out.print(script);out.print(alert('用户名或密码错误!'););唐山学院课程设计out.print(history.back(););out.print(/script);}}%图5系统主界面3.4.2查询学生信息模块设计[3]查询学生信息模块:查看学生信息的页面为Stu.jsp。在该页面中,先得到页面参数与该页面的参数对应,调用不同的方法来查询学生信息,这些方法都返回一个由CourseBean组成的Arraylist对象。如图6所示:图6查询学生信息模块唐山学院课程设计部分实现代码如下:ArrayListcourseList=null;if(term!=null&&term.equals(all)){term=null;}if(courseType!=null&&courseType.equals(all)){courseType=null;}if(queryType==null||queryType.equals()){queryType=1;}if(courseInfo!=null&&courseInfo.length()0){if(queryType!=null&&queryType.equals(1)){courseList=courseBean.queryByCourseId(courseType,term,courseInfo);}elseif(queryType!=null&&queryType.equals(2)){courseList=courseBean.queryByName(courseType,term,courseInfo);}elseif(queryType!=null&&queryType.equals(3)){courseList=courseBean.queryByNameImprecise(courseType,term,courseInfo);}}else{courseList=courseBean.queryByCourseId(courseType,term,null);}3.4.3修改学生信息模块设计修改学生信息模块设计:学生信息修改页面为update.jsp,该页面先得到页面上唐山学院课程设计输入的学生编号,用于查询该学生的详细信息,得到该学生编号后调用StuDetailBean的成员函数queryStuDetail,返回一个StuDetailBean对象,页面得到该对象后,取得StuDetailBean的各个属性的值,在页面上显示相应的学生信息。当查询得到该学生的信息后,如果有需要修改的信息,在页面上修改信息之后,单击修改按钮,修改成功。该页面业务逻辑主要是在StudentBean和StuDetailBean中进行的,查询和验证密码分别调用StudentBean的成员函queryStuDetail和checkPwd,修改信息室调用StuDetailBean的成员函数modifyStuInfo。如图7所示:图7修改学生信息模块部分代码如下:%Stringids=request.getParameter(ids);Stringbookname=request.getParameter(bookname);Stringtbookname=addbook.chStr(bookname);Stringbookid=request.getParameter(bookid);Stringbooktype=request.getParameter(booktype);Stringtbooktype=addbook.chStr(booktype);intbookquantity=Integer.parseInt(request.getParameter(bookquantity));Stringsql=updatebooksettitle='+bookname+',bookId='+bookid+',type='+booktype+',quantity=+bookquantity+whereid=+ids;inttemp=-2;唐山学院课程设计temp=changebook.update(sql);if(temp0){scriptlanguage=javascriptalert(当前学生信息已修改!);/scriptahref=admin_viewallbooks.jsp学生信息列表/a ahref=admin_main.jsp返回管理首页/a}else{session.setAttribute(error,请检查你的输入.请确保你输入的信息的正确性!);response.sendRedirect(../errorpage.jsp);}%3.4.4删除学生信息模块设计学生信息删除页面为Delet.jsp,通过点击学生详细信息最后的删除按钮实现删除功能。如图8所示:图8删除学生信息模块部分代码如下:HttpSessionsession=request.getSession(true);Bloginlogin=(Blogin)session.getAttribute(login);BdeletedeleteBean=newBdelete();request.setAttr