java web学生管理系统346 完整源码 附带详细的设计报告
学生管理系统中分两类系统管理员和普通学生。系统管理员能对系统中的学生进行查询,增加,删除,修改,分页显示。项目完整源码,下载后可以直接运行,是课程设计的理想材料。
今天为大家分享一个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;
}
更多推荐
所有评论(0)