Внедрение системы управления учебным заведением на базе java Springboot

Spring Boot задняя часть MySQL
Внедрение системы управления учебным заведением на базе java Springboot

​ Это 29-й день моего участия в ноябрьском испытании обновлений. Узнайте подробности события:Вызов последнего обновления 2021 г."

История исследования:

В условиях развития современного информационного общества и быстрого развития информатики для большинства школ очень важно уделять внимание развитию офисной эффективности, которая играет ключевую роль в управлении школой. Информационные интернет-услуги быстро превратились в незаменимую меру содержания в современных школах. Многие кампусы уже недовольны медленным ростом управления бизнес-офисами. Колледж нуждается в мощной, быстрой информационной системе управления, которая может обеспечить надежное управление. Общество продолжает двигаться вперед, особенно популяризация компьютеров в большинстве мест. Компьютерные приложения начали развиваться в направлении хранения и обработки данных большой емкости, что привело к созданию современной информационной системы управления с компьютерами в качестве ядра и базами данных в качестве среды. применение емкости и динамическое управление различной информацией. Создание системы управления школьным образованием может стандартизировать и рационализировать управление информацией об учащихся школьным персоналом. Он может эффективно и быстро записывать большое количество информации о студентах и ​​может использовать простой метод для студентов-пользователей, чтобы быстро найти необходимую им информацию о курсе, и может выдавать ряд функций, таких как уведомления, которые реализуют переход от традиционного ручного в офис к информационной автоматизации. Таким образом, с помощью инструментов разработки, связанных с Java, тщательно создается платформа управления образовательной информацией и реализуется простая система управления. Система может реализовывать управление студентами, управление курсами, управление производительностью, управление выбором курсов и управление пользователями системы, она может реализовывать такие функции, как подача заявок студентами на курсы, оценки выбранных курсов, запрос и изменение личной информации, а также образовательные вопросы. Информационная система управления обеспечивает удобство для администрации школы и учащихся и позволяет улучшить качество обучения, ее научность и рациональность играют важную роль в развитии школы. 

моя страна Академические вопросы Статус-кво и размышления

В настоящее время подавляющее большинство колледжей и университетов в моей стране и значительное количество начальных и средних школ осуществили создание базовых информационных систем образования и управления преподаванием, что повысило общую эффективность и ритм преподавания в моей стране. . Однако, судя по моему собственному опыту использования школьной системы управления образованием и после того, как я понял текущее развитие системы управления образованием в нашей стране посредством обзора литературы, я думаю, что есть еще две основные проблемы. С одной стороны, я думаю, что многие школы недостаточно инвестируют в развитие систем управления образованием и обучением. Они на самом деле не понимают, что система управления обучением может дать школам. Согласно предыдущим исследованиям, многие школы для удобства напрямую передают проектирование и разработку систем управления другим компаниям, но они не являются педагогами и не знают, какие функции нужны системе образования [1]. Это привело к неудовлетворительному эффекту некоторых систем управления образованием и обучением, что является спорным. С другой стороны, согласно предыдущим исследованиям, большинству школ не хватает обслуживания собственных систем, и во многих случаях после завершения разработки они не будут рассматривать обслуживание и модернизацию системы [2]. Но образование — это дело, которое должно идти в ногу со временем. Будь то учебные материалы, методы обучения или образовательные системы, все должно идти в ногу со временем. Система, принятая в настоящее время во многих школах, возможно, была разработана пять или даже десять лет назад.Нет специального персонала для обслуживания системы, а также для ее ремонта и настройки в соответствии с опытом учителей и учащихся.Это фактически факт. в нашей стране очень серьезные и распространенные. Устаревшая система управления не может обеспечить эффективную поддержку образования и обучения.

Основная технология и окружающая среда:

IDEA+Navicat+SpringBoot+Mysql+Springmvc+Jquery+шаблон тимелеафа+HTML и т. д.

Функциональный скриншот:

