jsp学生信息管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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="注册"〉&nbsp;&nbsp;
〈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;&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;&nbsp;此管理系统由武汉理工大学华夏学院信息工程系计算机科学与技术2012级学生商某某研发。

版权所有,侵权必究!
〈br><br〉&nbsp;&nbsp;&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实现了学生学籍管理系统的初步版本。

经过好几天的设计和开发,学生学籍管理系统的基本开发已经开发完毕,但是由于设计时间短,而且自己的能力有限,系统还有很多不尽如人意的地方,比如各个模块的删除功能、系统出错处理模块等等。

在进一步工作中,我将将会对这些问题进行一一完善.。

相关文档
最新文档