基于SSM的学生信息管理系统(选课)

项目简介:
由SpringMVC+MyBatis为主要框架,mysql8.0配置。前端主要由bootstrap完成,背景用particles.js插件。数据库交互查询用到pagehelper分页。在添加修改相关功能时通过ajax来验证其主键是否存在可用。代码层次清晰,输入框约束较高,已配置登录拦截。

一、应用技术

  • 工具:eclipse、navicat
  • 环境:JDK1.8、tomcat9.0、mysql8.0
  • 前端:JavaScript、jQuery、bootstrap4、particles.js
  • 后端:maven、SpringMVC、MyBatis、ajax、mysql读写分离、mybatis分页

二、功能

这是在上个springmvc选课系统的基础上进行修改完善的,目前功能基本相同,修复诸多bug
主要功能模块图:

新增:

  • 增加分页查询
  • 输入框约束
    学号、身份证、课程编号、教师编号只能输入数字,并且有最大输入限制,其中学号固定12位,若小于12位将会有提示。姓名只能输入中文。几乎所有输入框不能输入空格等约束
  • 下拉框联动
    添加、修改课程采用二级联动,即所属系别——所属专业;
    添加、修改学生采用三级联动,即系别——专业——班级。(三级联动代码有些复杂,因为JavaScript学的不好=-=)。
  • ajax+springmvc验证
    用于验证学号、课程编号、教师编号是否存在并给出提示信息等。
    其中课程安排时间地点排重功能正在开发中····
  • 登录拦截
    在handler层配置拦截器,对各角色进行登录拦截,即未登录用户不能直接通过相应url访问。
    更多功能持续更新中······

三、主页面截图




更多请查看演示:http://studentInfo.fuzui.net/StudentInfo
演示地址失效,后面不定期更新维护

四、编写日志

第一步计划:
将原来的springmvc选课系统修改为ssm框架并初步新增功能。
时间:2019.4.6——2019.4.14

2019年

4月6日

  • 创建maven项目StudentInfo,编写pom.xml,配置好ssm环境;
  • 创建七大pojo类,编写pojo文档。

4月7日

  • 配置mysql主从,在两台腾讯云服务器上;
  • 导入原有mysql读写java文件;
  • 测试成功读写分离。

4月8日

  • 编写学生(Student)相关操作service和mapper层(DAO),并测试成功;

4月9日

  • 编写教师相关(Teacher)相关操作service和mapper层(DAO),并测试成功;
  • 编写管理员相关(Admin)相关操作service和mapper层(DAO),并测试成功;

4月10日

  • 编写课程类、课程安排类、选课类、退选类、相关操作service和mapper层(DAO),并测试成功;
  • 编写管理员handler层的登录功能,并调试成功。

4月11日

  • 编写学生、教师、课程、课程安排、选课的handler层(原servlet层移植修改);
  • 编写前端页面,测试成功(原前端页面移植修改)(该前端页面风格设计最初由一位大佬在原srpingmvc选课系统基础上修改而成)(页面风格几乎完全改变,利用bootstrap、particles.js背景插件)。

4月12日

  • 添加登录拦截功能
  • 为所有查询功能添加分页(mybatis的pagehelper分页),前端利用bootstrap。
  • 前端分页风格使用bootstrap风格。

4月13日

  • 修复已知bug:{管理员操作查询学生、教师、课程时,进去需点查询全部才能出来(小bug),对学生、课程、教师进行增删改后,需重新点查询才能出来刷新出新的数据!(较严重)。学生:对未安排课程选课时会发生异常,目前只能选已有教师安排的课程(较严重),确认选课时教师简介刷不出来(小bug),退选无法显示刷新(较严重)}
  • 添加ajax验证(在增加、修改时提示是否可用等)
  • 为所有输入框添加约束
  • 在登录页添加轮播图

4月14日

  • 完成系统部署、发布。

第二步计划:
新增排课查重、选课限制、学分统计、教师系别
时间:2019.4.15——2019.6.19

6月19
新增结课、学分统计、成绩录入功能:教师在最后结课,为每个学生录入成绩,根据成绩计算所获学分,大于等于六十分可获得该门课的学分,小于六十分则所获学分为零。学生查看个人信息时可查看自己的总学分。
录入成绩处有bug,可以录入多个成绩,待修复

五、更新记录

  • 2019.4.14:发布第一个版本
  • 2019.6.19:新增成绩录入,鉴于这是一个简单的学习项目,因为时间问题暂停更新,会陆续解决已有bug

当你的才华还撑不起你的野心的时候,
你就应该静下心来学习。


