APP下载

基于Spring MVC和HighCharts的通用问卷系统的研究

2014-07-28李森

电脑知识与技术 2014年16期
关键词:调查问卷

李森

摘要:该文提出了一种通用的网络问卷系统的设计与实现方法,并提供了两种在任意页面中引入问卷的方法,可以为有类似需求的企事业单位参考和借鉴。

关键词: Spring MVC;HighCharts;调查问卷;网上投票

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)16-3729-03

问卷调查是收集人们意见、想法的一种重要手段,也是科学研究中的一种重要方法。无论是商家、政府还是企事业单位,都会在使用调查问卷的方式来了解、收集民意。随着信息化和网络的发展,网上调查问卷意见成为调查问卷的一种重要形式,网上调查问卷的实现方式和技术有多种选择,该文研究了一种基于Spring MVC与HighCharts的、通用的、功能完备的调查系统,并进行设计与实现。

1 系统的设计与实现

1.1 系统功能设计

通用问卷系统的功能分为管理员用户进行问卷管理和一般用户(被问卷调查者)投票两部分,主要功能如下:

1.1.1管理员用户

1)用户管理:管理员用户及权限的管理

2)问卷主题管理:问卷列表查看、删除添加问卷、发布与终止问卷等管理。

3)问卷主题修改与添加:根据用户事先设置的问卷主题和该主题的子投票,录入问卷主题和描述,设置问卷开始和终止日期,并根据需要添加若干属于该主题的子投票,然后分别添加每个子投票的投票选项、设置子投票的投票类型(单选、多选),并保存子投票和问卷主题等功能。

4)问卷结果查看:查看任意问卷的当前投票结果、状态(未开始、进行中或已终止)、投票总人数、每个选项的投票情况、用户来源与IP分析等,以图文的形式予以直观显示。

1.1.2 一般用户(被问卷调查者)

1)查看投票主题:查看投票主题和投票选项。

2)用户投票:根据问卷主题设置的子投票类型和投票策略,进行投票和投票结果查看。

3)浏览问卷列表查看问卷结果:依据管理员用户的设置,查看允许浏览的所有问卷,并查看问卷结果。

1.2 系统框架结构

本系统的研发采用Java技术,使用基于MVC模型的多层架构,对应的各层分别采用Spring MVC、Spring和Hibernate实现,页面视图采用JSP,问卷调查的结果采用HighCharts图表系统进行呈现,其中HighCharts采用JavaScript和SVG技术,支持IE、Firefox、Chrome等浏览器。

管理员用户首先要添加一个问卷主题,并根据需要对问卷主题设置各种参数,然后发布问卷主题。用户通过浏览器可以查看该问卷,并进行投票和投票结果的查询。一次完整的交互流程是:用户通过浏览器发送一个请求到Spring MVC的DispatcherServlet,然后通过匹配RequestMapping,再将该请求转到具体的Controller,调用由Spring管理的业务逻辑类,通过Hibernate读取数据库,将数据读取结果通过业务逻辑类返回到Controller控制器中,然后选择相应的视图返回到浏览器,通过浏览器的解析用户就可以看到服务器的返回结果,即完成一次交互。

1.3 数据库设计

依据1.1中的功能设计,进行数据库表的设计,主要的核心数据库表有:用户信息表(承载用户帐户、密码等)、系统权限信息表(承载所有的系统权限)、角色信息表(承载系统管理员角色、不同的角色具有不同的权限)、用户角色信息表(承载用户具有的角色信息)、角色权限信息表(承载角色具备的权限信息),这些数据库表主要用来进行问卷系统的用户、角色和权限管理,保证系统的安全性;问卷主题信息表(可以包含多个子投票)、子投票信息表(属于某一个问卷主题)、投票选项表(承载某个子投票具体的选项信息),这些数据库表主要存储问卷系统的主题信息;投票者信息表主要承载投票者的具体信息,用于进行投票者信息的分析。核心数据库表的表结构如表1至表3所示。

1.4 主要功能模块的设计与实现

