欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java?Springboot實現(xiàn)教務(wù)管理系統(tǒng)

 更新時間:2021年11月30日 08:30:09   作者:java李楊勇  
這篇文章主要介紹了java?Springboot實現(xiàn)教務(wù)管理系統(tǒng)的過程,文章圍繞實現(xiàn)過程展開全文詳細(xì)內(nèi)容,具有一定的參考價值,需要的朋友可以參考一下,希望對你有所幫助

1、研究背景

? ? ? ? ? ? ?在當(dāng)今信息社會發(fā)展中中,計算機科學(xué)的飛速發(fā)展,大多數(shù)學(xué)校開始注意辦公效率的發(fā)展是很關(guān)鍵,對學(xué)校的管理起到舉足輕重的作用?;?Internet 網(wǎng)絡(luò)的信息服務(wù),快速成長為現(xiàn)代學(xué)校中一項不可或缺的內(nèi)容措施。很多校園都已經(jīng)不滿意商務(wù)辦公管理的緩慢成長方式。學(xué)院的需求是一個功能強大的,能提供完善管理,管理信息系統(tǒng)的速度。社會持續(xù)向前發(fā)展,尤其是大多地方普及計算機,計算機應(yīng)用已經(jīng)開始向大容量的數(shù)據(jù)存儲與處理持續(xù)發(fā)展,產(chǎn)生了以計算機為核心,用數(shù)據(jù)庫作為環(huán)境的管理信息現(xiàn)代化系統(tǒng),事務(wù)管理方面用大容量和對各種信息動態(tài)管理等方面的綜合應(yīng)用。建立學(xué)校教務(wù)管理系統(tǒng)能夠?qū)W(xué)校職員對學(xué)生信息的管理更為規(guī)范化和合理化。能有效快速記錄大量的學(xué)生得信息, 能對學(xué)生用戶能夠運用簡便的方法快速的查到他們所需要的課程信息,并且能夠發(fā)布通知等一系列功能,實現(xiàn)了由傳統(tǒng)人工轉(zhuǎn)向辦公向信息自動化。因此用 Java相關(guān)開發(fā)工具,精心構(gòu)建了一個教務(wù)信息管理平臺,實現(xiàn)了一個簡單的管理系統(tǒng)。該系統(tǒng)能實現(xiàn)學(xué)生的管理、課程的管理、成績管理、課程選報情況管理、系統(tǒng)用戶的管理;能夠?qū)崿F(xiàn)學(xué)生報課程的查詢、已選報課程成績的查詢、個人信息查詢修改等功能、教務(wù)信息管理系統(tǒng)的完成給學(xué)校管理人員們和學(xué)生提供了很多的便利, 能夠更好的提高教學(xué)質(zhì)量,其科學(xué)性以及合理性對學(xué)校的發(fā)展有著舉足輕重的作用。?

2、現(xiàn)狀與反思

? ? ? ? ?就目前而言,我國絕大多數(shù)高校,和相當(dāng)一部分的中小學(xué)都已經(jīng)開展了基本的信息化教育教學(xué)管理系統(tǒng)的建設(shè)工作,讓我國整體的教學(xué)效率與節(jié)奏得到了提升。但是根據(jù)我自己在使用學(xué)校的教務(wù)管理系統(tǒng),以及通過查閱文獻了解我國目前教務(wù)管理系統(tǒng)的一個發(fā)展現(xiàn)狀之后,我認(rèn)為其中仍然存在著兩個比較大的問題。一方面,我認(rèn)為很多學(xué)校對于教育教學(xué)管理系統(tǒng)的開發(fā),并沒有足夠的投入和付出。他們并沒有真正意識到教育教學(xué)管理系統(tǒng)能給學(xué)校帶來的東西。從前人的調(diào)查情況來看,很多學(xué)校為了方便,會直接將管理系統(tǒng)的設(shè)計與開發(fā)外包給其他企業(yè),但他們并不是教育工作者,并不了解教育系統(tǒng)它究竟需要什么樣的功能[1]。這導(dǎo)致了部分教育教學(xué)管理系統(tǒng)的收效并不是很理想,是有待商榷的。另一方面,根據(jù)前人研究來看,大多數(shù)學(xué)校缺乏對自己系統(tǒng)的維護,很多情況下在開發(fā)完成之后,就不會再考慮對系統(tǒng)的維護升級了[2]。但教育是一個需要與時俱進的事業(yè),無論是教材、教育方法,還是教育系統(tǒng),都需要跟上時代的腳步。很多學(xué)校目前采用的系統(tǒng)可能是五年,甚至十年前開發(fā)的,沒有專門的人員對系統(tǒng)進行維護,也沒有根據(jù)師生的使用感受來對系統(tǒng)進行修復(fù)、調(diào)整,這一點在我國目前其實是非常嚴(yán)重且普遍的。一個落伍的管理系統(tǒng),是無法為教育教學(xué)提供有效支持的。

主要技術(shù)和環(huán)境:

?IDEA+Navicat+SpringBoot+Mysql+Springmvc+Jquery+thymeleaf模板+HTML等

3、功能截圖

系統(tǒng)分為三個角色登錄《管理員、老師、學(xué)生》每個角色具有不同的功能、具體信息在上面演示視頻可以查看、我就不多做贅述了

登錄:

管理員首頁:

教師首頁:

學(xué)生首頁:?

4、代碼

4.1用戶登錄

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

4.2yml配置

spring:

  # 環(huán)境 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

    #   配置監(jiān)控統(tǒng)計攔截的filters,去掉后監(jiān)控界面sql無法統(tǒng)計,'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

4.3視圖跳轉(zhuǎn)

 /**

     * 添加視圖跳轉(zhuǎn)

     */

    @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");

    }

4.4攔截放行