学生选课管理系统(Java)相关推荐

  1. 基于javaweb的学生选课管理系统(java+ssm+bootstrap+javascript+mysql)

    基于javaweb的学生选课管理系统(java+ssm+bootstrap+javascript+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/ ...

  2. Java+Servlet+JSP+Mysql+Tomcat实现Web学生选课管理系统

    Java实现Web学生选课管理系统 一.系统介绍 1.软件环境 2.系统功能 3.数据库 二.系统展示 1.登录页面 2.学生-主页面 3.学生-查看个人信息 4.学生-选择课程 5.学生-查看已选课 ...

  3. Java+Swing+dat文件存储实现学生选课管理系统

    Java+Swing+dat文件存储实现学生选课管理系统 一.系统介绍 二.系统展示 1.用户登陆.注册 2.课程信息查询 3.添加课程 4.选课 5.退课 三.系统实现 四.其他 1.其它系统 2. ...

  4. 免费分享一个springboot+vue学生选课管理系统,挺漂亮的

    大家好,我是锋哥,看到一个不错的springboot+vue前后端分离的学生选课管理系统,分享下哈. 项目介绍 这是一个采用前后端分离开发的项目,前端采用 Vue 开发.后端采用 SpringBoot ...

  5. 基于 Eclipse+Java Swing + Mysql 学生选课管理系统

    一.项目概要:        基于Java Swing+Mysql8.0数据库的学生选课管理系统,主要有三个部分:系统管理,数据管理,数据查询. 1).系统管理主要用于用户信息的相关管理.主要包括密码 ...

  6. 大学JAVA实验六 学生选课管理系统

    学生选课管理系统 实验内容: 1.为选修课程的学生设计"学生选课数据库管理系统",能进行相关记录的插入.修改.删除和查询等操作. 2.在实现前面功能的基础上,将操作界面改为图形用户 ...

  7. Java 课程设计_学生选课管理系统(控制台)

    Java 课程设计_学生选课管理系统 需求分析 本数据库的用户主要是学生,通过对用户需求的收集和分析,获得用户对数据库的如下要求. 1.信息需求 学生信息:学号,姓名,性别,专业 登陆信息:账号,密码 ...

  8. 【JAVA程序设计】(C00024)javaEE学生选课管理系统

    基于javaEE学生选课管理系统 文章结构 源码下载地址: 一.开发框架及业务方向 1.开发环境 2.开发框架 3.整体业务 二.项目结构及页面展示 1.项目整体结构 2.学生页面 3.教师页面 4. ...

  9. 【JAVA程序设计】(C00095)基于SSM框架的学生选课管理系统

    基于SSM框架的学生选课管理系统 项目获取 文章结构 一.开发框架及业务方向 1.开发环境 2.开发框架 3.整体业务 二.项目结构及页面展示 1.项目整体结构 2.学生页面 3.教师页面 4.管理员 ...

  10. 查询学生选修课程管理系统java_JAVA数据库课程设计学生选课管理系统的

    <JAVA数据库课程设计学生选课管理系统的>由会员分享,可在线阅读,更多相关<JAVA数据库课程设计学生选课管理系统的(59页珍藏版)>请在人人文库网上搜索. 1.一.课程设计 ...

最新文章

  1. Selenium+PhantomJS使用时报错原因及解决方案
  2. python自学网课-python网课学习笔记--4
  3. namespace命名空间的理解C++
  4. 松下抛却Jungle掌机研发项目
  5. Web页面请求的历程(从应用层到链路层)
  6. Mybatis原理分析之二:框架整体设计
  7. spring security原理图及其解释
  8. 股票点买3.0交易系统接口设计思路
  9. 中文核心期刊目录 
  10. 关于三极管集电极电压1V以上后伏安特性曲线不右移
  11. 《免费》——比特经济的到来
  12. Incorrect string value: '\xF0\x9F\x98\x82\xF0\x9F...'
  13. python项目之杠子老虎鸡虫
  14. python给ppt表格加边框_带你用Python玩转PPT
  15. 一本通题解——1251:仙岛求药
  16. 投资理财之基金一、初识基金
  17. 金仓数据库KingbaseES初始化失败如何分析
  18. feign 接口请求405
  19. WifiDisplay开启流程
  20. 河北省计算机三级网络技术考试时间,河北省全国计算机等级考试报名时间

热门文章

  1. 数据导入时出现的问题:
  2. pop 在列表中和字典中的区别
  3. 【名词解释】7.UML类图
  4. vim复制,粘贴,删除,撤销,替换,光标移动等用法
  5. Lowest Common Multiple Plus
  6. Oracle External Table学习
  7. 基于邮件推拉技术的数据库远程数据同步解决方案
  8. 我是不是来错地方了?
  9. dwg图纸与dxf图纸的区别?
  10. Java关键字this的使用方法解析大全