1.4.1 用户及权限管理模块

该模块主要实现系统权限、用户角色和用户的添加、修改、删除、定义与管理等操作,是系统安全性的重要保障。本系统实现了权限的动态添加,用户角色的自定义和用户角色分配与管理,权限、角色与用户信息保持在数据库中,安全可靠。

1.4.2 问卷系统的后台管理模块

该模块主要实现问卷主题的动态添加与修改,问卷主题可以包含一个或多个子调查,每个子调查可以有任意多个投票选项,实现效果如图2所示。问卷主题可以设置开始和介绍日期,设置之后在日期限定的范围之外,该问卷系统将不能进行投票;可以图1单击右下角的添加子投票按钮为该问卷主题添加一个新的子投票,新添加的子投票可以设置投票类型,如多选、单选,还可以动态的增加或删除投票选项。

管理员还可以查看投票者及投票结果的统计分析信息,从而为更深层次的数据挖掘打下数据基础。

1.4.3 前台投票及结果查看

调查问卷页面根据管理员添加的问卷主题及子投票生成问卷页面,用户使用浏览器浏览调查问卷时,可以进行投票,投票结束可以查看投票结果,投票结果以图表的形式自动生成,简单明了,如图2所示。

图2的当前显示效果是柱图,还有饼图和表格另外两种展示方式。

1.4.4 将投票引入任意页面

本问卷调查系统为了方便其他用户使用,可以通过iframe和JavaScript两种方式调用。

使用JavaScript引入问卷主题的方法是在需要显示投票主题的任意页面位置使用如下JavaScript:

其中“localhost”为投票系统运行的主机,“vote”为部署的应用名,“1001.js”中的1001为问卷主题的id,该JavaScript会自动生成问卷主题的页面内容。

使用iframe的方式和JavaScript类似,只是将引入的script标签换为iframe:

注意src中的引入的页面为“1001.jsp”,同样的1001为问卷的id。

2 结束语

本文采用Spring MVC和HighCharts技术,提出了一种通用的、具有极大灵活性、可以动态添加子投票和投票选项的问卷调查系统的设计与实现,并提供了在任意页面中调用问卷主题的方法,为用户类似需求提供了一个可以借鉴的一站式解决方案。

参考文献:

[1]陈望挺,林满足.基于 JSP 和 Android 的 C/S 结构问卷系统[J].计算机应用,2013,33(3):886-889 .

[2] 张骅.基于UML 的在线政策研究问卷系统的设计与实现[J].科技信息,2011(7) :9-21 .

[3] 易锋,徐殿军.基于ASP.N E T控件的网络问卷自动生成系统的设计与实现[J].计算机应用与软件,2008(11).endprint

摘要:该文提出了一种通用的网络问卷系统的设计与实现方法,并提供了两种在任意页面中引入问卷的方法,可以为有类似需求的企事业单位参考和借鉴。

关键词: Spring MVC;HighCharts;调查问卷;网上投票

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)16-3729-03

问卷调查是收集人们意见、想法的一种重要手段,也是科学研究中的一种重要方法。无论是商家、政府还是企事业单位,都会在使用调查问卷的方式来了解、收集民意。随着信息化和网络的发展,网上调查问卷意见成为调查问卷的一种重要形式,网上调查问卷的实现方式和技术有多种选择,该文研究了一种基于Spring MVC与HighCharts的、通用的、功能完备的调查系统,并进行设计与实现。

1 系统的设计与实现

1.1 系统功能设计

通用问卷系统的功能分为管理员用户进行问卷管理和一般用户(被问卷调查者)投票两部分,主要功能如下:

1.1.1管理员用户

1)用户管理:管理员用户及权限的管理

2)问卷主题管理:问卷列表查看、删除添加问卷、发布与终止问卷等管理。

3)问卷主题修改与添加:根据用户事先设置的问卷主题和该主题的子投票,录入问卷主题和描述,设置问卷开始和终止日期,并根据需要添加若干属于该主题的子投票,然后分别添加每个子投票的投票选项、设置子投票的投票类型(单选、多选),并保存子投票和问卷主题等功能。

