• 基于ssm的中小学生成绩管理系统(idea+spring+springmvc+mybatis+jsp+maven)


    一、系统简介

    本项目采用idea工具开发,jsp+spring+spring-mvc+mybatis+jquery+maven技术编写,数据库采用的是mysql,navicat开发工具。

    系统一共分为4个角色分别是:管理员,学生,教师,家长

    二、模块简介

    管理员

    1、登录

    2、课程管理

    3、班级管理

    4、学生管理

    5、教师管理

    6、家长管理

    7、成绩管理

    8、成绩分析

    9、个人信息管理

    10、统计

    学生

    1、登录

    2、查询成绩

    3、查看课程

    4、个人信息维护

    教师

    1、登录

    2、学生管理

    3、成绩管理

    4、成绩分析

    5、个人信息管理

    家长

    1、登录

    2、查看自己孩子成绩

    3、管理个人信息

    项目简介
    难度等级:✩✩✩
    用户类型:4角色(管理员,学生,教师,家长)
    设计模式:MVC
    项目架构:B/S架构
    开发语言:Java语言
    前端技术:HTML、CSS、JS、JQuery
    后端技术:JSP、ssm框架
    运行环境:Windows7或10、JDK1.8
    运行工具:本系统采用idea开发,仅支持idea运行,不支持MyEclipse和eclipse运行,因为三者的骨架不一样,强行导入打开运行可能会导致出现未知的错误。(如若想用eclipse运行,需要转换!!!!)
    数  据  库:MySQL5.5/5.7/8.0版本
    运行服务器:Tomcat7.0/8.0/8.5/9.0等版本
    是否基于Maven环境:是
    是否采用框架:是
    数据库表数量:7张表
    JSP页面数量:20多张
    是否有分页:有分页

    相关截图

     

     

    相关代码

    登录

    1. <%@ page language="java" contentType="text/html; charset=UTF-8"
    2. pageEncoding="UTF-8"%>
    3. <%
    4. String path = request.getContextPath();
    5. String basePath = request.getScheme() + "://" + request.getServerName()
    6. + ":" + request.getServerPort() + path + "/";
    7. %>
    8. html>
    9. <html>
    10. <head>
    11. <meta charset="utf-8">
    12. <title>登录窗口title>
    13. <link rel="stylesheet" href="${pageContext.request.contextPath}/resource/layuiadmin/layui/css/layui.css" media="all">
    14. <link rel="stylesheet" href="${pageContext.request.contextPath}/resource/layuiadmin/style/admin.css" media="all">
    15. <link rel="stylesheet" href="${pageContext.request.contextPath}/resource/layuiadmin/style/login.css" media="all">
    16. head>
    17. <style>
    18. body{
    19. background-image:url(${pageContext.request.contextPath}/resource/back.jpeg) ;/*插入的背景图片的url
    20. background-attachment: fixed;/*背景图片不会固定不会因页面滚动而重复*/
    21. background-repeat: no-repeat;/*使图片不管任何大小都不会重复*/
    22. background-size: 100%;/*改变背景图的长和宽*/
    23. }
    24. style>
    25. <body>
    26. <div class="layadmin-user-login layadmin-user-display-show" id="LAY-user-login" style="display: none;background: url(../../images/bjt.png) no-repeat">
    27. <div class="layadmin-user-login-main" style="background-color: #4EBBF9">
    28. <div class="layadmin-user-login-box layadmin-user-login-header">
    29. <h2>中小学生成绩管理系统h2>
    30. <p>登录界面p>
    31. div>
    32. <span class="msg" style="color:red;">${requestScope.msg}span>
    33. <div class="layadmin-user-login-box layadmin-user-login-body layui-form">
    34. <form action="<%=path%>/login.action" method="post">
    35. <div class="layui-form-item">
    36. <label class="layadmin-user-login-icon layui-icon layui-icon-username" for="username">label>
    37. <input type="text" name="username" id="username" placeholder="学号/工号/用户名/手机号" class="layui-input">
    38. div>
    39. <div class="layui-form-item">
    40. <label class="layadmin-user-login-icon layui-icon layui-icon-password" for="pwd">label>
    41. <input type="password" name="pwd" id="pwd" lay-verify="required" placeholder="密码" class="layui-input">
    42. div>
    43. <div class="layui-form-item">
    44. <label class="layui-form-label">请选择角色label>
    45. <%-- <div class="layui-input-block">
    46. <input type="radio" name="type" value="1" title="学生">
    47. <input type="radio" name="type" value="2" title="教师">
    48. <input type="radio" name="type" value="3" title="管理员" checked>
    49. <input type="radio" name="type" value="4" title="家长" >
    50. div>--%>
    51. <div class="layui-input-block">
    52. <select name="type" lay-verify="required" lay-filter="aihao">
    53. <option value ="1">学生option>
    54. <option value="2"> 教师option>
    55. <option value="3" selected>管理员option>
    56. <option value="4" selected>家长option>
    57. select>
    58. div>-
    59. div>
    60. <div class="layui-form-item">
    61. <button class="layui-btn layui-btn-fluid" id="login" type="submit">立即登录button>
    62. div>
    63. <%--
    64. <div class="layui-form-item">
    65. <button class="layui-btn layui-btn-normal layui-btn-fluid" onclick="location.href='/client/toIndex.action'" type="button">返回首页button>
    66. div>--%>
    67. form>
    68. div>
    69. div>
    70. div>
    71. div>
    72. <%--
    73. <script src="/resource/layuiadmin/layui/layui.js">script>
    74. <script>
    75. layui.config({
    76. base: '/resource/layuiadmin/' //静态资源所在路径
    77. }).extend({
    78. index: 'lib/index' //主入口模块
    79. }).use('index');
    80. script>
    81. --%>
    82. <script src="${pageContext.request.contextPath}/resource/layuiadmin/layui/layui.js">script>
    83. <script>
    84. layui.config({
    85. base: '${pageContext.request.contextPath}/resource/layuiadmin/' //静态资源所在路径
    86. }).extend({
    87. index: 'lib/index' //主入口模块
    88. }).use(['index', 'user'], function(){
    89. var $ = layui.$
    90. ,setter = layui.setter
    91. ,admin = layui.admin
    92. ,form = layui.form
    93. ,router = layui.router()
    94. ,search = router.search;
    95. form.render();
    96. $(function () {
    97. $("#login").click(function () {
    98. var usernameText = $("#username").val();
    99. if (usernameText=="") {
    100. $("span.msg").text("用户名不许为空!");
    101. return false;
    102. }
    103. var pwdText = $("#pwd").val();
    104. if (pwdText=="") {
    105. $("span.msg").text("密码不许为空!");
    106. return false;
    107. }
    108. });
    109. // 去掉错误信息
    110. setTimeout(function(){ $(".msg").html("")},2000);
    111. })
    112. });
    113. script>
    114. body>
    115. html>
    1. @RequestMapping(value="/login.action")
    2. public String login(String username, Integer type, String pwd, Model model, HttpServletRequest request) {
    3. System.out.println("已经到达登录请求"+username+pwd);
    4. switch (type) {
    5. case 1://判断是否家长登录
    6. Student s=new Student();
    7. s.setStuno(username);
    8. s.setPwd(pwd);
    9. Student student = studentService.login(s);
    10. if (student != null) {
    11. request.getSession().setAttribute("student", student);
    12. request.getSession().setAttribute("type", 1);
    13. return "main";
    14. }
    15. model.addAttribute("msg","学生用户名或者密码错误");
    16. return "login";
    17. case 2://判断教师登录
    18. Teacher t=new Teacher();
    19. t.setEno(username);
    20. t.setPwd(pwd);
    21. Teacher teacher = teacherService.login(t);
    22. if (teacher != null) {
    23. request.getSession().setAttribute("teacher", teacher);
    24. request.getSession().setAttribute("type", 2);
    25. return "main";
    26. }
    27. model.addAttribute("msg","教师工号或者密码错误");
    28. return "login";
    29. case 3://判断院长或者管理员登录
    30. Admin a=new Admin();
    31. a.setUsername(username);
    32. a.setPassword(pwd);
    33. Admin admin= adminService.login(a);
    34. if (admin != null) {
    35. request.getSession().setAttribute("admin", admin);
    36. request.getSession().setAttribute("type", 3);
    37. return "main";
    38. }
    39. model.addAttribute("msg","管理员用户名或者密码错误");
    40. return "login";
    41. case 4://判断家长登录
    42. Parent p=new Parent();
    43. p.setPhone(username);
    44. p.setPwd(pwd);
    45. Parent parent= parentService.login(p);
    46. if (parent != null) {
    47. request.getSession().setAttribute("parent", parent);
    48. request.getSession().setAttribute("type", 4);
    49. return "main";
    50. }
    51. model.addAttribute("msg","家长手机号或者密码错误");
    52. return "login";
    53. }
    54. model.addAttribute("msg","用户不匹配");
    55. return "login";
    56. }

    非开源!!!!!!
    项目截图中的数据,很多是用来测试的,需求自行添加合适的数据图片

    此项目适合初学者学习借鉴,项目整体比较简单,可用作于期末考核,课设,毕设等方面的作业!!!!!
    喜欢的朋友的点赞加关注,感兴趣的同学可以研究!!!!!
    感谢  = v =

  • 相关阅读:
    Nginx(openresty) 开启目录浏览 以及进行美化配置
    L40.linux命令每日一练 -- 第七章 Linux用户管理及用户信息查询命令 -- useradd和usermod
    create® 3入门教程-使用多个机器人
    LeetCode 2097. 合法重新排列数对【欧拉通路,DFS】2650
    【【萌新的STM32学习-27--USART异步通信配置步骤】】
    POE调试案例
    如何快速将零件缩略图插入到BOM中
    Basic Facilities of a Virtio Device (一)
    mybatis实战:一、mybatis入门(配置、一些问题的解决)
    一行代码禁止用户调试前端代码
  • 原文地址:https://blog.csdn.net/qq_43485489/article/details/126464341