《教学资源共享系统》

教学资源共享系统

账户模块

一、登录功能

1)人机界面设计

 
   

登录功能前端页面设计遵循总体设计要求,用于收集登陆信息,右下角为信息提示区,以红色字体提示密码修改情况、登录验证情况,其具体设计情况如图6所示。

图6 登录功能人机交互界面

2)后端实现逻辑

由表示层的前端页面将数据提交到已配置好的Spring MVC控制器“/loginController”之中,而后由该控制器判断用户类型,在确定用户类型后,“/loginController”将会利用参数传值机制,将相应的登陆数据传给数据访问层的UserDao对象的判定方法。该对象方法将参数传值给相应的MyBatisPOJO类,而后利用其Session对象,执行“AccountMapper.xml”中所配置的SQL语句,对登录信息进行验证。而后判定方法会依据验证结论返回true或者false信息,而后“/loginController”控制器根据返回的信息进行页面跳转或是显示登录失败。

二、密码修改功能

1)人机界面设计

密码修改功能前端页面设计遵循总体设计要求,用于收集验证信息,右下角在验证错误时提示验证结果。系统在修改密码成功后返回登录页面,并在信息提示区提示密码修改情况,其具体设计情况如图7所示。

 
   

 

图7 修改密码功能人机交互界面

2)后端实现逻辑

本模块由表示层的前端页面将数据提交到已配置好的Spring MVC的控制器"/resetPWController"之中,进行与登录功能相同的判断逻辑,在确认用户信息正确时,将会调用UserDao对象的符合登录角色的”resetPassword()”方法,例如学生用户角色的” .resetStudentPassword()”方法。而后"/resetPWController"会给出返回"/index.jsp"的指令,系统回到登录界面。

三、注销功能

1)人机界面设计

 
   

注销功能前端页面设计如图8所示,以单一注销按钮形式存在,点击后即可注销,跳转回到登录页面。

图8 注销功能人机交互界面

2)后端实现逻辑

在登陆成功后,相应的页面Session的“hasXXXLogin”属性将会配置为“true”,前端JSP以此来判断用户登陆与否,故注销按钮所对应的“/logoutController”控制器会将该属性值配置为“null”,以此来达到注销用户登录信息的目的。

教师模块

1)人机界面设计

 
   

教师模块前端设计如图9所示,显示课程相关信息以及课件上传情况,完成总体设计。

图9 教师界面人机交互设计

2)后端实现逻辑

“loginController”确认登录信息正确后,将会调用“TCHClassesDAO”对象,该对象的“.getTchResult()”方法将依据传入的用户信息,从数据库中查询相关内容,汇总为“TCHResult”对象返回。在接受到返回对象后,“loginController”控制器会将“TCHResult”对象传递给发送给“teacher.jsp”,而后由“teacher.jsp”中包含的JAVA语句解析此对象,最终生成用户所看到的“teacher.jsp”教师页面。

在该页面上传文件时,会将文件以及相关课程信息提交到"/coursewareGetController"控制器,而后控制器将调用FileUploadService的ClassFileUploader方法,该方法会将所上传的课件重命名为课程ID,并且存于"ClassFile/"文件夹,而后该方法会调用UpdateClassDAO对象来更新数据库中的文件路径,以供将来调用。当用户未上传文件时,该方法会将文件路径置空,起到文件删除的作用。

页面JSP逻辑解析的“TCHResult”对象具体属性如图10所示。

 

图10 TCHResult对象属性图

学生模块

1人机界面设计

 
   

学生模块前端页面设计如图11所示,该页面用于展示当前学生修读课程信息,并提供课件下载功能。

图11 学生界面人机交互设计

2)后端实现逻辑

“loginController”确认登录信息正确后,将会调用“STUClassesDAO”对象,该对象的“.getStuResult()”方法将依据传入的用户信息,从数据库中查询相关内容,汇总为“STUResult”对象返回。“loginController”将“STUResult”对象传递给前端页面,由前端页面解析此对象,生成学生页面。页面JSP逻辑解析的“STUResult”对象具体属性如图12所示。

 

图12 STUResult对象属性图

管理员模块

一、管理面板

1)人机界面设计

 
   

管理员模块管理面板前端页面设计如图13所示,该页面以表格形式展示出当前学院组织架构,展示当前年份所有专业的情况信息,并展示出教师、学生、培养方案的上传情况。

图13 管理员界面人机交互设计

 

2)后端实现逻辑

“loginController”确认登录信息正确后,将会将本次回话的session对象的 “hasAdminLogin”属性置为“true”而后跳转到"/adminController","/adminController"优先判定本次回话的session对象的 “hasAdminLogin”属性值,为“true”才进行数据返回,否则跳转登录页面,以此来确保数据安全。"/adminController"在执行时,先调用“AdminDao”对象的“.getAdminBean()”方法,该方法将从数据库查询管理员模块应当包含的所有信息,将获取到的信息汇总为“Admin”对象,而后"/adminController"将“Admin”对象传递给前端页面"/admin.jsp",在该页面中,JSP“Admin”对象并解析,最终生成管理页面。

页面JSP逻辑解析的“Admin”对象具体属性如图14所示。

 

图14 Admin对象属性图

二、信息上传

1)人机界面设计

 
   

管理员模块信息上传部分前端页面设计如图15所示,提供当前管理项目类别信息展示、文件上传工具以及模板下载功能。

图15 管理员模块信息上传部分人机交互界面设计

2)后端实现逻辑

当用户单击管理面板中某项目的上传或者更新按钮时,前端页面会将包含相关信息的请求提交到"/adminUpdateController"控制器,该控制器将依据请求信息,生成不同的返回页面信息,发送到"/FileUploader.jsp",最终实现跳转,该页面将使用EL表达式的形式解析返回的信息元素。

信息上传页面会将获取到的文件与相关信息提交到"/adminUpdateFileController"控制器,该控制器将调用FileUploadService对象的AdminManageFileUploader方法,该方法首先将文件重命名后寄存在cache文件夹内,而该方法会对相关信息进行判断,调用相关角色的service对象,例如角色为教师,就会调用TeachersService,而后会调用该对象的insert方法,例如TeachersService的insertTeachers()方法,该方法会利用ApachePOI技术按照事先约定的格式,将EXCEL表中信息读取出来而后利用UpdaterDAO(如UpdateTeacherDAO)对象来更新数据库中的信息。

执行完上述步骤后"/adminUpdateFileController"将会跳转至"/admin.jsp"页面。经过原有逻辑处理后,"/admin.jsp"页面展示出当前数据库中的相关信息。

 

知识共享许可协议
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。

posted @ 2020-09-26 22:38  WSX_STEVEN  阅读(323)  评论(0编辑  收藏  举报