Skip to content

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

License

Notifications You must be signed in to change notification settings

czy1004103643/Student-Homework-Management-System

 
 

Repository files navigation

学生作业管理系统

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. jQuery
  2. Bootstrap3
  3. Bootstrap-fileinput

后端

  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=D:\a.jar -DgroupId=com.qq.connect -DartifactId=qq-connect -Dversion=2.0.0.RELEASE -Dpackaging=jar
  6. 运行

    项目使用的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,
      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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 93.6%
  • CSS 6.4%