Система разделена на три роли для входа в «Администратор, Учитель, Студент». Каждая роль имеет разные функции. Конкретную информацию можно посмотреть в демонстрационном видео выше. Я не буду вдаваться в подробности.

Авторизоваться:

Домашняя страница администратора:

Домашняя страница факультета:

Студенческая домашняя страница:

Часть кода:

Логин пользователя:

<div class="bg"></div>
<div class="container">
    <form class="form-signin text-center" action="" id="from" >
        <img class="mb-4" th:src="@{/asserts/img/abb.jpg}" alt="" width="72" height="72"/>
        <label class="sr-only" >Username</label>
        <input type="text" class="form-control" placeholder="用户名"
               id="username"
               name="name"/>
        <label class="sr-only">Password</label>
        <input type="password" class="form-control" placeholder="密码"
               id="password"
               name="pwd"
               style="margin-top: 20px"/>

        <div class="btn-group" role="group" aria-label="...">
            <!--        <button type="button" class="but btn btn-default" value="sadmin">超级管理</button>-->
            <button type="button" class="but btn btn-default" value="admin">管理员</button>
            <button type="button" class="but btn btn-default" value="teacher">教师</button>
        </div>


        <div class="checkbox mb-3">
            <label>
                <!--<input type="checkbox" value="remember-me" name="remember-me" /><span></span>-->
            </label>
        </div>
        <button class="btn btn-lg btn-primary btn-block" type="button"id="sub" @click="login">登录</button>
        <span class="help-block"></span>
        <p class="mt-5 mb-3 text-muted">© 2018-2020</p>
    </form>
</div>