4)问卷结果查看:查看任意问卷的当前投票结果、状态(未开始、进行中或已终止)、投票总人数、每个选项的投票情况、用户来源与IP分析等,以图文的形式予以直观显示。

1.1.2 一般用户(被问卷调查者)

1)查看投票主题:查看投票主题和投票选项。

2)用户投票:根据问卷主题设置的子投票类型和投票策略,进行投票和投票结果查看。

3)浏览问卷列表查看问卷结果:依据管理员用户的设置,查看允许浏览的所有问卷,并查看问卷结果。

1.2 系统框架结构

本系统的研发采用Java技术,使用基于MVC模型的多层架构,对应的各层分别采用Spring MVC、Spring和Hibernate实现,页面视图采用JSP,问卷调查的结果采用HighCharts图表系统进行呈现,其中HighCharts采用JavaScript和SVG技术,支持IE、Firefox、Chrome等浏览器。

管理员用户首先要添加一个问卷主题,并根据需要对问卷主题设置各种参数,然后发布问卷主题。用户通过浏览器可以查看该问卷,并进行投票和投票结果的查询。一次完整的交互流程是:用户通过浏览器发送一个请求到Spring MVC的DispatcherServlet,然后通过匹配RequestMapping,再将该请求转到具体的Controller,调用由Spring管理的业务逻辑类,通过Hibernate读取数据库,将数据读取结果通过业务逻辑类返回到Controller控制器中,然后选择相应的视图返回到浏览器,通过浏览器的解析用户就可以看到服务器的返回结果,即完成一次交互。

1.3 数据库设计

依据1.1中的功能设计,进行数据库表的设计,主要的核心数据库表有:用户信息表(承载用户帐户、密码等)、系统权限信息表(承载所有的系统权限)、角色信息表(承载系统管理员角色、不同的角色具有不同的权限)、用户角色信息表(承载用户具有的角色信息)、角色权限信息表(承载角色具备的权限信息),这些数据库表主要用来进行问卷系统的用户、角色和权限管理,保证系统的安全性;问卷主题信息表(可以包含多个子投票)、子投票信息表(属于某一个问卷主题)、投票选项表(承载某个子投票具体的选项信息),这些数据库表主要存储问卷系统的主题信息;投票者信息表主要承载投票者的具体信息,用于进行投票者信息的分析。核心数据库表的表结构如表1至表3所示。

1.4 主要功能模块的设计与实现

1.4.1 用户及权限管理模块

该模块主要实现系统权限、用户角色和用户的添加、修改、删除、定义与管理等操作,是系统安全性的重要保障。本系统实现了权限的动态添加,用户角色的自定义和用户角色分配与管理,权限、角色与用户信息保持在数据库中,安全可靠。

1.4.2 问卷系统的后台管理模块

该模块主要实现问卷主题的动态添加与修改,问卷主题可以包含一个或多个子调查,每个子调查可以有任意多个投票选项,实现效果如图2所示。问卷主题可以设置开始和介绍日期,设置之后在日期限定的范围之外,该问卷系统将不能进行投票;可以图1单击右下角的添加子投票按钮为该问卷主题添加一个新的子投票,新添加的子投票可以设置投票类型,如多选、单选,还可以动态的增加或删除投票选项。

管理员还可以查看投票者及投票结果的统计分析信息,从而为更深层次的数据挖掘打下数据基础。

1.4.3 前台投票及结果查看

调查问卷页面根据管理员添加的问卷主题及子投票生成问卷页面,用户使用浏览器浏览调查问卷时,可以进行投票,投票结束可以查看投票结果,投票结果以图表的形式自动生成,简单明了,如图2所示。

图2的当前显示效果是柱图,还有饼图和表格另外两种展示方式。

1.4.4 将投票引入任意页面

本问卷调查系统为了方便其他用户使用,可以通过iframe和JavaScript两种方式调用。

