[springboot]综合测评系统-项目展望

Posted 学习记录2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[springboot]综合测评系统-项目展望相关的知识,希望对你有一定的参考价值。

摘要:这是第一篇博客。技术内容很少。看法态度比较多。

  • 文章目录
  • 废话
  • 项目前身
  • 项目功能(模块)
  • 实体类设计(数据库)
  • 所谓RESTful风格
  • 返回结果
  • 总结

 

<!--这是废话的部分-->

给自己立下一个一周一个博客的目标!

说起这个博客,每次看到别人技术大牛或者和我一样的菜鸟分享博客的时候,就有种冲动想要写博客。

不只是对自己学*知识的梳理,也是一种记录,所以申请了一个账号学*记录2019,名字和目的一样。还有一个账号申请挺多天的,但是一直没有去申请开通博客。

说起Springboot,是我的大学班主任暨离散老师暨物联网操作系统老师,有个芬兰的项目。说是芬兰的项目,其实就是一个芬兰大学要做消费者行为调查的实验,然后就项目里面的一个成员刚好是国内的一个大学的老师,认识我的老师,所以就搭上线了。

项目极其简单,对于几个月前的我是一个很具有挑战性的东西。后来慢慢的接触了这个项目,所以就开始接触Springboot,我的学*进度不快,没有很系统的学*。最*才去图书馆借了一本spring实战和一本springmvc,开始接触spring这个框架。

我承认,我很多时候都是囫囵吞枣并没有深刻理解。所以有时候对于一个初学者来说,你说什么控制器,什么框架,什么实体类还是有点难以理解,可能是我比较没有很好的思维能力吧。

好了,回到标题,这是一个用在大学的综合测评系统。因为大学担任了助理三年,所以干了很多关于这方面的活(很繁琐低效率),所以想借这个机会开发一套以后可以用的系统。

 

 

<!--这是正题-->

<!--项目前身-->

 

 

 

 

看到这个界面,我不知道你们会怎么想,反正我是觉得很丑的。

因为这是没有规划,没有前期设计,想到什么做什么,会做什么就写什么。

很明显,这是一个,没有设计感,没有规划的失败的项目。

很多地方代码都是频繁改动,没有一点逻辑,做了很多重复性的东西。

这也就是我想做第二版的原因。

给自己一个整体项目的过程,从设计开始。

 

<!--项目模块-->

模块:登陆模块,个人信息模块,学生管理模块,加分模块,申诉模块,批量添加加分模块,审核模块,申诉管理模块,留言模块,公示模块,导出模块,操作记录模块,查询模块,公告模块;

一个一个讲:

  1. 登陆模块:实现学生登陆功能,拦截非法用户和手机网页(用过滤器和拦截器),提供找回密码功能。管理员也是如此,加个验证码功能;
  2. 个人信息模块:展示个人信息,提供修改手机号码模块,上报个人相关信息(因为是综测系统,所以上报一些相关信息);
  3. 学生管理模块:有时候数据导入会出现问题,所以提供一个修改功能给管理员,不用在数据库改;
  4. 加分模块:最主要的模块,最后还要算出总积分;
  5. 申诉模块:加分被拒绝的时候可以提出申诉;
  6. 批量加分模块:就是给一些社团,团委的权限去添加加分,同时还有闪课的数据;
  7. 审核模块:审核加分;
  8. 申诉模块:处理申诉;
  9. 留言模块:提供网站留言的平台(其实没啥用);
  10. 公示模块:公示整个班的积分;(后面再看要不要做,做下去功能太多太复杂了);
  11. 导出模块:导出pdf,导出excel;
  12. 操作记录模块:希望用日志来记录,用数据库太耗费资源了;
  13. 查询模块:可以查询多个模块的内容(用来学*);
  14. 公告模块:发布通知;

其实细分起来,很多都是不怎么困难的问题;因为项目大概就两千多人访问,没有需要什么分布式啊,消息队列啊(其实我也不会);最多就用到一个缓存;

 

 

<!--实体类设计(项目前身)-->

因为我是用JPA,所以不用建表sql,不推荐外键操作,外键写在应用层;

不打算记录各种时间,时间由日志记录;

user登陆用户类(id(stuid)-学号,name-名字,pwd-密码,state-状态,uptime-最后一次登陆时间,errornum-密码错误次数)

student学生信息类(id(stuid),name-名字,classgroup-班级,grouptype归谁审核,grade-年级,profession-专业,phone-手机号码,poordegree-贫困生等级,personalid-身份证,remark-备注)

fraction加分记录类(id,type-类别,degree-级别,stuid-学号,detail-内容TXT,fractionnum-分数,unit-加分单位,proof-是否有证明,remark-审核人备注,state-状态删除审核批准申诉)

appeal申诉记录类(id,stuid-学号,fractionid-加分记录id,state-状态,reason-申诉理由TXT,reply-回复理由)

Notice公告信息类(id,sender发表人,title标题,detail内容TXT,creattime-创建时间,state状态)

(考虑不做)comment留言类(id,stuname发表人名字,detail内容TXT,state状态)

 

<!--所谓RESTful风格-->

简单的说:RESTful是一种架构的规范与约束、原则,符合这种规范的架构就是RESTful架构。

先看REST是什么意思,英文Representational state transfer 表述性状态转移 其实就是对 资源 的表述性状态转移。
(什么是表述性:就是指客户端请求一个资源,服务器拿到的这个资源,就是表述)
资源的地址 在web中就是URL (统一资源标识符)
资源是REST系统的核心概念。 所有的设计都是以资源为中心

分四个controller

LoginController(登陆管理)  /login/**

StudentController(学生跳转)  /student/**

ManagerController(管理员跳转)  /manager/**

ApiController(数据专用管理)  /api/**

分为两个service

StudentService;

ManagerService;

 

<!--返回的结果-->

Result类,用抛异常处理,全局统一处理异常;

ResultUitl类

ResultEnum类

UserException类

返回结果:

Result(){

code:代码;

msg:消息;

data:Object;

}

 

 

<!--总结-->

行吧,就这样,我也不知道怎么样。当作一个学*的记录;希望以后能够记录下每周有什么进步之类;

以上是关于[springboot]综合测评系统-项目展望的主要内容,如果未能解决你的问题,请参考以下文章

计算机毕业设计之java+springboot基于vue的学生综合测评系统

ssm的学生综合测评管理系统(文档)

计算机毕业设计之java+javaweb的学生综合测评管理系统

计算机毕业设计之java+ssm学生综合测评系统

使用Javaweb开发大学生综合素质测评系统

C/C++学生综合测评系统[2023-03-18]