# HelloForm **Repository Path**: Haidnor/HelloForm ## Basic Information - **Project Name**: HelloForm - **Description**: 多人动态表格任务系统,用于收集统计多人的数据 - **Primary Language**: Java - **License**: AFL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2020-01-07 - **Last Updated**: 2022-03-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目背景 在我读大学的时候我是班上的班长,班上有25个同学,我经常要收集同学们的信息再做成表格上交给老师。每个同学都把各种信息用QQ发给我,然后我再每个手动复制粘贴到EXCEL表格。我多么希望有一个自动化的系统能解决这些繁琐事情。在我读大二时,我从零基础开始自学编程, 用了 5 个月的时间学习 Java Web 开发,在 Spring、SpringMVC、MyBatis 三大框架学习完后设计出了这个小作品,完成我了的一个小心愿。整个项目从开始设计到开发完成耗时 7 天, 学习使用 Linux 到使用云服务器部署项目耗时 3 天 # 一、概述 HelloForm 是一个动态表格任务管理系统,用于收集与汇总数据。管理员可以自定义创建表单任务给用户填写,可在系统后台查看数据总汇,并且能将数据导出成表格文件保存。可以用于校园班级内多人的数据收集工作。 # 二、功能演示 ## (1)主要功能 该系统的使用者仅分为管理员与普通用户两种类别。 首先管理员登录系统后台 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0514/214645_cbb4427d_4989897.png "2020-05-14_204628.png") 在系统中点击“创建表格”功能按钮,进入创建任务页面。在这里可以创建任务表单。 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0514/214814_6191f2b7_4989897.png "2020-05-14_205026.png") 创建完成后点击“管理表格”功能按钮,查看页面,并点击“启用”,任务即可创建发布成功。 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0514/215117_5fcc54cd_4989897.png "2020-05-14_205221.png") 下面以用户角色登录系统,查看管理员下发的任务 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0514/215725_68430364_4989897.png "2020-05-14_215606.png") 点击填写按钮,即可进入管理员创建的填写表单页面。用户填写完表单后退出系统即可。 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0514/215856_9cef2de6_4989897.png "2020-05-14_205614.png") 管理员可以随时进入系统后台查看任务表单填写的情况,如下图所示。 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0514/220159_bbd728eb_4989897.png "2020-05-14_211049.png") 管理员可以点击页面右上方的功能按钮,导出表格文件,或者打印表格。 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0514/220302_6613a358_4989897.png "2020-05-14_211116.png") ## (2)其它功能 该项目推荐使用的数据库是 H2 DATABASE, 集成了 H2 DATABASE web console 功能,管理员可以使用浏览器访问数据库管理页面,可以使用 SQL 语句对数据进行灵活的操作管理。 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0514/220636_8c7bba36_4989897.png "2020-05-14_210309.png") 该项目的数据源连接池使用是 Alibaba 的 Druid 技术。可以使用浏览器查看数据库的访问操作记录。 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0514/220840_9c673d12_4989897.png "2020-05-14_211323.png") # 三、项目中主要使用的技术 ### (1)后端部分 * Spring Framework * Spring MVC * MyBatis * Druid * H2 DATABASE * jackson ### (2)前端部分 * jQuery * Bootstrap * layui # 四、项目的目录结构 ![项目目录结构](https://images.gitee.com/uploads/images/2020/0515/162029_54ababb3_4989897.png "2020-05-15_161658.png") # 五、项目配置项 ## (1)数据库连接配置 修改 db.properties 文件可以对数据库连接进行配置。主要修改的参数有:数据库连接地址``jdbc.url``、数据库访问用户名``jdbc.username``、数据库访问密码``jdbc.password``。 ## (2)H2 web console 与 druid 数据源监控配置 在 web.xml 文件中可以对H2 web console 与 druid 数据源监控的参数进行相关配置,改文件内有较为详细的注释以供开发者参考。 # 六、项目的部署方式 ## (1)创建数据库 该项目推荐使用 H2 数据库,开发者可以在 [H2 DATABASE 官方网站](http://h2database.com/html/main.html)下载对应服务器操作系统的建库软件进行建库,项目内默认配置的数据库名为``helloForm``。最后使用项目内的 HelloFormSQL.sql 文件对数据库进行建表操作。 ## (2)打包项目 HelloForm 项目采用 maven 进行管理,使用者可以使用 maven 的指令对项目进行打包,打包格式为``war``。 ## (3)部署到服务器 该项目推荐使用 tomcat 服务器进行部署,tomcat 版本要求 7.0 及以上。将项目打包后的 war 文件配置安装到 tomcat 服务器内运行即可。 # 七、项目默认配置的访问链接 用户登录页面 http://localhost:8080/HelloForm/user/userMain 默认用户名``1650640001``,默认密码``123456`` 管理员登录页面 http://localhost:8080/HelloForm/admin 默认用户名``root``,默认密码``root`` H2 数据库 web 控制台登录页面 http://localhost:8080/HelloForm/admin druid 数据源监控访问页面 http://localhost:8080/HelloForm/druid 默认用户名``root``,默认密码``root`` # 八、注意事项与常见问题 (1)JDBC 连接 H2 数据库有多种方式,例如在 jdbc.url 后添加后缀``database_to_upper=false``,则表示为取消默认的自动转换成大写,在建表时字段可以区分大小写。因此在查询数据时,也应该严格区分表名与字段的大小写。 (2)tomcat 服务容器版本应该选用 7.0 及以上版本,否则将会出现框架兼容相关的报错。 # 九、备注说明 这是一个我上学时玩一玩的小项目,已不再开发维护。