使用JavaScript引入问卷主题的方法是在需要显示投票主题的任意页面位置使用如下JavaScript:

其中“localhost”为投票系统运行的主机,“vote”为部署的应用名,“1001.js”中的1001为问卷主题的id,该JavaScript会自动生成问卷主题的页面内容。

使用iframe的方式和JavaScript类似,只是将引入的script标签换为iframe:

注意src中的引入的页面为“1001.jsp”,同样的1001为问卷的id。

2 结束语

本文采用Spring MVC和HighCharts技术,提出了一种通用的、具有极大灵活性、可以动态添加子投票和投票选项的问卷调查系统的设计与实现,并提供了在任意页面中调用问卷主题的方法,为用户类似需求提供了一个可以借鉴的一站式解决方案。

参考文献:

[1]陈望挺,林满足.基于 JSP 和 Android 的 C/S 结构问卷系统[J].计算机应用,2013,33(3):886-889 .

[2] 张骅.基于UML 的在线政策研究问卷系统的设计与实现[J].科技信息,2011(7) :9-21 .

[3] 易锋,徐殿军.基于ASP.N E T控件的网络问卷自动生成系统的设计与实现[J].计算机应用与软件,2008(11).endprint

摘要:该文提出了一种通用的网络问卷系统的设计与实现方法,并提供了两种在任意页面中引入问卷的方法,可以为有类似需求的企事业单位参考和借鉴。

关键词: Spring MVC;HighCharts;调查问卷;网上投票

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)16-3729-03

问卷调查是收集人们意见、想法的一种重要手段,也是科学研究中的一种重要方法。无论是商家、政府还是企事业单位,都会在使用调查问卷的方式来了解、收集民意。随着信息化和网络的发展,网上调查问卷意见成为调查问卷的一种重要形式,网上调查问卷的实现方式和技术有多种选择,该文研究了一种基于Spring MVC与HighCharts的、通用的、功能完备的调查系统,并进行设计与实现。

1 系统的设计与实现

1.1 系统功能设计

通用问卷系统的功能分为管理员用户进行问卷管理和一般用户(被问卷调查者)投票两部分,主要功能如下:

1.1.1管理员用户

1)用户管理:管理员用户及权限的管理

2)问卷主题管理:问卷列表查看、删除添加问卷、发布与终止问卷等管理。

3)问卷主题修改与添加:根据用户事先设置的问卷主题和该主题的子投票,录入问卷主题和描述,设置问卷开始和终止日期,并根据需要添加若干属于该主题的子投票,然后分别添加每个子投票的投票选项、设置子投票的投票类型(单选、多选),并保存子投票和问卷主题等功能。

4)问卷结果查看:查看任意问卷的当前投票结果、状态(未开始、进行中或已终止)、投票总人数、每个选项的投票情况、用户来源与IP分析等,以图文的形式予以直观显示。

1.1.2 一般用户(被问卷调查者)

1)查看投票主题:查看投票主题和投票选项。

2)用户投票:根据问卷主题设置的子投票类型和投票策略,进行投票和投票结果查看。

3)浏览问卷列表查看问卷结果:依据管理员用户的设置,查看允许浏览的所有问卷,并查看问卷结果。

1.2 系统框架结构

本系统的研发采用Java技术,使用基于MVC模型的多层架构,对应的各层分别采用Spring MVC、Spring和Hibernate实现,页面视图采用JSP,问卷调查的结果采用HighCharts图表系统进行呈现,其中HighCharts采用JavaScript和SVG技术,支持IE、Firefox、Chrome等浏览器。

管理员用户首先要添加一个问卷主题,并根据需要对问卷主题设置各种参数,然后发布问卷主题。用户通过浏览器可以查看该问卷,并进行投票和投票结果的查询。一次完整的交互流程是:用户通过浏览器发送一个请求到Spring MVC的DispatcherServlet,然后通过匹配RequestMapping,再将该请求转到具体的Controller,调用由Spring管理的业务逻辑类,通过Hibernate读取数据库,将数据读取结果通过业务逻辑类返回到Controller控制器中,然后选择相应的视图返回到浏览器,通过浏览器的解析用户就可以看到服务器的返回结果,即完成一次交互。

