1 Star 0 Fork 0

luokaihu/Student-Homework-Management-System

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

学生作业管理系统

GitHub stars GitHub forks GitHub watchers GitHub followers

GitHub issues GitHub license GitHub last commit GitHub release GitHub repo size in bytes HitCount language

原本功能

  1. 管理员在后台数据库中准备好学生学号(10位)后,学生可以用学号登录系统,首次登录需要自行设置密码(大于8位)
  2. 学生可以上传文件到系统中,上传功能基于bootstrap-fileinput
  3. 后台统一命名存储文件
  4. 管理员登陆后可以批量下载后台打包过后的文件

新增功能

by tomriddle_1234

  1. 添加截止时间设置,截止时间过后学生无法上传作业
    ALTER TABLE `shw`.`orderinfo` 
    ADD COLUMN `odeadline` DATETIME NOT NULL DEFAULT '2022-01-01 00:00:00' AFTER `otime`;
    
  2. 管理员删除作业任务时,增加确认对话框
  3. 一些界面的小优化
  4. 添加编辑作业任务功能
  5. 作业名称可以用添加链接

架构

前端

  1. jQuery
  2. Bootstrap3
  3. Bootstrap-fileinput
  4. moment.js
  5. bootstrap-datepicker (bootstrap 3 v4)

后端

  1. Spring MVC
  2. Spring
  3. Mybatis
  4. Shiro (安全框架)
  5. Druid(阿里巴巴的开源连接池)
  6. MySql

部署

  1. 下载源码

    你可以在Git(Git是什么,如何使用?)输入以下命令进行clone项目到本地

    git clone https://github.com/itning/Student-Homework-Management-System.git

    或者直接下载主分支的源码

  2. 使用编译器打开本项目

    该项目使用IntelliJ IDEA编译器编写打包,建议同学们使用该编译器进行打开

    项目使用JDK1.8进行编写,用到了JDK1.8+特性,所以最低JDK版本为1.8

  3. 导入SQL文件

    由于该项目不会自动建库建表,所以你需要手动导入SQL

    更改JDBC连接信息(数据库名,用户名,密码)

    context.properties

    其中 user 键为数据库的用户名

    其中 password 键为数据库的密码

  4. 更改上传文件存储目录

    用户上传的文件需要持久化到硬盘上,你需要配置持久化目录

    在这里配置

  5. 安装QQ互联SDK

    这一步是为了能够使用QQ进行登陆

    官方下载互联SDK

    mvn install:install-file -Dfile=<path_to_your_manually_downloaded_jar_file>.jar -DgroupId=com.qq.connect -DartifactId=qq-connect -Dversion=2.0.0.RELEASE -Dpackaging=jar
    
  6. 运行

    mvn install
    mvn package
    

    项目使用的Tomcat版本为8.5.20,你最好与我同步。下载该版本

  7. 查看Druid管理面板

    默认用户名:itning

    默认密码:kingston

    页面:http://localhost:8080/druid

    如何更改用户名密码?

SQL

  1. 创建数据库

    CREATE DATABASE IF NOT EXISTS shw CHARACTER SET utf8mb4;
    USE shw;
    
  2. 导入表结构和数据

    SET FOREIGN_KEY_CHECKS=0;
    
    -- ----------------------------
    -- Table structure for history
    -- ----------------------------
    DROP TABLE IF EXISTS `history`;
    CREATE TABLE `history` (
      `hid` varchar(255) NOT NULL,
      `huid` varchar(255) NOT NULL,
      `hoid` int(11) NOT NULL,
      `type` varchar(255) NOT NULL,
      `filepath` varchar(255) NOT NULL,
      `uptime` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP,
      `filesize` double NOT NULL,
      PRIMARY KEY (`hid`),
      KEY `FK_hoid_oid` (`hoid`) USING BTREE,
      KEY `FK_huid_uid` (`huid`) USING BTREE,
      CONSTRAINT `history_ibfk_1` FOREIGN KEY (`hoid`) REFERENCES `orderinfo` (`oid`),
      CONSTRAINT `history_ibfk_2` FOREIGN KEY (`huid`) REFERENCES `user` (`uid`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    -- ----------------------------
    -- Table structure for orderinfo
    -- ----------------------------
    DROP TABLE IF EXISTS `orderinfo`;
    CREATE TABLE `orderinfo` (
      `oid` int(11) NOT NULL,
      `oname` varchar(255) NOT NULL,
      `osubject` varchar(255) NOT NULL,
      `ostate` bit(1) NOT NULL,
      `otime` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP,
      `odeadline` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP,
      PRIMARY KEY (`oid`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    -- ----------------------------
    -- Records of orderinfo
    -- ----------------------------
    INSERT INTO `orderinfo` VALUES ('1492109980', '第二次作业', 'UI交互设计', 1, '2018-11-28 14:48:53');
    INSERT INTO `orderinfo` VALUES ('795960272', '第二次作业', '软件测试', 1, '2018-11-28 14:38:11');
    
    -- ----------------------------
    -- Table structure for user
    -- ----------------------------
    DROP TABLE IF EXISTS `user`;
    CREATE TABLE `user` (
      `uid` varchar(255) NOT NULL,
      `username` varchar(255) NOT NULL,
      `password` varchar(255) NOT NULL,
      `headimg` varchar(255) DEFAULT NULL,
      `firstlogin` bit(1) NOT NULL DEFAULT b'1',
      `name` varchar(255) NOT NULL,
      `percode` varchar(255) NOT NULL,
      `userOpenID` varchar(255) DEFAULT NULL,
      PRIMARY KEY (`uid`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    -- ----------------------------
    -- Records of user
    -- ----------------------------
    INSERT INTO `user` VALUES ('1', '000000000000', '0123456789', null, 1, '管理员', 'admin', null);
    INSERT INTO `user` VALUES ('2', '111111111111', '123456789', null, 1, '用户1', 'user', null);
    

    预览

    登陆

    管理界面

    上传界面

    添加课程

    druid

MIT License Copyright (c) 2017 a1837634447 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

使用SSM+Shiro开发的学生作业管理系统。支持批量打包下载,QQ登陆等功能 生产版: 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/luokaihu_admin/Student-Homework-Management-System.git
git@gitee.com:luokaihu_admin/Student-Homework-Management-System.git
luokaihu_admin
Student-Homework-Management-System
Student-Homework-Management-System
master

搜索帮助