jsp学生信息管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JSP程序设计大作业
题目:学生学籍管理信息系统
姓名:商德楼
学号: 1 0 2 1 0 4 1 2 1 0 8
成绩:
指导教师:刘春燕
2015年5月28日
学生学籍管理信息系统
1 项目简介
1.1项目背景
随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。
管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。
目前,在学校里,随着高校规模的不断扩大和招生人数的不断增加,需要处理大量的学生数据信息。
如何更好的组织学生信息,更加快捷的管理学生信息显得尤为的重要。
作为计算机应用的一部分,使用计算机对学生信息进行管理,有着手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。
我们为此开发了一套学生信息管理系统,本系统面向学校的教务人员,目的是为学校办公管理提供一个快速、简单规范的管理平台,使学院在学生信息管理方面更加规范化,快捷化。
1.2项目要求
(1)网站要有一个明确的主题,界面友好美观.
(2)主页要求至少包括用户注册登录显示,实现信息的查询、添加、删除等基本功能。
2 需求分析
2.1 功能需求
根据上述的信息管理系统的业务流程、要求以及所要实现的目标,我们可以拟出以下需求目标:
(1)建立学生档案的管理和维护。
实现计算机自动化管理体制.
(2)建立学生成绩管理机制,在计算机的支持下快速的完成学生成绩的查询和修改.
(3)建立课程设置管理,在计算机的支持下实现课程的添加、删除、修改.
(4)建立班级设置管理,在计算机的支持下实现班级的添加、删除和修改。
(5)实现系统的权限设置管理,保证系统安全性。
2.3 性能需求
系统的运行对于运行环境的要求是;
1.硬件环境
目前,我们所开发的系统主要是应用在中小规模的学校内部,因此,一般配置的计算机硬件就可以满足系统需求.考虑到学校规模的扩大和硬件价格的降低,为本系统配置在较优秀的服务器硬件,可以充分发挥本系统性能。
●处理器: Intel Pentium 4 3。
06 GX 或更高
●内存:256M以上(推荐)
●硬盘空间:40GB以上
●显卡: SVGA显示适配器
2.软件环境
●操作系统:Windows 2000/XP以上
●开发软件:MyEclipse10
●数据库:Microsoft SQL Server 2005
3 总体设计
3。
1 设计思想与处理流程
本系统采用面向对象方法进行分析和设计,在SQL Server 2005数据库上实现数据操作。
使用纯面向对象的Java语言作为开发语言,使用WindowsXP作为开发平台,能够很好的实现系统的开发及测试。
系统的基本流程是:用户登陆→主界面→选择各项子系统。
3.2 系统层次模块图
“学生信息管理系统”主要分为登录、注册、关于、学生信息查询、学生信息增加、学生信息删除、学生信息修改等7个模块。
系统主模块功能树如图2—1所示:
图2-1 “学生信息管理系统”系统主模块功能树
3.3 模块设计
1.登录模块:输入用户名称和密码,如果用户名、密码正确,进入主控制平台;
否则给出错误信息提示。
2.注册模块:首先用学号注册身份,将身份信息存储进数据库中,添加成功显示添加成功,否则给出出错提示.
3.关于模块:介绍系统相关信息。
4.学生信息管理模块:执行学生信息管理相关操作。
4 详细设计
4。
1数据库设计
1.打开SQL Server2005,新建查询,建立数据库。
create database db
2。
在数据库中新建账户表(ta)、信息表(tb).
create table ta
(num char(10) primary key,
password char(10)not null
)
Create table tb
(num char(10) primary key,
name char(10)not null,
sex char(10),
age char(10),
class char(10),
)
3。
在信息表中添加学生信息。
insert into tb(num,name,sex,age,class)
values(1,’张三’,'男',20,'计算机')
insert into tb(num,name,sex,age,class)
values(2,'李四','女’,20,'计算机’)
insert into tb(num,name,sex,age,class)
values(3,’王五','女’,20,'软件')
insert into tb(num,name,sex,age,class)
values(4,'赵六',’男',20,’通信’)
4.2信息管理系统设计
1。
主页面主要代码如下:
〈body><br>
〈center>〈b>学生信息管理系统</b></center〉〈br><br〉
〈center〉
〈left>〈a href=”denglu.html”>登陆〈/a〉〈/left〉
<a href="zhuce.html"〉注册</a>
<right>〈a href=”guanyu。
html">关于</a>〈/right>
</center>
</body〉
<body>
<center>
〈form action="/test/zhuce.jsp" method="get”〉
学号:〈input type=”text”name="num"〉<br/><br/>
密码:〈input type="password" name=”password"〉〈br/>〈br/〉
<center〉
<input type="submit”value="注册"〉
〈input type=”button" value="返回”onclick="javascript:window。
location。
href =’zhuyemian.html’;">
</center〉
〈/center>
3。
注册处理页面主要代码如下:
〈%@ page import=”java。
sql。
*" %〉
<%
String name=request.getParameter(”num");
String pwd=request.getParameter("password");
String driverClass=”com。
microsoft。
sqlserver.jdbc。
SQLServerDriver”;
String url="jdbc:sqlserver://localhost:1570;DatabaseName=db”;
String username=”sa";
String password="123456” ;
Class.forName(driverClass);
Connection conn=DriverManager.getConnection(url,username,password);
PreparedStatement pStmt=conn。
prepareStatement(”select * from ta where num=?");
pStmt。
setString(1, name);
ResultSet st=pStmt.executeQuery();
if(st.next()){
out。
println("该用户与已存在”);
}
else{
PreparedStatement Stmt=conn.prepareStatement("insert into ta(num,password)values(?,?)”);
Stmt.setString(1,name);
Stmt。
setString(2,pwd);
int rtn=Stmt.executeUpdate();
out。
println("注册成功”);
}
pStmt。
close();
conn.close();
%>
</head>
〈body>
<a href="zhuyemian.html”>返回〈/a〉
</body〉
〈body>
<center〉
〈form action="/test/denglu。
jsp" method="get"〉
学号:<input type="text" name="username”〉<br/〉〈br/>
密码:〈input type=”password”name=”password"〉〈br/>〈br/>
〈input type="submit" value="登录”〉 &nbsp;
〈input type="button”value="返回" onclick=”javascript:window.location。
href
=’zhuyemian.html’;”〉
〈/center〉
</body>
5.登陆处理页面主要代码如下:
<%
String name=request。
getParameter("username");
String pwd=request.getParameter("password");
String driverClass=”com。
microsoft。
sqlserver。
jdbc.SQLServerDriver";
String url=”jdbc:sqlserver://localhost:1570;DatabaseName=db";
String username=”sa";
String password="123456” ;
Class.forName(driverClass);
Connection conn=DriverManager。
getConnection(url,username,password);
PreparedStatement pStmt=conn.prepareStatement("select * from ta where num=?
and password=? ”);
pStmt.setString(1,name);
pStmt。
setString(2, pwd);
ResultSet rs=pStmt。
executeQuery();
if(rs。
next()){
response。
sendRedirect(”xinxi。
jsp”);
}
else{
out.println(”登陆失败!");
}
pStmt.close();
conn.close();
%〉
〈body〉
<a href=”denglu。
html”〉返回</a〉
〈/body>
6.关于页面主要代码如下:
<body>
 ;&nbsp;&nbsp;&nbsp;此管理系统由武汉理工大学华夏学院信息工程系计算机科学与技术2012级学生商某某研发。
版权所有,侵权必究!
〈br><br〉&nbsp;&nbsp; ; 〈a href=”zhuyemian.html”〉返回</a〉
</body〉
7.个人信息处理页面主要代码如下:
<body〉
〈p〉查询学生信息(请输入学号):</p〉
〈form name="form1” action="chaxun。
jsp" method=”post”〉
〈input type=”text" name="num”>
〈input type=”submit”name="Submit" value=”查询"〉
</form〉
〈p>删除学生信息(请输入学号):〈/p>
<form name=”form3” action="shanchu.jsp" method=”post"〉
<input type=”text" name=”num”>
〈input type=”submit" name=”Submit”value=”删除”〉
〈/form>
〈p>修改学生信息:〈/p>
<form name=”form2" action=”xiugai.jsp" method=”post">
学号:<input type=”text" name=”num"〉〈br〉
姓名:〈input type="text”name=”name"〉<br〉
性别:〈input type=”text" name=”sex"> <br>
年龄:〈input type=”text" name=”age"> <br>
班级:〈input type="text”name=”class”>
<input type=”submit" name="Submit" value=”修改"〉
</form>
<p>添加学生信息:</p>
〈form name="form4” action="tianjia。
jsp" method="post">
学号:〈input type="text" name="num"> 〈br〉
姓名:<input type=”text”name=”name”> 〈br〉
性别:〈input type=”text" name="sex”〉〈br〉
年龄:<input type=”text" name="age"> 〈br〉
班级:<input type=”text”name="class”〉
<input type=”submit" name=”Submit”value="添加">
</form〉
〈/body〉
8。
查询界面主要代码如下:
〈%
String snum=request.getParameter("num");
String driverClass=”com。
microsoft。
sqlserver。
jdbc。
SQLServerDriver”;
String url="jdbc:sqlserver://localhost:1570;DatabaseName=db";
String username="sa";
String password="123456" ;
Class.forName(driverClass);
Connection conn=DriverManager.getConnection(url,username,password);
PreparedStatement Stmt=conn。
prepareStatement(”select *from tb where num=? ”);
Stmt.setString(1,snum);
ResultSet rs=Stmt.executeQuery();
while(rs.next()){%〉
〈p align="center" 〉学号:<%=rs.getString(”num”) %〉</p>
〈p align=”center" 〉姓名:〈%=rs。
getString("name")%> 〈/p>
<p align="center”>性别:<%=rs。
getString(”sex”) %> </p〉
〈p align="center" 〉年龄:〈%=rs。
getString("age")%〉</p〉
〈p align=”center”>班级:〈%=rs。
getString(”class")%> 〈/p>
〈% }
rs.close();
Stmt.close();
conn。
close();
%〉
〈center><a href="xinxi.jsp”>返回〈/a>〈/center>
</body>
9.删除界面主要代码如下:
〈%
String snum=request.getParameter("num”);
String driverClass="com.microsoft。
sqlserver。
jdbc.SQLServerDriver”;
String url="jdbc:sqlserver://localhost:1570;DatabaseName=db";
String username="sa";
String password=”123456” ;
Class。
forName(driverClass);
Connection conn=DriverManager.getConnection(url,username,password);
PreparedStatement pStmt=conn。
prepareStatement("select * from tb where num=?");
pStmt。
setString(1, snum);
ResultSet st=pStmt。
executeQuery();
if(st.next()){
PreparedStatement Stmt=conn。
prepareStatement("delete from tb where num=?");
Stmt.setString(1,snum);
int rtn=Stmt.executeUpdate();
out.println(”删除成功");
}
else{
out。
println("该用户不存在");
}
pStmt.close();
conn.close();
%〉
<a href=”xinxi。
jsp"〉返回</a>
〈/body〉
10。
修改页面主要代码如下:
<%
String snum=request。
getParameter("num");
String sname=request.getParameter(”name");
String ssex=request。
getParameter(”sex”);
String sage=request。
getParameter("age");
String sclass=request.getParameter(”class");
String driverClass="com。
microsoft。
sqlserver.jdbc.SQLServerDriver”;
String url=”jdbc:sqlserver://localhost:1570;DatabaseName=db";
String username=”sa";
String passwo rd=”123456" ;
Class.forName(driverClass);
Connection conn=DriverManager。
getConnection(url,username,password);
PreparedStatement Stmt=conn。
prepareStatement("update tb set name=?,
sex=?,
age=?,class=? where num=?");
Stmt。
setString(1,sname);
Stmt.setString(2,ssex);
Stmt.setString(3,sage);
Stmt。
setString(4,sclass);
Stmt。
setString(5,snum);
int rtn=Stmt。
executeUpdate();
out。
println("用户信息修改成功");
Stmt。
close();
conn.close();
%>
〈a href="xinxi。
jsp”〉返回</a>
〈/body〉
11。
添加页面主要代码如下:
〈%
String snum=request。
getParameter(”num”);
String sname=request.getParameter("name");
String ssex=request.getParameter("sex");
String sage=request.getParameter(”age");
String sclass=request。
getParameter(”class");
String driverClass="com。
microsoft。
sqlserver.jdbc.SQLServerDriver";
String url=”jdbc:sqlserver://localhost:1570;DatabaseName=db”;
String username=”sa”;
String password=”123456" ;
Class.forName(driverClass);
Connection conn=DriverManager.getConnection(url,username,password);
PreparedStatement pStmt=conn。
prepareStatement("select * from tb where
num=?”);
pStmt.setString(1,snum);
ResultSet st=pStmt.executeQuery();
if(st.next()){
out.println("该用户已存在");
}
else{
PreparedStatement Stmt=conn。
prepareStatement("insert into
tb(num,name,sex,age,class) values(?,?,?,?,?)”);
Stmt。
setString(1,snum);
Stmt。
setString(2,sname);
Stmt.setString(3,ssex);
Stmt。
setString(4,sage);
Stmt.setString(5,sclass);
int rtn=Stmt.executeUpdate();
out.println("用户信息添加成功");
}
pStmt.close();conn.close();
%>
〈a href=”xinxi。
jsp"〉返回</a〉
5 测试结果
5。
1学生学籍管理系统主界面,如图5-1:
图5-1 学生学籍管理系统主界面
5。
2注册界面,如图5—2:
图5-2注册界面
5。
3 注册结果页面,如图5-3:
图5—3注册结果页面5。
4登陆界面,如图5—4:
图5-4登陆界面5.5登陆结果页面,如图5-5
图5-5登陆结果页面5.6关于界面,如图5-6:
图5-6关于界面5。
7查询结果页面,如图5—7:
5—7查询结果页面
5.8删除结果页面,如图5—8
5—8删除结果页面5。
9修改结果页面:
5-9修改结果界面5.10添加结果页面
图5-10添加结果页面
6 总结
经过测试,本系统能够很好的运行,通过运行此系统,功能模块也达到老师的要求。
通过系统的设计,本人感触最深的是加深了对软件开发过程的理解,熟悉了使用JSP 实现各种数据库型软件的开发,MyEclipse的使用,tomcat的使用,以及数据库语句的使用,了解了教务管理的一些流程。
本文在详细分析了学生学籍管理模块基础上,设计并实现了学生学籍管理系统的简易版本。
课程设计的主要工作包括以下几方面:
1、详细地分析和总结了学生学籍管理的需求,并确定了学生学籍管理系统的实现的
初步方案.
2、分析了系统实现的关键技术原理,和具体描述了各个功能模块,并用图表示了系
统功能结构图,使得更容易了解本系统。
3、设计并实现了学生学籍管理系统的逻辑模型,并基于SQL2005数据库实现了学
生学籍管理系统的物理模型。
4、采用JSP实现了学生学籍管理系统的初步版本。
经过好几天的设计和开发,学生学籍管理系统的基本开发已经开发完毕,但是由于设计时间短,而且自己的能力有限,系统还有很多不尽如人意的地方,比如各个模块的删除功能、系统出错处理模块等等。
在进一步工作中,我将将会对这些问题进行一一完善.。