基于springMVC+myBatis的web报名系统(附github链接)

github链接: https://github.com/colabin/Registration-system

项目简介

当初这个系统是本科时学院举办的比赛时做的一个系统,也是自己学习web开发时练手的一个项目,算是一个中规中矩的项目吧

项目介绍:

需求分析:

对于报名者来说:
1.最基本的报名功能即注册功能
2.需要有一个对比赛承办方提出意见和疑问的平台

对系统来说:
1.需要宣传赛事具体情况
2.需要提供比赛有关资料的下载渠道
3.需要解答选手对于赛事的疑问
4.需要发布比赛通告

对于管理员来说:
1.需要有权限发布通告,解答疑问,上传比赛资料,以及统计参赛选手的信息

解决方案:

对于报名者来说:
1.系统提供注册功能,注册又分为个人报名和团队报名
2.系统提供对比赛承办方提出意见和疑问的平台,即提问专区

对系统来说:
1.系统提供一个宣传赛事具体情况的简介页面
2.系统提供一个比赛有关资料的下载专区
3.系统提供一个解答选手疑问的答疑专区
4.系统提供一个发布比赛通告的通告专区

对于管理员来说:
1.系统提供给管理员发布通告,解答疑问,上传比赛资料,以及统计参赛选手的信息的功能

相关技术介绍(ppt上有图示)

1.项目利用springMVC和mybatis作为基本框架,中间件采用jetty
2.数据库利用mysql,powerdesigner设计数据表
3.利用maven管理jar包依赖和打包项目部署到服务器
4.利用jquery实现首页图片轮播和css样式的切换,数据分页展示(下载列表,问答)
5.js前台验证表单输入的合法性,设置验证码防止恶意反复注册,利用隐藏表单域防止表单重复提交
6.对于网站首页进行静态化处理,加快访问速度(输入Index.jsp后会重定向到新生成的html页面)
7.session技术实现免二次登陆
8.对数据库部分表进行索引优化(常用的查询字段)

代码结构

controller:控制层,相当于SSH框架的action,负责调用业务逻辑层功能,并将结果转发至view层(jsp页面),其中Control类是控制类,里面包含一系列控制函数
Static类和Create类负责静态页面的生成
dao:mybatis的mapper类,用于访问数据库
po:领域模型层,也就是数据库行数据对应的对象
service/servieImp:业务逻辑层,进行业务逻辑处理,由controller进行调用

web资源

jsp,css,js文件,download用于存储比赛资料,img存储所需图片,static用于存储生成的静态页面(静态页面在jetty的文件夹)

系统功能简介

资料下载界面:

资料分页展示,参赛选手可以自行下载所需资料,资料上传由管理员在管理员界面上传

咨询界面:

问题按照提问时间顺序排序点击问题,答复会自动出现在下方没有答复则显示“没有回复”回复由管理员在管理员界面回复点击“我有疑问"进行提问

提问页面:

选手将问题提出来,并留下联系方式新提出的问题将会展示在咨询专区,等待管理员进行解答

通告专区:

按照时间排序点击主题,显示通告内容通告由管理员在后台发布

点击管理入口进

入管理员界面如果是第一次登录则会要求账户密码,如果是登陆过,则利用session可以实现免登陆

回答问题界面:

可以看到针对每个问题,都有一个回复的表单,当回复提交后,会在咨询专区显示出来

可以改进的地方

关于参赛信息的统计,应该还有很多没考虑到的地方,一方面也是因为数据库设计地不够完善,导致无法充分利用报名的数据统计出更有趣的结果。最后因为这个作品没有很大数据,也就没有考虑并发性,和一些缓存技术,仅作参考

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值