{"id":15211357,"url":"https://github.com/itning/student-homework-management-system","last_synced_at":"2025-10-03T03:30:31.525Z","repository":{"id":44176140,"uuid":"92886878","full_name":"itning/Student-Homework-Management-System","owner":"itning","description":"使用SSM+Shiro开发的学生作业管理系统。支持批量打包下载，QQ登陆等功能 生产版：","archived":true,"fork":false,"pushed_at":"2022-02-11T05:35:31.000Z","size":3518,"stargazers_count":105,"open_issues_count":0,"forks_count":31,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-09-29T08:23:37.489Z","etag":null,"topics":["druid","homework-problem","java","jquery","management-system","mybatis","mysql","shiro","spring","springmvc"],"latest_commit_sha":null,"homepage":"https://github.com/itning/shw_server","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itning.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-05-31T00:08:40.000Z","updated_at":"2024-07-08T09:19:00.000Z","dependencies_parsed_at":"2022-08-19T12:12:09.621Z","dependency_job_id":null,"html_url":"https://github.com/itning/Student-Homework-Management-System","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itning%2FStudent-Homework-Management-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itning%2FStudent-Homework-Management-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itning%2FStudent-Homework-Management-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itning%2FStudent-Homework-Management-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itning","download_url":"https://codeload.github.com/itning/Student-Homework-Management-System/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235069312,"owners_count":18930936,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["druid","homework-problem","java","jquery","management-system","mybatis","mysql","shiro","spring","springmvc"],"created_at":"2024-09-28T08:23:33.905Z","updated_at":"2025-10-03T03:30:31.003Z","avatar_url":"https://github.com/itning.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 学生作业管理系统\n\n**Deprecated：New Version Location [Click To New Project](https://github.com/itning/shw_server)**\n\n**停止维护：新项目地址 [点击进入](https://github.com/itning/shw_server)**\n\n[![GitHub stars](https://img.shields.io/github/stars/itning/Student-Homework-Management-System.svg?style=social\u0026label=Stars)](https://github.com/itning/Student-Homework-Management-System/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/itning/Student-Homework-Management-System.svg?style=social\u0026label=Fork)](https://github.com/itning/Student-Homework-Management-System/network/members)\n[![GitHub watchers](https://img.shields.io/github/watchers/itning/Student-Homework-Management-System.svg?style=social\u0026label=Watch)](https://github.com/itning/Student-Homework-Management-System/watchers)\n[![GitHub followers](https://img.shields.io/github/followers/itning.svg?style=social\u0026label=Follow)](https://github.com/itning?tab=followers)\n\n[![GitHub issues](https://img.shields.io/github/issues/itning/Student-Homework-Management-System.svg)](https://github.com/itning/Student-Homework-Management-System/issues)\n[![GitHub license](https://img.shields.io/github/license/itning/Student-Homework-Management-System.svg)](https://github.com/itning/Student-Homework-Management-System/blob/master/LICENSE)\n[![GitHub last commit](https://img.shields.io/github/last-commit/itning/Student-Homework-Management-System.svg)](https://github.com/itning/Student-Homework-Management-System/commits)\n[![GitHub release](https://img.shields.io/github/release/itning/Student-Homework-Management-System.svg)](https://github.com/itning/Student-Homework-Management-System/releases)\n[![GitHub repo size in bytes](https://img.shields.io/github/repo-size/itning/Student-Homework-Management-System.svg)](https://github.com/itning/Student-Homework-Management-System)\n[![HitCount](https://hitcount.itning.top/?u=itning\u0026r=Student-Homework-Management-System)](https://github.com/itning/hit-count)\n[![language](https://img.shields.io/badge/language-JAVA-green.svg)](https://github.com/itning/Student-Homework-Management-System)\n\n### 原本功能\n\n1. 管理员在后台数据库中准备好学生学号（10位）后，学生可以用学号登录系统，首次登录需要自行设置密码（大于8位）\n2. 学生可以上传文件到系统中，上传功能基于bootstrap-fileinput\n3. 后台统一命名存储文件\n4. 管理员登陆后可以批量下载后台打包过后的文件\n\n### 新增功能\n\nby tomriddle_1234\n1. 添加截止时间设置，截止时间过后学生无法上传作业\n    ```\n    ALTER TABLE `shw`.`orderinfo` \n    ADD COLUMN `odeadline` DATETIME NOT NULL DEFAULT '2022-01-01 00:00:00' AFTER `otime`;\n    ```\n2. 管理员删除作业任务时，增加确认对话框\n3. 一些界面的小优化\n4. 添加编辑作业任务功能\n5. 作业名称可以用[]()添加链接\n\n## 架构\n\n### 前端\n\n1. jQuery\n2. Bootstrap3\n3. Bootstrap-fileinput\n4. moment.js\n5. bootstrap-datepicker (bootstrap 3 v4)\n\n### 后端\n\n1. Spring MVC\n2. Spring\n3. Mybatis\n4. Shiro （安全框架）\n5. Druid（阿里巴巴的开源连接池）\n6. MySql\n\n## 部署\n\n1. 下载源码\n\n   你可以在Git（[Git是什么，如何使用？](https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/)）输入以下命令进行clone项目到本地\n\n   ``git clone https://github.com/itning/Student-Homework-Management-System.git``\n\n   或者直接下载主分支的[源码](https://github.com/itning/Student-Homework-Management-System/archive/master.zip)\n\n2. 使用编译器打开本项目\n\n   该项目使用IntelliJ IDEA编译器编写打包，建议同学们使用该编译器进行打开\n\n   项目使用JDK1.8进行编写，用到了JDK1.8+特性，所以最低JDK版本为1.8\n\n3. 导入SQL文件\n\n   由于该项目不会自动建库建表，所以你需要手动导入SQL\n\n   更改JDBC连接信息（数据库名，用户名，密码）\n\n   [context.properties](https://github.com/itning/Student-Homework-Management-System/blob/master/src/main/resources/context.properties)\n\n   其中 **user** 键为数据库的用户名\n\n   其中 **password** 键为数据库的密码\n\n4. 更改上传文件存储目录\n\n   用户上传的文件需要持久化到硬盘上，你需要配置持久化目录\n\n   [在这里配置](https://github.com/itning/Student-Homework-Management-System/blob/master/src/main/resources/context.properties#L8)\n\n5. 安装QQ互联SDK\n\n   这一步是为了能够使用QQ进行登陆\n\n   ~~[官方下载互联SDK](http://qzonestyle.gtimg.cn/qzone/vas/opensns/res/doc/qqConnect_Server_SDK_java_v2.0.zip)~~\n   \n   **直接运行根目录下``install-qq-connect-dependency.bat``脚本即可**\n   \n   ```shell\n   直接运行install-qq-connect-dependency.bat即可，无需以下代码\n   mvn install:install-file -Dfile=\u003cpath_to_your_manually_downloaded_jar_file\u003e.jar -DgroupId=com.qq.connect -DartifactId=qq-connect -Dversion=2.0.0.RELEASE -Dpackaging=jar\n   ```\n\n6. 运行\n\n   ```\n   mvn install\n   mvn package\n   ```\n\n   项目使用的Tomcat版本为8.5.20，你最好与我同步。[下载该版本](https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.20/bin/)\n\n7. 查看Druid管理面板\n\n   默认用户名：``itning``\n\n   默认密码：``kingston``\n\n   页面：``http://localhost:8080/druid``\n\n   [如何更改用户名密码？](https://github.com/itning/Student-Homework-Management-System/blob/master/src/main/webapp/WEB-INF/web.xml#L84)\n\n## SQL\n\n1. 创建数据库\n\n   ```sql\n   CREATE DATABASE IF NOT EXISTS shw CHARACTER SET utf8mb4;\n   USE shw;\n   ```\n\n2. 导入表结构和数据\n\n   ```sql\n   SET FOREIGN_KEY_CHECKS=0;\n   \n   -- ----------------------------\n   -- Table structure for history\n   -- ----------------------------\n   DROP TABLE IF EXISTS `history`;\n   CREATE TABLE `history` (\n     `hid` varchar(255) NOT NULL,\n     `huid` varchar(255) NOT NULL,\n     `hoid` int(11) NOT NULL,\n     `type` varchar(255) NOT NULL,\n     `filepath` varchar(255) NOT NULL,\n     `uptime` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP,\n     `filesize` double NOT NULL,\n     PRIMARY KEY (`hid`),\n     KEY `FK_hoid_oid` (`hoid`) USING BTREE,\n     KEY `FK_huid_uid` (`huid`) USING BTREE,\n     CONSTRAINT `history_ibfk_1` FOREIGN KEY (`hoid`) REFERENCES `orderinfo` (`oid`),\n     CONSTRAINT `history_ibfk_2` FOREIGN KEY (`huid`) REFERENCES `user` (`uid`)\n   ) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n   \n   -- ----------------------------\n   -- Table structure for orderinfo\n   -- ----------------------------\n   DROP TABLE IF EXISTS `orderinfo`;\n   CREATE TABLE `orderinfo` (\n     `oid` int(11) NOT NULL,\n     `oname` varchar(255) NOT NULL,\n     `osubject` varchar(255) NOT NULL,\n     `ostate` bit(1) NOT NULL,\n     `otime` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP,\n     `odeadline` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP,\n     PRIMARY KEY (`oid`)\n   ) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n   \n   -- ----------------------------\n   -- Records of orderinfo\n   -- ----------------------------\n   INSERT INTO `orderinfo` VALUES ('1492109980', '第二次作业', 'UI交互设计', 1, '2018-11-28 14:48:53');\n   INSERT INTO `orderinfo` VALUES ('795960272', '第二次作业', '软件测试', 1, '2018-11-28 14:38:11');\n   \n   -- ----------------------------\n   -- Table structure for user\n   -- ----------------------------\n   DROP TABLE IF EXISTS `user`;\n   CREATE TABLE `user` (\n     `uid` varchar(255) NOT NULL,\n     `username` varchar(255) NOT NULL,\n     `password` varchar(255) NOT NULL,\n     `headimg` varchar(255) DEFAULT NULL,\n     `firstlogin` bit(1) NOT NULL DEFAULT b'1',\n     `name` varchar(255) NOT NULL,\n     `percode` varchar(255) NOT NULL,\n     `userOpenID` varchar(255) DEFAULT NULL,\n     PRIMARY KEY (`uid`)\n   ) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n   \n   -- ----------------------------\n   -- Records of user\n   -- ----------------------------\n   INSERT INTO `user` VALUES ('1', '000000000000', '0123456789', null, 1, '管理员', 'admin', null);\n   INSERT INTO `user` VALUES ('2', '111111111111', '123456789', null, 1, '用户1', 'user', null);\n   ```\n\n   ## 预览\n\n    ![登陆](https://raw.githubusercontent.com/itning/Student-Homework-Management-System/master/pic/denglu.png)\n   \n    ![管理界面](https://raw.githubusercontent.com/itning/Student-Homework-Management-System/master/pic/guanli.png)\n   \n    ![上传界面](https://raw.githubusercontent.com/itning/Student-Homework-Management-System/master/pic/sahngchuan.png)\n   \n    ![添加课程](https://raw.githubusercontent.com/itning/Student-Homework-Management-System/master/pic/addkemu.png)\n   \n    ![druid](https://raw.githubusercontent.com/itning/Student-Homework-Management-System/master/pic/druid.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitning%2Fstudent-homework-management-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitning%2Fstudent-homework-management-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitning%2Fstudent-homework-management-system/lists"}