1.3 数据库设计

依据1.1中的功能设计,进行数据库表的设计,主要的核心数据库表有:用户信息表(承载用户帐户、密码等)、系统权限信息表(承载所有的系统权限)、角色信息表(承载系统管理员角色、不同的角色具有不同的权限)、用户角色信息表(承载用户具有的角色信息)、角色权限信息表(承载角色具备的权限信息),这些数据库表主要用来进行问卷系统的用户、角色和权限管理,保证系统的安全性;问卷主题信息表(可以包含多个子投票)、子投票信息表(属于某一个问卷主题)、投票选项表(承载某个子投票具体的选项信息),这些数据库表主要存储问卷系统的主题信息;投票者信息表主要承载投票者的具体信息,用于进行投票者信息的分析。核心数据库表的表结构如表1至表3所示。

1.4 主要功能模块的设计与实现

1.4.1 用户及权限管理模块

该模块主要实现系统权限、用户角色和用户的添加、修改、删除、定义与管理等操作,是系统安全性的重要保障。本系统实现了权限的动态添加,用户角色的自定义和用户角色分配与管理,权限、角色与用户信息保持在数据库中,安全可靠。

1.4.2 问卷系统的后台管理模块

该模块主要实现问卷主题的动态添加与修改,问卷主题可以包含一个或多个子调查,每个子调查可以有任意多个投票选项,实现效果如图2所示。问卷主题可以设置开始和介绍日期,设置之后在日期限定的范围之外,该问卷系统将不能进行投票;可以图1单击右下角的添加子投票按钮为该问卷主题添加一个新的子投票,新添加的子投票可以设置投票类型,如多选、单选,还可以动态的增加或删除投票选项。

管理员还可以查看投票者及投票结果的统计分析信息,从而为更深层次的数据挖掘打下数据基础。

1.4.3 前台投票及结果查看

调查问卷页面根据管理员添加的问卷主题及子投票生成问卷页面,用户使用浏览器浏览调查问卷时,可以进行投票,投票结束可以查看投票结果,投票结果以图表的形式自动生成,简单明了,如图2所示。

图2的当前显示效果是柱图,还有饼图和表格另外两种展示方式。

1.4.4 将投票引入任意页面

本问卷调查系统为了方便其他用户使用,可以通过iframe和JavaScript两种方式调用。

使用JavaScript引入问卷主题的方法是在需要显示投票主题的任意页面位置使用如下JavaScript:

其中“localhost”为投票系统运行的主机,“vote”为部署的应用名,“1001.js”中的1001为问卷主题的id,该JavaScript会自动生成问卷主题的页面内容。

使用iframe的方式和JavaScript类似,只是将引入的script标签换为iframe:

注意src中的引入的页面为“1001.jsp”,同样的1001为问卷的id。

2 结束语

本文采用Spring MVC和HighCharts技术,提出了一种通用的、具有极大灵活性、可以动态添加子投票和投票选项的问卷调查系统的设计与实现,并提供了在任意页面中调用问卷主题的方法,为用户类似需求提供了一个可以借鉴的一站式解决方案。

参考文献:

[1]陈望挺,林满足.基于 JSP 和 Android 的 C/S 结构问卷系统[J].计算机应用,2013,33(3):886-889 .

[2] 张骅.基于UML 的在线政策研究问卷系统的设计与实现[J].科技信息,2011(7) :9-21 .

[3] 易锋,徐殿军.基于ASP.N E T控件的网络问卷自动生成系统的设计与实现[J].计算机应用与软件,2008(11).endprint

猜你喜欢

调查问卷
大学生手机成瘾与人格特质分析
微信订阅服务中信息过载的调查与防控机制研究
高职高专学生逃课现状、原因及对策分析
《道路勘测设计》课程设计教学改革研究