《学生信息管理系统设计文档jsp.doc》由会员分享,可在线阅读,更多相关《学生信息管理系统设计文档jsp.doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学生管理工作是学校教育工作一个重要组成部分,随着国家教育发展、学校规模扩大、学生人数增加等,学生管理工作信息量大幅度增加,对学生各种信息汇总、统计、分析等管理工作面临着很大困难。因此,充分利用网络资源,建设“学生信息管理系统”,提高学生教育、管理服务水平与工作效率,使学生工作科学化、现代化,已经成为学校学生管理工作面临一个新课题。本论文论述了学生信息管理系统基本原理及实现技术,并采用B/S结构,使用Tomcat做为前台应用服务器,SQL Server做为后台应用数据库设计、开发出一套学生信息管理系统,运用到技术有JSP、Html、SQL Server、Java 、JavaScript与CSS等
2、。该学生学籍管理系统主要对学生学籍信息、成绩信息进行管理,提供一个平台,供学籍管理人员增删改查学生信息、学生成绩信息。系统分为学生信息管理、学生成绩管理、信息查询等几个模块。学籍管理人员登录成功后可以对学生信息管理、学生成绩管理、信息查询等模块进行操作,如学生信息添加、修改、删除与查询;学生成绩登记、修改、删除与查询;查询信息等。第 25 页摘 要第1章引 言1系统开发背景1系统简介1系统使用范围1JSP动态网站开发技术2HTML超文本标记语言2SQL Server数据库技术2Java面向对象程序设计语言2JavaScript网页特效技术3CSS层叠样式表单技术3系统开发工具3Tomcat应用
3、服务器3Dreamweaver网页制作工具3Photoshop平面设计工具4第2章系统需求分析5系统开发实现方式5系统开发技术支持5系统功能分析5系统数据流图5第3章系统概要设计6数据库设计6管理员角色模块8教师角色模块8学生角色模块9数据库设计9数据库应用分析9系统连接数据库实现9第4章系统详细设计12系统公共模块设计及实现12系统首页12系统欢迎页面15系统应用页面18系统留言板页面18第5章结束语21致 谢参考文献第1章 引 言1.1 系统开发背景 随着科学发展,教育重视程度不断提高,学生人数逐年上升,传统学生信息管理己暴露出很多效率与经济上弊端。学生信息管理已在学校经济与人力支出中占了
4、很大比例,严重影响了学校教学质量提高及教学进度发展,改善学校学生信息管理方法己成为当务之急。学生信息管理系统与其他信息管理系统一样是当今管理信息不可缺少系统,它对学校决策者与管理者以及学校学生来说都有着重要作用与价值。正因如此学生信息管理系统应该为用户提供充足信息资源与快捷查询手段。无论是对学生还是学生管理者来说都是一种体力劳动减负。为教师与管理者留出更多时间,让他们把心思都花在怎样教学与自己学习上。同时也可以为学校节约经费。学生信息管理系统具有手工管理所无法比拟优点。如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理效率。因此,开发这样
5、一个低成本高效率管理系统是十分必要。1.2 系统简介 系统名称为学生信息管理系统,简称SIMS(Student Information Management System)。本系统能够实现学生信息管理。“学生信息管理”可以实现对学生信息录入、查询、修改与删除等功能。学生信息包括学生基本信息与学生入学信息,学生基本信息涵盖该学生身份信息、家庭信息与基本情况记录等,学生入学信息包含该学生入学时间、学历层次、院部、专业与学号等信息。通过学生信息录入可以把学生相关信息添加到系统中,通过学生信息查询可以查看学生基本信息与入学信息,通过学生信息修改与删除可以对该学生信息进行修改与删除操作。1.3 系统使用
6、范围 本系统设计考虑了系统通用性,可以应用于教育系统各种类型院校。系统开发技术1.3.1 JSP动态网站开发技术JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参及一起建立一种动态网页技术标准。JSP技术是在传统网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)与JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发Web应用是跨平台,能够在多种操作系统上运行。JSP技术使用Java编程语言编写类XMLtags与scriptlets,来封装产生动态网页处理逻辑。网页还能通过tags与script
7、lets访问存在于服务端资源应用逻辑。 1.3.2 HTML超文本标记语言HTML(Hyper Text Markup Language)即超文本标记语言,用于建立web页面与其他超级文本语言,是WWW描述语言。 HTML文本是由HTML命令组成描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需信息,而主体则包含所要说明具体内容。1.3.3 SQL Server数据库技术SQL Server 是一个关系数据库管理系统,采用SQL(Structured Query Language,结构化查询语
8、言)语言标准。SQL Server 2000 是Microsoft 公司推出SQL Server 数据库管理系统,该版本继承了SQL Server 7.0 版本优点,同时又比它增加了许多更先进功能。具有使用方便可伸缩性好及相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 膝上型电脑到运行Microsoft Windows 2000 大型多处理器服务器等多种平台使用。1.3.4 Java面向对象程序设计语言Java是由Sun Microsystems公司于1995年5月推出Java程序设计语言(以下简称Java语言)与Java平台总称。用Java实现HotJava浏
9、览器(支持Java applet)显示了Java魅力:跨平台、动态Web、Internet计算。Java平台由Java虚拟机(Java Virtual Machine)与Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统标准接口,可分为基本部分与扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。1.3.5 JavaScript网页特效技术Javascript是由 Netscape公司开发一种脚本语言(scripting language),或
10、者称为描述语言。在HTML基础上,使用Javascript可以开发交互式Web网页。 JavaScript 使网页增加互动性。JavaScript 使有规律地重复HTML文段简化,减少下载时间。JavaScript 能及时响应用户操作,对提交表单做即时检查,无需浪费时间交由 CGI 验证。1.3.6 CSS层叠样式表单技术CSS是CascadingStyleSheets(层叠样式表)缩写。是用于(增强)控制网页样式并允许将样式信息及网页内容分离一种标记性语言。加在head部分与分别被浏览器识别为CSS开始与结束。CSS作用是定义网页外观(例如字体,颜色等等),它也可以与javascript等浏
11、览器端脚本语言合作做出许多动态效果。1.4 系统开发工具1.4.1 Tomcat应用服务器Tomcat 服务器是一个免费开放源代码Web 应用服务器,是Apache 软件基金会(Apache Software Foundation)Jakarta 项目中一个核心项目,由Apache、Sun 与其他一些公司及个人共同开发而成。Tomcat运行时占用系统资源小,扩展性好,支持负载平衡及邮件服务等开发应用系统常用功能。Tomcat 是一个小型轻量级应用服务器,在中小型系统与并发访问用户不是很多场合下被普遍使用,是开发与调试JSP 程序首选。1.4.2 Dreamweaver网页制作工具Dreamwe
12、aver是美国 Macromedia公司开发集网页制作与管理网站于一身所见即所得网页编辑器,利用它可以轻而易举地制作出跨越平台限制与跨越浏览器限制充满动感网页。使用网站地图可以快速制作网站雏形、设计、更新与重组网页。改变网页位置或档案名称,Dreamweaver 会自动更新所有连结。使用支援文字、HTML码、HTML属性标签与一般语法搜寻及置换功能使得复杂网站更新变得迅速又简单。1.4.3 Photoshop平面设计工具Photoshop是Adobe公司旗下最为出名图像处理软件之一。使用Photoshop可以进行图像编辑、图像合成、校色调色及特效制作等工作,是网页制作与系统开发美工伴侣。 第2
13、章 系统需求分析2.1 系统开发实现方式本系统采用B/S(Browser/Server,浏览器/服务器模式)结构,前台部署使用Tomcat应用服务器,后台数据库使用SQL Server数据库。应用开发工具为Dreamweaver网页制作工具、Photoshop平面设计工具、UltraEdit开发环境与Visio流程图、表制作工具。2.2 系统开发技术支持本系统在开发中应用到了JSP动态网站开发技术、Java面向对象程序设计语言与SQL结构化查询语言,在系统页面展现上使用了HTML超文本标记语言、JavaScript网页特效技术与CSS层叠样式表单技术。2.3 系统功能分析本“学生信息管理系统”
14、分为三个模块:教务部门、教师、学生三大模块。教务部门:拥有对所有表查询更新及删除权利(分类信息属于查询结果除外);教师:可对教师、专业以及院系信息,分类信息,学生情况进行查询,对成绩单进行查询、更新以及删除等所有操作;学生:只可对所有模块信息进行查询,同时可对自己部分学生情况进行一定修改及更新。2.4 系统数据流图数据流图:简称DFD,就是采用图形方式来表达系统逻辑功能、数据在系统内部逻辑流向与逻辑变换过程,是结构化系统分析方法主要表达工具及用于表示软件模型一种图示方法。数据流程图中有以下几种主要元素,如图2-1所示:图2-1 数据流图元素 本学生信息管理系统数据流图如图2-2所示。图2-2
15、学生信息管理系统数据流图第3章 系统概要设计3.1数据库设计学生基本信息表系部类别信息表留言信息表管理员信息表1 数据库连接 应用程序访问数据库首先要进行是连接数据库,数据库连接应用于密码验证、信息显示、信息录入及信息更改等应用中,本系统应用程序采用JDBC(Java DataBase Connectivity)技术来实现数据库连接访问,JDBC驱动程序可以从网上下载,本系统采用驱动程序“Microsoft SQL server 2000 FOR JDBC”。 2 系统帮助系统帮助页面通过应用页面上“使用帮助”菜单连接而展现出来,在帮助页面左侧有树形菜单,点击其中一个节点便会在页面右侧展现该节
16、点对应内容。3.2.1 管理员角色模块管理员角色是本系统中权限最高用户,可以对系统中用户及信息等进行查询、打印、增加、修改与删除等,其中教师与学生所拥有权限管理员都具备。学籍管理人员登录成功后可以对学生信息管理、学生成绩管理、信息查询等模块进行操作,如学生信息添加、修改、删除与查询;学生成绩登记、修改、删除与查询;查询信息等。管理员角色功能图示如图3-1。学生学籍管理系统学生管理员添加修改删除统计排序查询学生学籍管理系统查询图3-1 管理员角色功能图示3.2.2 教师角色模块系部名称系部代号系部图3-2 系部角色E-R图3.2.3 学生角色模块学生角色在本系统中权限时最低,只能对成绩进行查询学
17、学生角色E-R图如图3-3。图3-3 学生角色E-R图3.3 数据库设计3.3.1 数据库应用分析本系统数据库应用采用Microsoft SQL Server 2005创建student数据库,需要数据表有四个,liuyan表、stuinfo表、userinfo表、xibuinfo表。3.3.2 系统连接数据库实现 本系统连接数据库采用JDBC-ODBC Bridre技术,创建完ODBC数据源后,在系统程序页面中应用如下代码便可以及数据库进行连接,进而实现对数据查询、修改、插入与删除操作。package dao;import java.sql.*;import ;import javax.sq
18、l.DataSource;public class Connecter /static String driverName =com.mysql.jdbc.Driver; /MySql数据库用这个/static String connectionString = jdbc:mysql:/117.79.94.209:3306/student; /MySql数据库用这个static String driverName = com.microsoft.sqlserver.jdbc.SQLServerDriver;static String connectionString = jdbc:sqlser
19、ver:/localhost:1433;DatabaseName=student; DataSource ds = null; private Connection connection=null ;ResultSet rs;statictryClass.forName(driverName).newInstance();catch (Exception e)e.printStackTrace();public Connection getConnenction()try /* InitialContext ctx = new InitialContext(); ds = (DataSourc
20、e)ctx.lookup(java:comp/env/jdbc/NorthWind);*/connection =DriverManager.getConnection(connectionString,sa,123456);catch (Exception e)e.printStackTrace();return connection; public ResultSet executeQuery(String sql) throws Exception try sql=new String(sql.getBytes(GBK),ISO8859_1); Connection con=getCon
21、nenction(); Statement stmt=con.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY); rs=stmt.executeQuery(sql); catch(SQLException ex) System.out.println(sql.executeQuery:+ex.getMessage(); return rs; 第4章 系统详细设计4.1 系统公共模块设计及实现4.1.1 系统首页package stuservlet;imp
22、ort java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import dll.StuDll;import dll.UserInfoDll;public class Login extends HttpServlet pu
23、blic Login() super();public void destroy() super.destroy(); / Just puts destroy string in log/ Put your code herepublic void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doPost(request,response);public void doPost(HttpServletRequest request, Htt
24、pServletResponse response)throws ServletException, IOException response.setContentType(text/html;charset=GB2312);/设置响应MIME类型PrintWriter out = response.getWriter();request.setCharacterEncoding(gb2312); String role= request.getParameter(role);String sno = request.getParameter(username);String pwd= new
25、 String(request.getParameter(password);if(role.equals(0) /管理员登陆int i=new UserInfoDll().getUser(sno, pwd);if(i=0)/登陆成功request.getSession().setAttribute(customerId,sno); response.sendRedirect(/StudentManage/index.jsp); return ;else if(i=-1)/用户不存在request.setCharacterEncoding(gb2312); out.print(alert(!用
26、户不存在);window.location.href=/StudentManage/login.jsp;); return;else if(i=1)/密码错误request.setCharacterEncoding(gb2312);out.print(alert(!密码错误);window.location.href=/StudentManage/login.jsp;); return;else /学生登陆System.out.println(sno+ sss);int i=new StuDll().getStu(sno, pwd);if(i=0)/登陆成功 response.sendRedi
27、rect(/StudentManage/stuinfo.jsp?sno=+sno+); return ;else if(i=-1)/用户不存在out.print(alert(!用户不存在);window.location.href=/StudentManage/login.jsp;); return;else if(i=1)/密码错误out.print(alert(!密码错误);window.location.href=/StudentManage/login.jsp;); return; * Initialization of the servlet. * throws ServletExc
28、eption if an error occurspublic void init() throws ServletException / Put your code herepublic void service(HttpServletRequest request,HttpServletResponse response)throws javax.servlet.ServletException,java.io.IOException doGet(request,response);4.1.2 系统欢迎页面public void doPost(HttpServletRequest requ
29、est, HttpServletResponse response)throws ServletException, IOException response.setContentType(text/html;charset=GB2312);/设置响应MIME类型PrintWriter out = response.getWriter();request.setCharacterEncoding(gb2312);String type2=getS(request.getParameter(type2);if(type2.trim().equals(addstu)StuInfo suser=ne
30、w StuInfo();String address=request.getParameter(address).trim();String tel=request.getParameter(tel).trim();String zhuanye=request.getParameter(zhuanye).trim();if(address.equals()address=未填写;if(tel.equals()tel=未填写;if(zhuanye.equals()zhuanye=未填写; suser.setSno(request.getParameter(sno).trim();suser.se
31、tSname(request.getParameter(sname).trim();suser.setSex(request.getParameter(sex).trim();suser.setSid(request.getParameter(sid).trim();/suser.setPhoto(request.getParameter(photo).trim();suser.setAddress(address);suser.setTel(tel);suser.setScore(Integer.parseInt(request.getParameter(score).trim();suse
32、r.setGoodstu(request.getParameter(goodstu).trim();suser.setPrise(request.getParameter(prise).trim();suser.setXibu(request.getParameter(xibu).trim();suser.setZhuanye(zhuanye);if(new StuDll().addStu(suser) out.print(alert(添加成功);window.location.href=/StudentManage/stuinfo.jsp?sno=+suser.getSno()+;); re
33、turn; else out.print(alert(添加失败!重新添加);window.location.href=/StudentManage/addstu.jsp;);if(type2.trim().equals(addxibu)request.setCharacterEncoding(gb2312);String xno = request.getParameter(xno).trim();String xname=request.getParameter(xname).trim();System.out.println(s输出+xno+xname); XiBu xuser=new X
34、iBu(); xuser.setXno(xno); xuser.setXname(xname); if(new XibuDll().addXiBuDll(xuser) out.print(alert(添加系部信息成功!);window.location.href=/StudentManage/fenyeshow.jsp;); /out.println(alert(添加系部信息成功!); / response.sendRedirect(/StudentManage/addxibu.jsp); else out.print(alert(!添加系部失败);window.location.href=/
35、StudentManage/fenyeshow.jsp;);if(type2.trim().equals(updatastu)System.out.println(123456);StuInfo suser=new StuInfo(); suser.setSno(request.getParameter(sno).trim();suser.setSname(request.getParameter(sname).trim();suser.setSex(request.getParameter(sex).trim();suser.setSid(request.getParameter(sid).
36、trim();/suser.setPhoto(request.getParameter(photo).trim();suser.setAddress(request.getParameter(address).trim();suser.setTel(request.getParameter(tel).trim();suser.setScore(Integer.parseInt(request.getParameter(score).trim();suser.setGoodstu(request.getParameter(goodstu).trim();suser.setPrise(reques
37、t.getParameter(prise).trim();suser.setXibu(request.getParameter(xibu).trim();suser.setZhuanye(request.getParameter(zhuanye).trim();if(new StuDll().updataStuInfo(suser)=0) out.print(alert(修改成功!返回查看修改后信息);window.location.href=/StudentManage/stuinfo.jsp?sno=+suser.getSno()+;);else out.print(alert(修改失败!
38、重新修改该学生信息);window.location.href=/StudentManage/updatastu.jsp?sno=+suser.getSno()+;);if(type2.trim().equals(liuyan)request.setCharacterEncoding(gb2312);LiuYan liuyan=new LiuYan();liuyan.setLname(request.getParameter(lname);liuyan.setTel(request.getParameter(tel);liuyan.setEmail(request.getParameter(e
39、mail);liuyan.setTheme(request.getParameter(theme);liuyan.setMessage(request.getParameter(message);if(new LiuYanDll().insertStu(liuyan)out.print(alert(留言成功,谢谢你参及!返回首页);window.location.href=/StudentManage/index.jsp;);elseout.print(alert(!留言失败!重新留言);window.location.href=/StudentManage/index.jsp;);if(ty
40、pe2.trim().equals(upload) TheBean=new ();TheBean.setSavePath(e:); System.out.print(上传成功!); response.sendRedirect(/StudentManage/addxibu.jsp);TheBean.doUpload(request);4.1.3 系统应用页面4.1.4 系统留言板页面package dao;import java.sql.Connection;import java.sql.SQLException;import java.sql.Statement;import model.L
41、iuYan;public class LiuYanDao private Connection conn = new Connecter().getConnenction();Statement sta = null; public boolean insertStu(LiuYan liuyan) if (liuyan.getLname() = null) return false; /必须填写不能为空 if(liuyan.getEmail()=null) liuyan.setEmail(未填写); if(liuyan.getTheme()=null) liuyan.setTheme(未填写); if(liuyan.getMessage()=null) liuyan.setMessage(未填写); Statement sta = null; String insertOrderSQL = insert into liuyan(lname,tel,email,theme,message) + values(+liuyan.getLname() +,+liuyan.getTel()+,+liuyan.getEmail()+,+liuyan.getTheme()+,+liuyan.getMessage()+); try sta = conn.createStatement(); st
限制150内