基于Struts2和Spring的高校在线答疑系统的设计与实现

2015-04-16 01:30马琰
电脑与电信 2015年9期
关键词:页面数据库用户

马琰

(无锡工艺职业技术学院,江苏 无锡 214200)

1 引言

近年来,随着我国教育事业的不断发展,高校的在校生规模日益增大,学生人数和老师人数日益增多,加之上课地点经常变动等原因,师生之间的答疑工作难以展开。传统的答疑方式有如下缺点:

(1)答疑的时间地点不好确定。

(2)学生在学习过程中有了新的问题无法及时向老师提出。

(3)由于授课教室不固定,学生课余时间集中在一起的时间较少,相互间的交流和讨论机会不多。

(4)老师和学生交流少,导致老师不了解学生对知识点的掌握程度。

为了弥补以上不足,提高答疑工作的及时性和便捷性,增加师生之间和同学之间的互动,开发基于B/S的在线答疑系统很有必要。

2 系统设计

经过详细的需求分析和可行性分析后,本系统的基本功能需求已基本掌握,系统的目标功能和功能结构如下:

2.1 系统目标

(1)实现需求分析阶段提出的所有功能。

(2)系统界面要清晰友好,方便用户使用。

(3)对用户权限能进行控制,学生用户和老师用户的权限和功能不同。

(4)老师用户的管理页面有未回答和未处理申请的个数提示。

2.2 系统结构图

根据系统分析,该系统的功能结构如图1所示。

图1 系统结构图

3 构建开发环境

3.1 软件环境

JDK:JDK 8.0.510.16版本是目前功能最全、最稳定的版本。

Web应用服务器:Tomcat 7.0服务器是目前版本最新、功能强大、方便易用,适应于中小型系统的开发服务器。

数据库:MySQL 5.6.24数据库是目前小型应用开发中比较流行的数据库,且其从5.0版本开始支持事务,保证了数据的完整性与安全性。

控制层:Struts 2.3.16版本框架是基于WebWork框架实现的。

业务层:Spring 4.1.1版本采用优秀的JavaEE开源框架,其提供的控制反转及面向方面的编程插件式架构降低了应用组件之间的依懒性。

3.2 设计过程中的注意点

Struts2和Spring的集成:将Struts2的Action作为Spring当中的受管Bean,通过依赖注入将完成业务功能的Bean注入到Action中,使得Action很容易访问到完成业务的Bean。

Struts2拦截器的使用:根据系统设计,本系统中,没有登录的用户是不允许进入系统的,如果在每一个Action中增加判断用户是否登录,显然代码过于冗长重复,而利用Struts2的拦截器就可以很好地实现这一点。

4 数据库设计

确定好系统需要开发的功能后,进行数据库设计,分析系统的各个实体之间的关系,做好数据库设计对后期开发有着很重要作用。

高校在线答疑系统的数据库规模并不是很大,所以选用MySQL数据库,该数据库为免费开源产品,可以直接从网上下载得到,可以大幅度减少系统开发的成本。高校在线答疑系统是学生和老师之间对问题的提出与解答的桥梁,所以该系统的实体主要包括:用户、提问信息、回答信息、课程和申请信息等,下面将依次介绍各个实体的E-R图。

用户的E-R图主要包括用户的编号、用户名、用户密码以及E-mail等信息,具体如图2所示。

图2 用户E-R图

课程实体主要包括课程的编号、名称及描述等信息,其E-R图如图3所示。

图3 课程E-R图

提问信息实体主要包括提问编号、提问人ID、回复标题及内容等信息,其E-R图如图4所示。

图4 提问信息E-R图

回复信息实体主要包括所回复提问编号、回复标题和内容等信息,其E-R图如图5所示。

图5 回复信息E-R图

实体之间存在一定的关系,如一个老师可以授课n门课程,一门课程可以被n名学生学习,具体关系如图6所示。

图6 实体关系图

5 系统实现

对于高校在线答疑系统来说,仅能够浏览和查看是远远不够的,还需要用户能参与到其中,如提出问题和回复问题,这是本系统的难点与重点,下面介绍参与答疑功能的实现。

5.1 提出新问题

大学生在学习过程中遇到新的问题,可以在相应课程页面中提出,发布出来让大家讨论或者让老师解答,在提问列表和提问详情页面均有提出新问题的按钮。进入“发起提问”页面,先要得到该学生的课程列表,供学生选择在哪个课程中进行提问,具体核心代码如下所示:

上述代码仅提供课程列表的getter方法,在该方法中得到登录用户的ID,并根据该用户ID拼出搜索该学生课程的SQL语句,然后调用数据库查询方法得到结果并返回,该数据库方法核心代码如下:

单击“发起问题”按钮进入“提出新问题”页面,在“选择课程”下拉列表框中只有该用户的课程了,用户通过选择对应的提问课程,填写标题和提问内容就可以进行发表了,下面是实现发表功能的核心代码:

5.2 回复提问

当学生用户浏览提问时,碰到自己会的问题也可参与讨论,老师登录进来后可以参与回答。在每个“提问详情”页面中都有“我要回答”按钮,单击会跳到页面底部的回答问题的表单。填写回答内容后提交执行相应的Action,实现回复提问的核心代码如下:

Sql=“insert into DY_Revert(TID,UID,RTitle,RContent,RDate)

Valuse(’”+tid+”’,’”+uid+”’,’”+bt+”’,’”+nr+”’,now())”;

6 结束语

目前我国许多高等院校的教学过程中面临着师生间答疑工作难以开展的难题,本文设计的基于Struts2和Spring的高校在线答疑系统使得此类答疑工作的信息化成为可能,有助于提高高校教育教学工作水平,具有一定的现实价值和研究意义。

[1]王华东,李影洁.在线答疑系统的设计与实现[J].电脑知识与技术,2005,(35).

[2]张献,徐政权.在线答疑系统的设计与应用[J].软件导刊,2012,(02).

[3]赵娜.会计电算化精品课程在线答疑系统的设计与实现[J].昆明冶金高等专科学校学报,2010,(05).

[4]黄宏博.远程网络教学平台下在线答疑系统的分析与设计[J].无线互联科技,2013,(06).

[5]韩利凯,雷伟军,马国峻.基于WEB的毕业设计指导系统的设计与实现[J].价值工程,2011,(20).

猜你喜欢
页面数据库用户
刷新生活的页面
数据库
关注用户
关注用户
数据库
关注用户
数据库
数据库
如何获取一亿海外用户
Web安全问答(3)