第一个项目 学生评价综合系统

第一个项目:StudentSystem 学生评价综合系统(代码和具体开发步骤以后附上)
技术选型:
前端:AdminLTE(Bootstrap+CSS)框架
后端:SSM(Spring+SpringMVC+MyBatis)
数据库:Mysql5.7
环境搭建:
win10、jdk1.8
开发工具:Eclipse或者Idea2017.1 (强烈建议)
数据库:Mysql5.7 和数据库可视化工具(我用的Navicat,可视化工具可以让我们更直观的查看和操作数据库)
项目管理工具:Maven 3.5.2
服务器:Tomcat 8.5.31
项目介绍:
为了实现学生和教师线上互动和学习交流的功能,而开发的一款后台信息管理系统,不再局限于查询之类的学生教务管理系统,学生还可以将反馈意见和个人作品提交给管理员和老师,让学生们可以在课外的时候有更充足的空间和教师进行交流。
在大学期间,自学了半年的java,做得第一个项目,也因为是第一次做这种Web网页功能,在一开始在设计数据库表和页面的时候没有想好,都是边学边做,所以后期完成后的代码量比较大(应该也有几千行代码吧),也比较乱,都是后期遇到需要的再写,经验不够。在说了,本人对前端的知识比较薄弱,只会那些基本的Html、CSS、JS,前端页面还是用form表单提交,因为叫了一个朋友学前端的带着做,AdminLTE是一个后台管理页面的模板,非常适合开发信息管理这样的系统项目。
一开始在搭建环境的时候都已经浪费了许多时间…因为不熟,所以很多地方都要看文档和教程跟着配,有时候打少一个字母,就可以让你找上一整天…(因为xml文件和properties这些配置资源文件一般是不会报错的)。
在这里插入图片描述
这是我的项目目录结构,用maven搭建的webapp工程,首先就是要在pom.xml文件下导入相应的开发坐标。domain包是实体类,interceptor包是拦截器(让用户不能在没有登录用户名和密码的时候访问里面的页面),test包主要是测试SSM搭建环境是否成功的。resources包是资源文件包,放的都是资源文件,webapp下的css、img、plugins都是资源文件,前端jar包之类的,访问的页面在pages下。
application.xml是配置Spring的文件(依赖注入、事务开启、自动装配),db.properties是数据库的配置文件(一些数据库驱动driver信息、数据库的连接端口、数据库的用户名和密码、),log4j.properties这个是有关数据库mybatis的一些日志文件,我也不怎么懂这个,网上说一定要配上就配了,springmvc.xml是SpingMVC的配置文件,配置了一些视图解析器,过滤器,拦截器等功能配置。
因为还没有服务器域名,暂时只能本地访问(也就是只能在自己的电脑访问),以后如果有了服务器域名,我会注上地址。
Controller层的代码都比较相似,下面是其中一个查询功能的截图:
在这里插入图片描述
Service业务层的代码,都是调用dao层的代码。如下:
在这里插入图片描述
dao层:都是简单的增删改查,只截取了部分功能,还有一些左连接查询和多表操作没截上,如下:
在这里插入图片描述 数据库表的设计:
连接数据库前要记得开启数据库,要在如下的窗口路径下以管理员身份运行cmd.exe,输入以下命令,如下:
在这里插入图片描述
下面的有关于数据库表的设计截图,如下:
在这里插入图片描述
StudentSystem组是这个项目的数据源,admin是存储管理员的用户名和密码的,major是存储专业信息,和关联student、teacher、room,room是班级表,scope是学生的成绩表,student是学生信息表,teacher是教师信息表。
下面是项目运行时的一些截图:
登录界面(做得比较简陋):
在这里插入图片描述登录界面有权限控制,本来一开始想用Spring Security但是后面发现这个项目,直接用逻辑判断就行,但是这步权限管理以后还是要用框架工具完成,不然如果太多种情况用逻辑判断也是行不通的,这里使用管理员身份,管理员(admin : 123456)可以跳去管理员界面,如下:在这里插入图片描述
点击左边菜单栏的信息管理下的学生信息,就会出现学生信息列表,如下:在这里插入图片描述
管理员可以对教师信息和学生信息增删改查
1.增加在这里插入图片描述2.批量删除(因为省时间,这里的弹窗就直接用了alert)在这里插入图片描述,信息右边的搜索就是用的模糊查询,分页查询用的是pageHelper工具。点击右边的详情可以查看学生的成绩,也可以对数据进行管理员,典型的管理员权限功能页面。如下是管理员点击学生信息列表右边的详情按钮,会弹出学生的成绩信息,管理员可以编辑。如下:
4.查询在这里插入图片描述
如果登录的是学生(张三 : 123)界面,可以查看个人信息(只能查自己),左上方会变成张三(学生名字),这是因为我在判断用户名密码时将数据存储在session域里面(在整个浏览器会话过程都起作用),如下:在这里插入图片描述
因为学生是用户,所以仅仅可以查看不可以修改(如果可以修改,这系统是有多烂啊),还可以将自己的作品和奖项提交给老师们审核,还可以对老师们进行匿名评价。如下:
在这里插入图片描述这个页面会提交到教师端上,老师们可以看到你的提交内容,可以对你进行审核和评价。如下是教师(托尼 : 456)端审核的页面:
在这里插入图片描述审核完成会将结果返回给学生端,学生端刷新后就可以看到结果了。
这个项目算是个速成版吧,具体还有一些功能没有实现。例如,老师的个人奖项以及荣誉,和老师和学生应该可以查询到对应的课表,这个的话要细分,涉及到螺旋式开发,因为现在这个系统还是以整个学校为单位查询,虽然可以模糊查询到具体的班级,可还不是那么的方便,以后会加上具体的班级表和课程表。
这个项目其实功能比较简单,主要是对之前学习J2EE的知识巩固,可以不看视频和教程的情况下独立写出来(当然,配置文件那些还是要找资料…)
做完后的感受,其实一个人做后台的话还是比较辛苦的,如果多个人,就可以前后端分离的实现,做完发现自己的数据库知识比较薄弱(体现在表的设计和关联、索引)。
毕业设计应该还会用Springboot整合mybatis做一个项目,类似于商城的后台管理平台,因为Springboot用起来比Spring和SpringMVC省下太多配置的苦力活了,而且会解决很多pom文件种的包依赖、包冲突问题。
最后,写这篇文章就是为了让我以后看到自己写过一次这么烂的代码…

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值