/**

     *  放行路徑,不經(jīng)過攔截器

     */

    @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"

        );

    }

5、總結(jié)

? ? ? ? ?經(jīng)過近期對Java 面向?qū)ο蟪绦蛟O(shè)計、前端知識以及Java框架的掌握和學(xué)習(xí),以及這段時間本教育教學(xué)系統(tǒng)的開發(fā),讓我更加了解到 Java 學(xué)習(xí)的重要性。在開發(fā)這個系統(tǒng)時,我不僅進行了多次的試驗,而且也對系統(tǒng)的功能進行了測試。在論文的實現(xiàn)過程當(dāng)中,我從Java的認(rèn)識到熟練運用注入了非常多的努力,到后面可以進行相關(guān)技術(shù)的運用也感到非常的開心。在這過程當(dāng)中,我發(fā)現(xiàn)Java其實有非常之多的功能可以進行探索。Java同時具有封裝性、抽象性、多態(tài)性以及繼承性??梢詫Υa進行重復(fù)使用以及擴充使用,大幅度提高開發(fā)軟件時的整體速度和效率。我作為教育技術(shù)學(xué)的學(xué)生,學(xué)好Java語言不管對我以后的就業(yè)還是現(xiàn)在的知識面的擴增都有著很重要的意義。我學(xué)習(xí)程序設(shè)計的主要目的就是提高自己實際問題的程序解決方案的關(guān)鍵技能和技術(shù), Java 面向?qū)ο蟪绦蛟O(shè)計是一科實踐性相對來說非常比較強的語言了、SpringMVC框架的MVC三層架構(gòu)模式、和框架中遇到的設(shè)計模式將數(shù)據(jù)訪問和邏輯操作都集中到組件里面去了 , 增強了系統(tǒng)的復(fù)用性和擴展性。使系統(tǒng)的擴展性大大增強。以及前端jQuery、html、css樣式的掌握讓我對網(wǎng)頁的布局、樣式調(diào)整、字體等讓網(wǎng)頁效果實現(xiàn)的更加精準(zhǔn)。

到此這篇關(guān)于java Springboot實現(xiàn)教務(wù)管理系統(tǒng)的文章就介紹到這了,更多相關(guān)Springboot實現(xiàn)教務(wù)管理系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot restTemplate連接池整合方式

    springboot restTemplate連接池整合方式

    這篇文章主要介紹了springboot restTemplate連接池整合方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Eclipse智能提示及快捷鍵

    Eclipse智能提示及快捷鍵

    本文主要介紹了Eclipse智能提示及快捷鍵的相關(guān)知識,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • MyBatis?Generator使用小結(jié)

    MyBatis?Generator使用小結(jié)

    本文主要介紹了MyBatis?Generator使用小結(jié),它能夠根據(jù)數(shù)據(jù)庫表,自動生成java實體類、dao層接口及mapper.xml文件,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • http basic authentication通過post方式訪問api示例分享 basic認(rèn)證示例

    http basic authentication通過post方式訪問api示例分享 basic認(rèn)證示例

    在HTTP中,基本認(rèn)證是一種用來允許Web瀏覽器或其他客戶端程序在請求時提供以用戶名和口令形式的憑證,這篇文章主要介紹了http basic authentication通過post方式訪問api示例,大家參考使用吧
    2014-01-01
  • java關(guān)于并發(fā)模型中的兩種鎖知識點詳解

    java關(guān)于并發(fā)模型中的兩種鎖知識點詳解

    在本篇文章了小編給大家整理的是一篇關(guān)于java關(guān)于并發(fā)模型中的兩種鎖知識點詳解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-04-04
  • Springboot+redis+Interceptor+自定義annotation實現(xiàn)接口自動冪等

    Springboot+redis+Interceptor+自定義annotation實現(xiàn)接口自動冪等

    本篇文章給大家介紹了使用springboot和攔截器、redis來優(yōu)雅的實現(xiàn)接口冪等,對于冪等在實際的開發(fā)過程中是十分重要的,因為一個接口可能會被無數(shù)的客戶端調(diào)用,如何保證其不影響后臺的業(yè)務(wù)處理,如何保證其只影響數(shù)據(jù)一次是非常重要的,感興趣的朋友跟隨小編一起看看吧
    2019-07-07
  • java實現(xiàn)LRU緩存淘汰算法的方法

    java實現(xiàn)LRU緩存淘汰算法的方法

    LRU(Least recently used,最近最少使用)算法根據(jù)數(shù)據(jù)的歷史訪問記錄來進行淘汰數(shù)據(jù),其核心思想是“如果數(shù)據(jù)最近被訪問過,那么將來被訪問的幾率也更高”。下面看下java實現(xiàn)LRU緩存淘汰算法的方法,一起看看吧
    2021-11-11
  • JAVA實現(xiàn)KMP算法理論和示例代碼

    JAVA實現(xiàn)KMP算法理論和示例代碼

    本文從理論到代碼講解了JAVA對KMP算法的實現(xiàn),大家可以參考一下
    2013-11-11
  • java通過控制鼠標(biāo)實現(xiàn)屏幕廣播的方法

    java通過控制鼠標(biāo)實現(xiàn)屏幕廣播的方法

    這篇文章主要介紹了java通過控制鼠標(biāo)實現(xiàn)屏幕廣播的方法,針對前面一篇Java屏幕共享功能進行了改進,實現(xiàn)了鼠標(biāo)控制功能,具有一定的實用價值,需要的朋友可以參考下
    2014-12-12
  • 使用java?-jar修改SpringBoot中application.properties的配置項

    使用java?-jar修改SpringBoot中application.properties的配置項

    這篇文章主要介紹了使用java?-jar修改SpringBoot中application.properties的配置項問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評論