学习强国打卡系统

该项目纯软件

目前是一个网站的形式来实现学习强国打卡,当初设计是为了提高统计的准确性,以及方便每周值日的同学观看打卡情况,产生做这个系统的想法,目前已经投入使用

系统架构

系统架构是基于MVC开发模式拓展的,包括database数据层、model模型层、dao数据持久层、service业务逻辑层、controller/servlet控制器,各层次分工明确,降低层次耦合度。

显示层 (View)

本系统采用B/S模式。多以jsp/html为主要的显示页面,为了满足页面UI的展示,AJAX数据交换为JSON格式。此层与控制层结合比较紧密,需要二者结合起来协同工作。

控制层

Controller层负责具体的业务模块流程的控制,这样不仅使程序结构变得清晰,也大大减少了代码量。

控制层主要用于响应客户端请求,每当请求到系统时,控制层就会调用对应的业务逻辑。请求分多种,如AJAX的数据请求、页面请求、文件上传、文件下载,控制层便会对应地做出相应的数据返回、页面跳转、流返回行为。

数据持久层

DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后设计实现类。

各层联系

DAO层,可以单独开发,互相的耦合度很低,完全可以独立进行,这样的一种模式在开发大项目的过程中尤其有优势,Controller,View层因为耦合度比较高,因而要结合在一起开发,但是也可以看作一个整体独立于前两个层进行开发。这样,在层与层之间我们只需要知道接口的定义,调用接口即可完成所需要的逻辑单元应用,一切显得非常清晰简单。

下图为目前网站功能架构

目前网站的架构
登录界面效果图

码云下载地址,直接点击这里,这个代码还是之前有bug时候的代码,看懂里面代码并作相应的修改就会有很大的成长。

这里代码是使用以下软件来进行开发的:开发工具:MyEclipse10,数据库:MySQL 5.1.32-community,图形化界面数据库操作:navicat,Java环境:jdk1.8.0_131(实际可能是jdk6,MyEclipse创建项目时候最高版本)

后来我用eclipse来开发,在myeclipse里那个jdk6换成高版本,一堆叉叉,不换高版本jdk图像处理那里请求的file类那些又没有(具体没有哪些类我忘记了,idea没用过所以没有用),反正看着就很不爽。或者两种jdk存在,导致部分代码出bug;像不执行识别代码什么的。

上述bug
  • 打卡天数,到达99天的时候,加到100,就一直查99天的数据进行修改
打卡天数的流程及实现思路
  • 在积分录入界面,填好分数那些,或者上传图片等待识别,输入框有内容后,点击上传,打卡天数自增
  • 打卡天数,个人设计是通过时间的比较来进行实现的,注册时候会自动记录注册时间,接着打卡就通过与注册时间作比较来计算打卡天数

三种情况:

  1. 注册当天打卡
  2. 注册当天没打卡
  3. 注册后打过卡
  • 具体应结合代码进行看

bug出现的原因是当时设计数据库打卡天数时候,数据类型是varchar(255),然后大家到99天的时候,代码总是判断99为最大的天数。我也懒得改数据库那里设计了,我个人解决这个bug的思路是(判断里面的最新的打卡编号,因为打卡编号自增且数据类型为int)。写到这里,想到支部打卡天数的貌似也是varchar类型,这个我有空再改吧


心情
积分录入界面

部署在服务器上的bug就精彩多了

  1. 本地入数据库没问题,服务器上传中文入数据库就乱码(db.properties里面加useUnicode=true&characterEncoding=UTF-8,解决问题)问题解决链接

  2. tomcat7版本 jdk只有1.7,图像处理的那些算法不能用,如图报错


    出现请求错误图
  3. tomacat8版本终于可以了jdk1.8,结果录入的感想全 ?????(乱码),一查发现tomcat8直接帮你处理好字符的问题 直接默认UTF-8,而我里面的方法为了tomcat7版本转码成ISO-8859-1。后面我决定不改代码,因为懒,太多代码要删删改改调试,于是决定直接浪费tomcat8的美意,把编码改成ISO-8859-1。问题解决链接

4.最精彩部分莫过于这个了。我开发用windows系统,存储目录路径如图 是正斜杠“\”

存储目录路径

然而实际的服务器是Linux系统(怪我看在Linux系统占服务器空间小,所以选择了Linux,否则就不会出现这么精彩的问题了),先看看不改代码放服务器的情况(可看下图) img\学号\图片名 (惊喜加意外,就新建了一个奇奇怪怪的文件夹还不能访问),接下来来看服务器实际存储路径 如图 是反斜杠“/”,如此一来存储就出现问题,解决方法改成正斜杠改成反斜杠
不改代码存图的路径

服务器存储路径

待提升的地方

积分界面,关于打卡天数可加一个应打卡天数来进行与实际打卡天数作对比。这部分代码方法其实我个人写了,但实际写在前端的时候出现了一点点小问题,现在还不怎么想解决,先凉拌着(不知道咋解决)。

积分界面图

这个网站其实可以转化为微信小程序的形式进行打卡,有能力的同学或者想要拥有这能力的同学可以借鉴我后端写的数据库结构、代码啥的,或者直接将后端的方法链接微信小程序的界面来实现。大佬可以忽略,直接按需开发

图像处理我这里实现是使用别人提供的api,图片数据根据支部的一些图片还有自己实际手机的截图,识别准确率我个人觉得其实可以,识别速率写了延迟3s请求,真正体验有时需要反复上传几次才能识别出来(说实话我还是挺不满意的,没有识别出来会返回上一位识别成功的同学的数据,这是由于我用了个中间变量来存储数据,也算个bug待解决。当时写到崩溃,终于解决识别存数据不入库的方法,后面就有点懒不想写清空上位识别成功数据的代码

图像处理这部分,有能力其实可以自己写,自己训练识别字库,来提升识别率和准确率(这部分是我目前不具备的能力)现在有些用户用了自己的字体识别不出来,由于是用api,所以并不能解决这个问题

可以加上会议签到等功能,考勤汇总什么的就没有那么辛苦,本人不是很想一个人完成这些所有功能,实在太累了,就交给后面的大佬来实现了

最后附上当时想做成小程序的供需分析

(我分析了然后,为什么自己不做呢,是由于,我还不想花时间去研究get/post请求与小程序界面的链接,决定简化自己操作,用自己已知大部分的知识缩短开发时间,所以就写了个网站)


微信小程序版

上述书于2020.11.03,若有补充后续再说


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,377评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,390评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,967评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,344评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,441评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,492评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,497评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,274评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,732评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,008评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,184评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,837评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,520评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,156评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,407评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,056评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,074评论 2 352

推荐阅读更多精彩内容