</body>
<script type="text/javascript" th:src="@{/webjars/jquery/1.9.1/jquery.js}"></script>
<script type="text/javascript" th:src="@{/webjars/bootstrap/3.3.7/js/bootstrap.min.js}"></script>
<script type="text/javascript" th:src="@{/js/Vue.js}"></script>
<script type="text/javascript" th:src="@{/js/element-ui.js}"></script>
<script th:inline="javascript" type="text/javascript">

    var basePath= /*[[${#httpServletRequest.getContextPath()}]]*/'ContextPath' ;

    var a = new Vue({
        el:"#from",
        data:{
            usertype:0,
            url:basePath+"/login"
        },
        methods:{
            login:function () {
                if(a.usertype==0)
                {
                    a.point1()
                    return;
                }
                if(a.usertype=="sadmin"){
                    // superadmni
                    console.log("superadmin");
                }
                if(a.usertype=="admin"){
                    // admin
                    console.log("admin");
                    $.ajax({
                        url: this.url,
                        type: "post",
                        async: false,
                        data: $("#from").serializeArray(),
                        contentType: 'application/x-www-form-urlencoded',
                        dataType:"json",
                        success:function (result) {
                            console.log("result:",result);
                            if(result.code == 300){
                                alert(result.msg)
                            }else if(result.code == 100){
                                window.location.href = basePath+"/admin/index";
                            }
                        },error:function (data) {
                            console.log("error:",data);
                        }
                    });
                }
                if(a.usertype=="teacher"){
                    console.log("teacher");
                    $.ajax({
                        url: basePath+"/teacher/login",
                        type: "get",
                        async: false,
                        data: $("#from").serializeArray(),
                        contentType: 'application/x-www-form-urlencoded',
                        dataType:"json",
                        success:function (result) {
                            if(result.extend.info == 300){
                                a.point2()
                            }else if(result.extend.info == 200){
                                window.location.href = basePath+"/teacher/index";
                            }else
                                a.point3()
                        }


            point1(){
                this.$notify.info({
                    title: '提示',
                    message: '请选择用户类型'
                });
            },
            point2(){
                this.$notify.info({
                    title: '提示',
                    message: '账号不存在'
                });
            },
            point3(){
                this.$notify.error({
                    title: '提示',
                    message: '密码错误'
                });
            }

    });

    $(".but").click(function(){
        $(".but").removeClass("active");
        $(this).addClass("active");
        a.usertype = $(this).val();
    });


</script>

</html>

YML-конфигурация:

spring:
  # 环境 dev|test|prod | ctp
  profiles:
    active: pro
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/edumanagement?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false
    type: com.alibaba.druid.pool.DruidDataSource
    initialSize: 5
    minIdle: 5
    maxActive: 20
    maxWait: 60000
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    poolPreparedStatements: true
    #   配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
    filters: stat,wall,log4j
    maxPoolPreparedStatementPerConnectionSize: 20
    useGlobalDataSourceStat: true
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5


  thymeleaf:
    cache: false
    mode: HTML
    servlet:
      content-type: text/html
    prefix: classpath:/templates/

  servlet:
    multipart:
      max-file-size: 100MB
      max-request-size: 500MB



  jackson:
    default-property-inclusion: non_null

mybatis:
  mapper-locations: classpath:mybatis/mapper/*.xml
  configuration:
    map-underscore-to-camel-case: true

# MybatisPlus 配置
mybatis-plus:
  mapper-locations: classpath:mapper/*/*Mapper.xml
  type-aliases-package: com.hngy.educationaladministration.plus.entity

logging:
  level:
    com.hngy.educationaladministration.mapper: debug


server:
  port: 8088
  servlet:
    context-path: /edumanagement

Посмотреть прыжок:

 /**
     * 添加视图跳转
     */
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("login");
        registry.addViewController("/teacher/businessView").setViewName("teacher/showtable/businessView");
        registry.addViewController("/teacher/workloadView").setViewName("teacher/showtable/workloadView");
        registry.addViewController("/teacher/workloadEdit").setViewName("teacher/fillouttable/workloadEdit");
        registry.addViewController("/teacher/businessEdit").setViewName("teacher/fillouttable/businessEdit");
        registry.addViewController("/teacher/businessPrint").setViewName("teacher/table/business");
        registry.addViewController("/teacher/workloadPrint").setViewName("teacher/table/workload");
    }

Заблокировать и отпустить:

/**
     *  放行路径,不经过拦截器
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new LoginInterceptor()).excludePathPatterns(
                "/",
                "/login",
                "/admin/login",
                "/admin/exit",
                "/teacher/login",
                "/teacher/exit",
                "/student/login",
                "/student/exit",
                "/js/**",
                "/asserts/**",
                "/webjars/**",
                "/css/**",
                "/error/**",
                "/cs"
        );
    }

Суммировать:

После недавнего освоения и изучения объектно-ориентированного программирования Java, знаний о интерфейсе и среды Java, а также развития этой системы образования и обучения в этот период я ​​стал лучше осознавать важность изучения Java. При разработке этой системы я не только много раз экспериментировал, но и тестировал функциональность системы. В процессе реализации дипломной работы я приложил немало усилий для реализации Java, и очень рад, что в дальнейшем смогу использовать родственные технологии. В процессе я обнаружил, что в Java на самом деле есть много функций для изучения. Java также имеет инкапсуляцию, абстракцию, полиморфизм и наследование. Код можно повторно использовать и расширять, что значительно повышает общую скорость и эффективность разработки программного обеспечения. Поскольку я изучаю образовательные технологии, хорошее изучение языка Java имеет большое значение для моей будущей работы и расширения моих текущих знаний. Основной целью моего обучения программированию является совершенствование ключевых навыков и приемов программного решения моих практических задач.Объектно-ориентированное программирование Java является относительно практичным языком, а шаблон трехуровневой архитектуры MVC фреймворка SpringMVC, и дизайн Шаблоны, встречающиеся в инфраструктуре, концентрируют доступ к данным и логические операции в компонентах, что повышает возможность повторного использования и расширяемость системы. Масштабируемость системы значительно повышается. Помимо владения внешними стилями jQuery, html и css, у меня есть более точная компоновка веб-страницы, настройка стилей, шрифты и т. д.

​ ВсеНравится, Избранное, Следите, КомментируйтеЭй, проверьте обновление статьи105/ 365 дней