当前位置:首页 期刊杂志

基于S S H框架的课程资源共享平台的研究与实现

时间:2024-07-28

孔令美

(广东技术师范学院天河学院,广东 广州 510540)

1. 引言

作为爱学习的大学生缺的是什么?答案就是有效的课程学习资源。但是去图书馆借阅图书或利用搜索引擎查询资源的方式查询效率低下,且网上共享的资源不一定满足学习需求。课程资源共享平台是一个解决缺乏有效课程资源问题和提高课程学习效率的有效方法。因此,共享有效资源的同时,又能巩固原有的知识,从而大大提高学习效率。

2. 需求分析

系统涉及三个角色:游客、普通用户、审批管理员、超级管理员。每个角色在系统中具有不同的权限。

(1)游客的权限:搜索资源。

游客可以在平台中搜素并下载所需的课程资源,搜索时可以多条件精确地查询到所需的课程资源。

(2)普通用户的权限:上传资源管理。

普通用户在平台中除了能搜索下载课程资源之外,还可以对自己上传的资源进行增、改、查操作。

(3)审批管理员的权限:上传资源的审批。

审批管理员在平台中的主要职能是对已上传的资源进行审批。

(4)超级管理员的权限:角色管理、菜单管理、用户管理、资源分类管理、资源管理。

超级管理员在平台中可以对角色、菜单、用户、资源分类、资源进行增、删、改、查操作;拥有所有权限。

3. 系统设计与实现

为了系统开发以及后期维护更方便和明确,采用“大垂直,小水平”的方式进行项目分割。根据计划,将项目分为DAO、Service、Action层。其中DAO层负责数据库与JAVA的交互,Service层负责处理系统逻辑,Action负责系统的展示。

3.1 建立实体类

根据面向对象思想,建立实体类,实现实体关系,实体类贯穿整个项目。实体的具体定义如下:

(1) 用户模块

建立管理员类User,User对应数据库中的用户表table_user,其中定义 User类成员属性 userId、userName、password,分别对应字段user_id、user_name、password。对所有属性进行封装。

(2)资源模块

建立资源类Resource,Resource对应数据库中的资源表table_resource,其中定义Resource类成员属性resourceId、resourceName分别对应数据库中的字段resource_id、resource_name。封装所有属性。

(3)角色模块

建立角色类Role,Role对应数据库中的角色表table_role,其中定义 Role类成员属性 roleId、roleName、describes、parentId、parentMoudle、分别对应数据库中的字段role_id、role_name、describes、parent_id、parent_moudle。对所有属性进行封装。

(4)菜单模块

建立菜单类Function,Function对应数据库中的菜单表table_function,其中定义Function类成员属性menuId、menu-Name、menuParentId、functionLink分别对应数据库中的字段menu_id、menu_name、menu_parent_id、function_link。对所有属性进行封装。

(5)资源分类模块

建立格式类Format、性质类Kind、课程类Course,分别与Resource建立单向多对一关系。建立领域类Subject,与Course建立双向的一对多关系。建立子类型类SubType,与Format建立双向的一对多关系。建立类型类Type,与SubTy-pet建立双向的一对多关系。

3.2 DAO层的实现

利用Hibernate编写DAO层,实现JAVA与数据库的数据交互,供Service层调用。具体实现如下:

为每个模块建立DAO实现类,其中每个实现类都有对其对应的数据表进行增删改查的方法。表1列出了系统模块对应的实现类。

表1 系统模块对应的实现类

3.3 Service层、Action层及界面实现

利用之前编写的DAO层的接口,编写Service层,实现业务逻辑。Action层用于处理页面信息,根据不同的处理结果返回不同的页面到客户端。设计Action层,调用Service层方法进行逻辑处理,然后根据处理结果为客户端返回页面。最后对界面进行美化。

(1)实现前工作

在创建具体的Action时,应当先做一些准备工作。在WEB-INF文件夹下创建decorators.xml,在该XML文件中配置默认模板页。

(2)普通用户模块

个人信息管理用到了UserAction。UserAction中edit-Password、findUser4Login、edit4User方法,分别对应客户端提交的密码修改、个人信息查看、个人信息修改操作。个人资源管理用到了ResourceAction。UserAction中Upload、list-MyUpload、myUploadView()、reMyUpload()方法,分别对应客户端提交的我要上传、个人上传列表查看、个人上传资源明细、重新操作。

(3)审批管理员模块

上传审查用到了ResourceAction。ResourceAction中listCheck、preCheck、check方法,分别对应客户端提交的审批列表查询、进入审批页面、审批操作。可以通过点击“审批”链接请求调用preCheck和check方法实现对审批资源明细的查询和进行审批。

(4)超级管理员模块

① 角色管理

角色管理用到了RoleAction。RoleAction中add、edit、delete、list方法,分别对应客户端提交的添加、修改、删除、输出列表操作。

② 用户管理

用户管理用到了UserAction。UserAction中add、edit、delete、list方法,分别对应客户端提交的添加、修改、删除、输出列表操作。

③ 菜单管理

菜单管理用到了Menu Action。Menu Action中add、edit、delete、list方法,分别对应客户端提交的添加、修改、删除、输出列表操作

④ 资源分类的管理

资源分类管理用到了Property Condition Action、Content Condition Action、Format Condition Action中各自的add、edit、delete、list方法,分别对应客户端提交的添加、修改、删除、输出列表操作。

⑤ 资源的管理

资源分类管理用到了Resource Action中的add、edit、delete、list方法,分别对应客户端提交的添加、修改、删除、输出列表操作。

(5)资源搜索

用户在资源搜索栏中输入资源的关键字,单击搜索按键或者回车,提交表单到search.action,search.action将使用action包中的Resource Action类的实例进行处理。

4. 软件测试

本系统的测试为单元测试。该测试分为两种:一种是对单纯与数据库进行交互的功能模块的测试,另一种是内含业务逻辑处理的功能模块的测试。

与数据库进行交互的功能模块多达40个,占系统功能模块总数的90%。由于功能相似,在此将它们的测试用例进行汇总,如表2所示。

表2 与数据库进行交互的功能模块的测试用例汇总

3需删除的实体类对象原有的数据记录消失是4无输入数据返回对应的实体类列表是5数据删除方法(delete方法)返回数据列表(getXX XList方法)读取一条数据(loadX XXByI d方法)需读取的数据的ID返回该ID数据的实体类对象若输入的实体类的ID存在,原有的数据记录消失,否则删除失败。若数据库有该类数据,返回对应的实体类列表,否则返回空。若输入的ID存在,返回该ID数据的实体类对象,否则返回空。是

5. 总结

本文主要对课程资源共享平台的设计思路以及具体的实现方案作了一个详细的说明。在进行详细设计时,从一个宏观的角度,考虑某一功能模块设计会不会对其它的功能模块造成不良影响。本平台在设计时充分考虑到可扩展性,例如平台的菜单、用户的角色、资源的分类均可以进行管理。为平台的扩展提供了很大的空间。

[1]胡启敏.基于Spring框架的轻量级J2 EE架构与应用[D].南昌:江西师范大学,2010.

[2]韩冰峰.JavaEE Web应用系统的结构及性能研究[D].天津:南开大学,2009.

[3]杨磊.新手学Ja v a W e b开发[M].北京:北京希望电子出版社,2010.

[4]于东超.基于Struts2_Spring_Hibernate三种框架的通用W e b框架的研究及应用[D].大连:大连交通大学,2008.

[5]王益维.基于Struts2门户网站自动生成系统的设计与实现[D].武汉:华中师范大学,2009.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!