最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于java Springboot實(shí)現(xiàn)教務(wù)管理系統(tǒng)詳解

 更新時(shí)間:2021年08月31日 18:09:29   作者:java李陽勇  
這篇文章主要介紹了Java 實(shí)現(xiàn)簡(jiǎn)易教務(wù)管理系統(tǒng)的代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

視頻演示

 

研究背景

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

我國(guó)教務(wù)現(xiàn)狀與反思

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

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

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

功能截圖:

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

登錄:

管理員首頁:

教師首頁:

學(xué)生首頁:

部分代碼:

用戶登錄:

<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">超級(jí)管理</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: '請(qǐng)選擇用戶類型'
                });
            },
            point2(){
                this.$notify.info({
                    title: '提示',
                    message: '賬號(hào)不存在'
                });
            },
            point3(){
                this.$notify.error({
                    title: '提示',
                    message: '密碼錯(cuò)誤'
                });
            }
    });
    $(".but").click(function(){
        $(".but").removeClass("active");
        $(this).addClass("active");
        a.usertype = $(this).val();
    });
</script>
</html>

yml配置:

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

視圖跳轉(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");
    }

攔截放行:

/**
     *  放行路徑,不經(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"
        );
    }

總結(jié):

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Spring Security 使用 OncePerRequestFilter 過濾器校驗(yàn)登錄過期、請(qǐng)求日志等操作

    Spring Security 使用 OncePerRequestFilter 

    OncePerRequestFilter是一個(gè)過濾器,每個(gè)請(qǐng)求都會(huì)執(zhí)行一次;一般開發(fā)中主要是做檢查是否已登錄、Token是否過期和授權(quán)等操作,而每個(gè)操作都是一個(gè)過濾器,下面介紹Spring Security 使用 OncePerRequestFilter 過濾器校驗(yàn)登錄過期、請(qǐng)求日志等操作方法,感興趣的朋友一起看看吧
    2024-06-06
  • Java數(shù)據(jù)結(jié)構(gòu)順序表的詳細(xì)講解

    Java數(shù)據(jù)結(jié)構(gòu)順序表的詳細(xì)講解

    大家好,今天給大家?guī)淼氖琼樞虮恚矣X得順序表還是有比較難理解的地方的,于是我就把這一塊的內(nèi)容全部整理到了一起,希望能夠給剛剛進(jìn)行學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的人帶來一些幫助,或者是已經(jīng)學(xué)過這塊的朋友們帶來更深的理解,我們現(xiàn)在就開始吧
    2022-05-05
  • 微信小程序與AspNetCore SignalR聊天實(shí)例代碼

    微信小程序與AspNetCore SignalR聊天實(shí)例代碼

    這篇文章主要介紹了微信小程序與AspNetCore SignalR聊天實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-08-08
  • SpringBoot實(shí)現(xiàn)國(guó)際化的操作步驟

    SpringBoot實(shí)現(xiàn)國(guó)際化的操作步驟

    國(guó)際化(Internationalization) 是指為了適應(yīng)不同語言、文化和地區(qū)的用戶,使軟件能夠方便地進(jìn)行本地化修改的過程,本文介紹了SpringBoot 國(guó)際化功能的簡(jiǎn)單使用,感興趣的朋友可以參考下
    2024-02-02
  • SpringBoot中注冊(cè)Bean的10種方式總結(jié)

    SpringBoot中注冊(cè)Bean的10種方式總結(jié)

    在Spring Boot應(yīng)用中,Bean是構(gòu)成應(yīng)用的核心組件,Spring容器負(fù)責(zé)管理這些Bean,包括它們的創(chuàng)建、配置、組裝、管理和銷毀,在Spring Boot中,有多種方式可以注冊(cè)Bean,本文將詳細(xì)介紹這些不同的注冊(cè)方式,并給出相應(yīng)的示例代碼和適用場(chǎng)景,需要的朋友可以參考下
    2024-08-08
  • Spring Boot 的創(chuàng)建和運(yùn)行示例代碼詳解

    Spring Boot 的創(chuàng)建和運(yùn)行示例代碼詳解

    Spring Boot 的誕生是為了簡(jiǎn)化Spring程序的開發(fā),今天給大家介紹下Spring Boot 的創(chuàng)建和運(yùn)行,主要包括Spring Boot基本概念和springboot優(yōu)點(diǎn),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-07-07
  • 如何使用java修改文件所有者及其權(quán)限

    如何使用java修改文件所有者及其權(quán)限

    這篇文章主要介紹了如何使用java修改文件所有者及其權(quán)限,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 淺析Java 反射機(jī)制的用途和缺點(diǎn)

    淺析Java 反射機(jī)制的用途和缺點(diǎn)

    這篇文章給大家分析了Java 反射機(jī)制的用途和缺點(diǎn)以及相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友可以參考學(xué)習(xí)下。
    2018-07-07
  • java中Websocket的使用方法例子

    java中Websocket的使用方法例子

    這篇文章主要給大家介紹了關(guān)于java中Websocket的使用方法,WebSocket是HTML5開始提供的一種在瀏覽器和服務(wù)器間進(jìn)行全雙工通信的協(xié)議,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • Java String轉(zhuǎn)換時(shí)為null的解決方法

    Java String轉(zhuǎn)換時(shí)為null的解決方法

    這篇文章主要介紹了Java String轉(zhuǎn)換時(shí)為null的解決方法,需要的朋友可以參考下
    2017-07-07

最新評(píng)論

郎溪县| 襄汾县| 竹溪县| 扬州市| 日土县| 繁峙县| 沙雅县| 灌云县| 花莲市| 精河县| 旬阳县| 金塔县| 太和县| 乌拉特后旗| 浦县| 英山县| 南平市| 麻阳| 贡觉县| 潜江市| 游戏| 长泰县| 醴陵市| 楚雄市| 宣城市| 湖北省| 阿拉尔市| 慈利县| 普定县| 松桃| 玉山县| 岐山县| 白沙| 红桥区| 彭水| 武功县| 五指山市| 南雄市| 利辛县| 彩票| 瑞丽市|