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;
    } 

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
2.2.1学生信息处理 2.2.1.1.增加学生记录 业务流程描述: 1:要求用户从键盘输入一个或多个学生信息; 2:学生记录不允许重复,判断的关键字为学号。 业务规则说明: 1:从菜单选择添加学生信息; 2:性别限制男女; 3:学号作为唯一标示符:(1)不能出现重复学号;(2)学号必须是数字组成。 2.2.1.2删除学生记录 业务流程描述: 1:要求用户输入欲删除的学生的学号; 2:删除学生记录; 3:更新到数据表。 业务规则说明: 1:给定一个学生学号删除一个学生信息; 2:查看数据表中是否有输入学号的学生信息,如果存在则删除该学号学生信息,如果没有重新输入; 3:如果删除成功更新数据表。 2.2.1.3.查看学生记录 业务流程描述: 1:输入学生学号; 2:若该学生存在,显示该学生相关信息。 业务规则说明: 1:输入学生学号; 2:判断学生是否存在; 3:如果存在显示单个学生,如果不存在提示不存在,重新输入。 2.2.1.4.修改学生记录 业务流程描述: 1:要求用户输入欲修改的学生的学号; 2:判断该学生是否存在于记录中; 3:若学生记录存在,修改学生信息。 业务规则说明: 1:给定一个欲修改学生的学号; 2:查看数据表是否有输入学号的学生信息,如果存在学生对象,继续下一步,如果没有重新输入。 3:显示该学号学生信息; 4:修改学生信息; 5:修改后将信息更新到数据表中。 2.2.2教师信息处理 2.2.2.1.增加教师记录 业务流程描述: 1:要求用户从键盘输入一个或多个教师信息; 2:教师记录不允许重复,判断的关键字为教师编号。 业务规则说明: 1:从菜单选择添加教师信息; 2:性别限制男女; 3:教师编号作为唯一标示符:(1)不能出现重复教师编号;(2)教师编号必须是数字组成。 2.2.2.2删除教师记录 业务流程描述: 1:要求用户输入欲删除的教师的编号; 2:删除教师记录; 3:更新到数据表。 业务规则说明: 1:给定一个教师编号删除一个教师信息; 2:查看数据表中是否有输入教师编号的教师信息,如果存在则删除该教师编号教师信息,如果没有重新输入; 3:如果删除成功更新数据表。 2.2.2.3.查看学生记录 业务流程描述: 1:输入教师编号; 2:若该教师存在,显示该教师相关信息。 业务规则说明: 1:输入教师编号; 2:判断教师是否存在; 3:如果存在显示教师信息,如果不存在提示不存在,重新输入。 2.2.2.4.修改学生记录 业务流程描述: 1:要求用户输入欲修改的教师的编号; 2:判断该教师是否存在于记录中; 3:若教师记录存在,修改教师信息。 业务规则说明: 1:给定一个欲修改教师的编号 2:查看数据表是否有输入编号的教师信息,如果存在教师对象,继续下一步,如果没有重新输入; 3:显示该教师编号教师信息; 4:修改教师信息; 5:修改后将信息更新到数据库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机程序

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值