今天为大家分享一个java语言编写的web版本的学生管理系统,目前系统功能已经很全面,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步
开发环境
开发语言为Java,开发环境Eclipse或者IDEA都可以。数据库采用:MySQL。
本项目是基于MVC的JSP技术进行的Web应用程序开发,其中
JSP技术为表示层,包括EL表达式、JSP动作、JSTL标准标签技术
Servlet为控制层技术
JavaBean为开发模型层
采用MVC设计模式对各个模块进行开发
数据库采用mysql数据库
采用Tomcat作为Web服务器
火狐浏览器,360浏览器,Chrome浏览器,IE浏览器做为本次程序的运行浏览器
系统框架
利用SP+JAVABEAN+SERVLET框架开发。MySQL数据库,简单web模式,启动tomcat后,在浏览器中输入http://127.0.0.1:8080/studentmanage
主要功能
1 开发背景
随着高校的扩招,需要处理的学生信息日趋加大,不仅花费大量的教师资源,处理的效率还十分低下。为提高学生管理的管理水平,优化资源,尽可能降低管理成本成为学生管理的新课题,学生管理系统是从学生管理现状出发,根据学生管理的新要求进行开发设计的,它解决了学生管理数据信息量大,修改不方便,对一系列数据进行分析时花费时间长等问题,帮助学生管理人员有效管理学生信息,成为管理高校中必不可少的管理工具
2 主要模块
系统中分两类系统管理员和普通学生。系统管理员能对系统中的学生进行查询,增加,删除,修改,分页显示。系统功能模块如下图2-1所示
3 主要实现原理
采用的是jsp+JavaBean+Servlet设计模式,这个模式的图如下
4 数据库设计
系统中存在两个表,分别是系统管理员表和普通用户表,他们的结构分别如下学生表t_student
字段名称
数据类型
长度
是否允许空
是否为主键
字段描述
id
INT
11
否
是
ID
username
VARCHAR
255
否
否
用户名
xuehao
VARCHAR
255
否
否
学号
sex
VARCHAR
255
否
否
性别
age
VARCHAR
255
否
否
年龄
zhuanye
VARCHAR
255
否
否
专业
banji
INT
11
否
否
班级
tel
VARCHAR
255
否
否
电话
管理员表t_admin
字段名称
数据类型
长度
是否允许空
是否为主键
字段描述
userId
INT
11
否
是
ID
userName
VARCHAR
255
否
否
用户名
userPw
VARCHAR
255
否
否
密码
实现效果
1 管理登录
管理员输入用户名和密码,校验通过后,进入后台主界面;校验失败则进入提示用户名或者密码错。
2 学生添加
管理员添加学生的时候,需要输入学号,姓名,性别,年龄,专业,电话,年龄等信息,校验通过后,跳转到学生管理界面;校验失败则进入提示相应的原因。
3 学生修改
管理员在学生管理界面,选择一种学生信息进行修改,修改学生的时候,需要输入学号,姓名,性别,年龄,专业,电话,年龄等信息,校验通过后,跳转到学生管理界面;校验失败则进入提示相应的原因。
4 分页查询学生信息
当查询学生信息的时候,符合条件的学生记录数据有多条的时候,分页技术是一个难点,分页技术的主要实现步骤有以下几个步骤。
1 根据符合的条件到数据库中查询,利用count(*)函数统计出符合条件的函数
2 根据每页5条件,根据总记录数,计算出符合条件的页面数量。计算公式为
(int) Math.ceil(totalrecord/5.0);
3 把查询出来的list记录传递到页面的前台进行显示
关键代码
public Double getTotalCnt(String username,String xuehao) throws Exception {
Double returncnt=0.0;
String sql=" select * from t_user where 1=1 ";
if(username!=null&&!username.equalsIgnoreCase("")&&!username.equalsIgnoreCase("null")){
sql+=" and username like '%"+username.trim()+"%' ";
}
if(xuehao!=null&&!xuehao.equalsIgnoreCase("")&&!xuehao.equalsIgnoreCase("null")){
sql+=" and xuehao like '%"+username.trim()+"%' ";
}
Object[] params = {};
DB mydb = new DB();
try {
mydb.doPstm(sql, params);
ResultSet rs = mydb.getRs();
while (rs.next()) {
returncnt=returncnt+1.0;
}
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
mydb.closed();
return returncnt;
}
版权归原作者 计算机程序 所有, 如有侵权,请联系我们删除。