Web 框架课程设计
项目描述
实现毕业设计双向选择: 具体功能说明:
- 教师:
- 登录,导入多门课程 Excel 表格
- 为课程设置加权分数
- 设置实际指导学生数
- 设置加权后,有资格学生范围
- 查看当前已接收学生
- 各参数可修改
- 设置毕设方向,设置毕设方向权值
- 学生: 1.输入学号显示曾经选修课程 2.提交 3.匹配 4.达到最大数关闭提交 5.后台并发判断
开发环境
- idea2019.3
- Git 2.22.0
- SpringBoot 2.2.5
开发过程
2020.3.10
Init
2020.3.12
1.根据需求完成以下实体类的设计:
- 学生类
- id 为学号
- 姓名属性 (在填写报名时可提供校验)
- isSelected 表示根据课程成绩等内容计算后是否能被选择
- teacher 与教师类 根据是否被选择 有一个 MangToOne 的映射
- courseElective 与课程类有一个中间表 elective 根据中间表维护与课程 ManyToMany 的关系
- 教师类
- id
- password 教师身份校验
- SelectStudentNum 能够选择的学生数
- WantStudentNum 希望选择的学生上限
- student 与学生的 ManyToOne 映射
- courses 教师创建的课程
- directions 教师创建的方向
- 课程类
- id
- name 名称
- minGrade 最低分数线
- value 权重
- courseElective 与选课表的映射关系
- courseElective(选课表)
- id
- grade 成绩
- detail 描述
- student
- course~~
2.完成以上实体类的 jpaRepository
说明:为解决 jpaRepository 没有 refresh()方法,自定义一个继承自 jpaRepository 的接口
Target:
完成方向需求的实体类设计与 jpa 接口实现
2020.3.13
完成方向类 方向与学生中间类的编写
2020.3.22
Service 层:
- 教师: 1.添加/修改教师信息 2.添加/修改教师信息 3.添加/修改课程 4.添加/修改方向 5.添加内定学生 6.确认学生是否能够被选择
- 学生: 1.添加学生 2.选择教师 3.修改学生信息 4.建立课程与学生的联系 5.建立方向与学生的联系
2020.3.31
调整 service 层部分逻辑错误
2020.5.19
调整实体类
实体类如下: 学生类,教师类与用户类建立一对一的关系,将学生类与教师类共有属性添加至用户类。
- id
- name
- number 学号/工号
- role 身份 添加方向类与方向跟学生之间的映射类,大致属性同课程类与课程学生映射类
调整服务类
- 将原本的学生服务,教师服务调整为 用户服务跟课程服务
- 将对用户的操作放在用户服务中,对课程,方向的操作放置在课程服务中
添加公用组件
- MyToken:用于前后端传递 token 信息
- 三个 final 属性 防止拼写错误
- authorization 前后端传递的 token 信息,具体内容即 id 与 role
- EncryptComponent:用于加密解密向前端传递的内容,暂时只有 token 向前端传递需要加密 因此只包含对 token 的加密解密方法
- RequestComponent:为方便获得 HTTPRequest 传递的 id,role
- InitComponent: 初始化管理员用户
添加拦截器
- LoginIntercept:拦截 request 请求,解密前端携带的 authorization,将用户 id,role 添加到 request 携带内容中,便于后端处理数据时使用 id,role
- WebMvcConfig: 声明拦截器拦截策略,因为用户 id,role 需要通过 LoginIntercept 获取,因此除了登录请求所有的请求都需要通过 LoginIntercept 拦截
2020.5.24
添加控制类
- LoginCollector 登录 获取账号密码 登录账号 将 Authorization 和 Role 返回给前端
- StudentCollector 学生控制类 包含学生权限可获取的一系列资源,可进行的一系列修改
- TeacherCollector 教师控制类 包含教师权限可获取的一系列资源,可进行的一系列修改
- AdminCollector 管理员控制类 管理员权限课获取的一系列资源,可进行的一系列修改
调整服务类
对于部分需要但之前没有写入的服务类方法,进行添加。
2020.6.27
基本功能全部完成
需要优化的地方:
由于早期对实体类设计问题,思考学生被选择权考虑不周,只能在后期维护时,学生选择老师时进行选择权判断,极大降低了系统并发能力,需要再添加一个实体类,维护学生与被选教师之间选择权,。
参考文献
- 基于J2EE的Web应用框架的研究与应用(武汉理工大学·于海霞)
- 基于ASP.NET的网络课程开发技术应用研究(重庆大学·张奇)
- 基于WEB标准的网络课程设计与开发——应用XML语言开发“小学科学课程教法指导”网络课程(华中科技大学·韩济民)
- 基于MVC设计模式下《图形图像处理技术》精品课程网站的设计与实现(苏州大学·刘峥)
- 基于J2EE的远程教育平台设计与实现(西北大学·陈怡)
- 课程综合管理平台的设计与实现(苏州大学·邱宏其)
- 基于J2EE的远程教育平台设计与实现(西北大学·陈怡)
- 计算机基础系列课程网络CAI教学的研究与实践——现代远程教学系统基于Web的辅助教学平台(成都理工大学·袁爱新)
- 《JSP动态网页设计》精品课程网站设计与实现(电子科技大学·兰伟)
- 基于J2EE的Web应用框架的研究与应用(武汉理工大学·于海霞)
- 基于J2EE的远程教育平台的开发与实现(吉林大学·葛瑛)
- 基于MVC架构的E-Learning网络课程管理系统(吉林大学·张心宇)
- 计算机基础系列课程网络CAI教学的研究与实践——现代远程教学系统基于Web的辅助教学平台(成都理工大学·袁爱新)
- 基于PHP+MySQL的交互学习系统的设计与实现(吉林大学·刘博)
- 网络教学平台的设计与实现(华南理工大学·周潜)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码客栈 ,原文地址:https://bishedaima.com/yuanma/35612.html