作业管理系统
---------------------------------------------------------2016-09-21---------------------------------------------------------------
一、业务需求:
1、前台
学生注册(指定小组)
学生注册,添加一个用户
学生登录
查询操作
提交作业(不指定小组和班级,会自动判断小组和班级,作业必须是rar文件,每次作业放入指定目录下)
查看排名
查看个人某次作业和所有作业排名
查看小组某次作业和所有作业排名(可选)
2、后台
登录(不用注册,用户名和密码固定
创建班级
创建小组
学生管理(对学生的小组、班级及其他信息进行调整,前台学生没有修改功能)
创建作业
查看排名
查看个人某次作业和所有作业排名
查看小组某次作业和所有作业排名(可选)
---------------------------------------------------------2016-09-25---------------------------------------------------------------
- 项目基本功能
- 班级的增删改查,全校班级的显示分页展示,但是显示数量固定是9
- 小组的增删该查,全班的所有小组信息
- 全校师生的增删查,分页显示,每页10条记录
- 管理员级用户拥有上述所有操作的权限
- 项目不完善的地方
- 不支持所有数据的批量删除.
- 所有分页显示没有给用户设置每页显示几条记录的功能(规模壮大后再增加吧).
- 用户的信息修改功能没有添加(时间实在不够).
- KindEditor编辑器的使用,bug太大,虽然实现了简单的显示和数据交互,但是漏洞太大,需要过滤器处理一下.并且当编辑器文本超大时,数据库中该如何设计.
- 所有的修改和创建都还没没有添加js或者ajax验证,因为时间实在来不及
- 遇到的问题实在太多,有些都无法用语言描述
- 最大的障碍估计是这个Intellij IDea. 果然不是一般人能驾驭的牛逼软件,因为我的无知导致这把利器变成了钝器. 继续努力学习,不然遇到bug,都不知道怎么调.
- 9月21日开始开发,为期四天完成.
- javascript 不熟悉.什么时候该用什么方法,怎么调用,怎么操作DOM,怎么获取DOM元素的内容,怎么修改DOM元素的属性
- jquery 又有对象 方法 和 属性
- ajax 和 他们的关系 目前总体上是 用jquery的选择器选中一个元素,然后绑定一个事件,事件发生时ajax异步访问数据库获取数据, 然后将数据渲染到前台显示. 这个项目中有两个功能用到ajax 和 jquery 的这个功能 第一:全校用户的模糊查询,设计到班级和小组的双重查询,使用了一个级联的下拉列表 其中班级列表是通过ajax异步获取的,之后小组数据根据班级的选中状态获取数据 第二:全校所有的在册班级数据是异步获取的
- 这里涉及到json数据格式问题 我第一次遇到的问题是,从业务层返回的数据,jquery无法解析,要么都是Objet,要么都是null 后来发现原因在于: 业务层发回的数据一定是String jquery解析String的方式除了JSON.parse(String) --- 可能是jquery版本问题? 以后再研究 还有一种方式:jQuery.parse(String) 我就是改了这句话后拿到json数据的
- css样式真是一把杀小鸟的牛刀,我这只菜鸟差点败在复杂的样式里头 能在默认样式里头顺利完成的功能,加了样式后,一个一个的报bug 人间正道是沧桑啊,能不能别带弯我,我可是要学web开发的,不是想要做前端啊~~~~ 不过也掌握了基本的调试方法吧,一条一条的删除样式link,逐步定位问题所在, 要么手动修改样式,要么删除样式,勇敢坚定的走在矮穷矬的康庄大道上,我丑但我不自卑呀! 可是这个全民进入颜控的时代我还能继续这么自信么~当让~~~~~不能,我还是好好学习吧555555
- 认识了一个被广大WEB网站使用的文本编辑器,这个编辑器(就是我常常给朋友们吐槽的那种模拟word文档,带有编辑 小图标的那种看上去lowlow的编辑器),要想用好它,还真是难.我花了将近12个小时,获取这个伪装的textarea里面的编辑文本 说出来都是累!对,是累!!不是泪!!!
- 数据库表的设计还是蛮合理的,唯一的疑惑就是大文本都是怎么存的,会超出长度诶
- 还遇到了一个经典的问题,因为建立了数据库连接池,我错误的以为连接对象就可以不用close了 于是我在某次访问网页时,越来越慢,甚至出现点击网站内第二链接时总是处于加载状态. 代码左思右想没有问题,才认为一定是数据库连接没有释放,导致某次访问的连接始终在使用. util工具类中的closeAll 我没有将connection对象传入. 于是出现了上述情况. 释放数据库连接的方式很简单,就是close这个连接就可以.但它并没有关闭物理连接, 只是将连接又放回到连接池内,等待下次的数据访问.