基于web网上问卷调查系统的设计与实现
基于w e b 网上问卷调查系统的设计与实现
摘 要
21世纪是一个以网络为核心的信息时代,计算机技术、网络技术已经渗透到政府、学校,企事业单位的日常工作中。随着社会的发展, 很多行业需要掌握大量的信息来了解特定的用户需求, 传统的做法是组织大量的人力物力对用户散发调查表, 然后对收集的信息进行统计并得到想要的结果. 但这种传统的做法浪费大, 效率低, 周期长. 为了改变这一现象, 必须用一种现代化的技术来改变这种现状,它应该能够方便的获取大量的数据,并且能对数据进行分析,因此最近几年基于Web 的网上调查系统开始占据问卷调查的主导地位。对于学校来说也存在这样的现状,随着大学人数的增多,老师与同学相互沟通很难,因而我设计了一个关于教学管理的网上问卷调查系统, 希望能够给大家带来方便。
本在线调查系统采用模块化面向对象设计思想,采用Java 与Jsp 技术。具体采用J2EE 编程思想,用到了Hibernate 等框架具有以下的功能:开始调查、填写调查、查看调查填写进展、结束调查、审核调查、查看调查等功能,大大提高了教学的效率通过数据库可以永久的保存调查的结果,为以后调查提供参考。
通过这样一个调查系统,它不受时间的限制,可以采取匿名的方式接受调查,学生更能反映真实的想法和意见。可以有针对性的对问卷内容做适当的处理,总结学生容易遇到的问题。利用计算机的运算能力,可以为我们进行大量的数据分析,并且能及时的将学生反映的问题提供给老师和教学部门,教学部门针对学生的要求而将教学方式进一步改进,大大提高了教学质量和教学效率。同时使无纸化办公离我们不在遥远。
关键词:问卷调查系统;数据处理;hibernate 持久化;java
Abstract
The 21st was one take the network as the information age, the computer technology, the networking already seeped to the government, the school, in Enterprises and institution’s routine work. Along with society's development, many professions need to have the massive information to understand that the specific user's needs, the tradition makes the law is the organization massive manpower and resources to the user sending out survey form, then carries on to the collection information counts and obtains the wish result. But this tradition makes the law to waste in a big way, the efficiency is low, the cycle is long. In order to change this phenomenon, also has such present situation regarding the school, along with university population's increase, teacher and schoolmate communicates mutually is very difficult, thus I have designed one about the teaching management on-line questionnaire survey system, hoped that can give everybody to bring conveniently.
This online investigation system uses the modulation object-oriented design concept, uses Java and the Jsp technology. Uses the J2EE programming thought specifically, with frames and so on Hibernate had the following function: Started to investigate, the filling in investigation, examination investigation filling to progress, functions and so on conclusion investigation, verification investigation, examination investigation, raised the teaching efficiency greatly. Through the database may the permanent preserved investigation result, provide the reference for the later investigation.
Through this kind of investigation system, it the time limit, may not adopt the anonymous way to accept the investigation, the student can reflect the real idea and the opinion. May target-oriented make suitable coming out to the questionnaire content, summarizes question which the student easy to meet. Using computer's operational capability, may carry on the massive data analysis for us, and can prompt reflect the student the question provides to teacher and the teaching department, the teaching department in view of student's request, but further improves the teaching way, improved
the quality of teaching and the teaching efficiency greatly. Simultaneously causes the paperless work to leave us remotely not.
Key words: Questionnaire survey system; Data processing; hibernate lasting; java
目 录
引 言 ................................................................................................................................... 1
第一章 网上问卷调查技术与发展简介 . ......................................................................... 3
1.1问卷调查的特点 . ......................................................................................................... 3
1.2网上问卷调查的特点 . ................................................................................................. 4
1.3网上问卷的基本解决方案 . ......................................................................................... 4
1.3 Struts概述 ................................................................................................................... 4
第二章 开发工具及系统架构简介 ..................................................................................... 6
1.1 编程语言简介 . ............................................................................................................ 6
1.2 J2EE 平台简介 ......................................................................................................... 6
1.3 数据库简介 . ................................................................................................................ 7
第三章 系统分析与设计 ..................................................................................................... 9
3.1系统需求分析 . ............................................................................................................. 9
3.2系统结构总框架设计 . ................................................................................................. 9
3.2系统结构流程设计 . ................................................................................................... 11
3.3数据库设计 . ............................................................................................................... 11
3.4系统安全性能 . ........................................................................................................... 14
第4章 系统的具体实现 ................................................................................................... 16
4.1 登录的实现以admin 身份登录 . .............................................................................. 16
4.2. 调查管理模块的设计 . ............................................................................................. 17
4.3 调查搜索模块面 . ...................................................................................................... 19
4.4 老师管理模块 . .......................................................................................................... 21
4.4.1 增加老师部分 .................................................................................................... 21
4.4.2 查看老师列表部分 ............................................................................................ 21
4.5 课程管理模块 . .......................................................................................................... 22
4.5.1 增加课程部分 .................................................................................................... 22
4.5.2 课程列表部分 .................................................................................................... 22
4.6 班级管理模块 . .......................................................................................................... 24
4.6.1 增加班级部分 .................................................................................................... 24
4.6.2 班级列表部分 .................................................................................................... 24
4.7问卷调查部分 . ........................................................................................................... 25
结 论 ................................................................................................................................. 27
参考文献 ............................................................................................................................. 28
谢 辞 ................................................................................................................................. 29
引 言
自上世纪九十年代初以来,随着全球范围内先进电子元器件技术的不断发展和软件产业的崛起,电子计算机技术得到了飞速发展,尤其是在上世纪末,网络技术以惊人的速度发展,使得信息传送的速度和容量以指数级别提升,人类迎来了“信息爆炸”的时代。计算机技术和网络技术对人类的生产、生活方式和思维方式产生了巨大变化,先进的数字化工具和强大的网络系统,使人们可以方便、快捷地获得信息、共享信息和处理信息。
古老的方式已经赶不上社会的需求,人工问卷调查已经不能满足需要。迫使人们需求一种更加高效的方式来捕获所需要的信息。网络的发展给问卷调查带来了解决的方式,不同的行业可以更有针对性的去选择自己想要的信息,从而做出对应的措施。
本系统是内蒙古工业大学随着学校人数不断增多,规模不断变大,以至于给人工问卷考核带来严重的不便,无法将学生反映的信息及时反映给授课教师,无法让老师及时根据学员的需求而将教学方式进行调整,而且这种考核效率很差,浪费了大量的人力资源和物质,以至于教学质量逐渐下降,学校开支增多,使学校面临很大的难题。为了解决这种现象,需要开发一套基于web 的在线问卷考察调查系统,来适应当前社会信息的及时性和实时性。它不仅节约了各种人力物力资源,使学校进入了无纸化办公的时代,适应了现代化办公的需求,而且还能及时将学生反映的信息及时反映给授课教师,提高了教学质量。本系统采用Sun 公司J2EE 企业级编程模式,采用可视化的编程环境,简单易懂的编程语言,成熟的各种框架,用较少的代码可以实现大量繁琐复杂的问题的功能,本系统采用现在流行的Struts 与Hibernate 框架,不仅易于上手,而且扩展性也好,下面本系统的主要内容。
基于web 的网上问卷调查系统就是政府,企业或学校不同的需要所设计的,因为j2ee 的扩展性,可以根据不同的需求很少的改动就能完成系统的功能。所以本系统是根据学校的工作特点而设计的反应学生与教师之间相互了解的应用软件系统。
早期的学校问卷调查只能是学生以纸面的形式交给老师,当老师要想充分了解学生反应的情况要花费很大的精力。而且要想全面的了解每一个同学的情况,就要求学生相对集中。因此增加了调查的时间和周期性。随着现代科技的发展,互联网给人们带来了很多的便利,因此我们可以利用它来为我们服务。基于web 的网上问卷调查系统能有力的解决上述的问题。同时他的可扩展性能适应需求的改变
该系统提供了教师授课当中存在的问题以及同学对课程理解的程度,有利于老师
及时的改正自己教学当中不合理的地方,减少古老的问卷调查的人力物力的开支,同时提供相当的灵活性,并且有很好的系统扩展能力、信息共享能力。力求做到投资少,见效快,使学校的整个网络系统充分发挥作用。
设计一个基于WEB 的网上问卷调查系统,要求支持单选、多选、自定义文本、以及多题型交叉等类型的问题,能够防止同一IP 重复提交,并能设置问卷开始以及结束日期,问卷提交后,能够对问卷结果进行统计分析, 本系统根据上面的介绍具体实现了一个web 网上学生问卷调查并希望达到以下功能模块:
用户登录注册:不同的角色可以相应的注册到不同权限的用户,会看到相对应的界面和信息。具有不同的权限
用户个人服务模块:进入系统后,通过相对应的权限可以得到不同的个人模块。老师具有查看调查的结果,修改自己的密码对服务,管理员具有增减班级,增加调查,开始和结束调查等功能。
课程信息发布模块:可以及时的发布课程,让学生及时的了解 。
新闻信息发布模块:可以发布相关的调查信息,了解学生的情况。
教师管理模块:教师可查看对应自己的课程调查结果,及时了解学生的学习情况。
第一章 网上问卷调查技术与发展简介
随着计算机技术的飞速发展,利用计算机来获取和处理信息是当今信息管理的一大特点。基于web 系统作为最普遍最实用的系统,其管理现代化、信息化,对整个社会起着巨大的推动作用。
早期的问卷调查很不方便,需要大量的人力和财力,而却只能在相对局部的的区域里,对于不同的调查相对的人群也会有变化,针对性不强,因为数据量很大,信息的提取比较复杂,所以以前的问卷调查很少,只有发现了问题之后,才能知道问题的原因。当今的社会已经是一个信息时代,只有在第一时间获得有效的信息,才能在社会上立足。
网上问卷调查系统正好弥补了这个缺陷,网上问卷调查现在已经成为了解社会状况的一种有效的方式,你只要在网上搜索调查,会有成万的相关记录,企业能及时的了解客户的需求,也能得到产品的优点和缺点,及时的了解信息,及时的处理问题是现在社会竞争中胜出的条件。
1.1问卷调查的特点
问卷调查对象是经过思考之后才对问卷做出反应的。这有助于获得真实、准确的资料。但是,往往由于受试者发现了某些属于敏感性的问题而加以回避,从而拒答或回答不真实。这就会造成问卷回收率下降,或者资料可靠性下降,而研究者又无法作进一步的追索,单从回收的答卷上又无法判断答案的真伪,使回收的问卷失去了价值。因此,设计好问题,合理地安排问题顺序是问卷设计的重要任务。
问卷调查适应于大样本或小样本的情况。问卷调查与访问调查情况不同,访问调查必须面对面地提出问题,收集口述材料。由于人力、财力的原因,调查的样本数不可能太多,调查的地域不可能太广。而问卷调查是依赖调查对象自我填答,问卷可以通过邮寄分发,也可以面对面分发。因此样本数可多可少,有时仅选数十人作问卷调查,有些课题,样本则多达数千以至过万人。
有利于获得定量资料。问卷调查不仅能取得数量标志的数量资料,还可以获得有关属性、品质、态度为标志的计数资料。这些资料都能通过统计处理的方法进行量化分析,使结果更为客观、真实、系统、科学化,提高了研究结果的水平。随着计算机网络的发展,网上问卷调查慢慢占据了主导地位。他解决了人工问卷的很多问题。是问卷调查更加容易和便利。
1.2网上问卷调查的特点
(1)问卷法调查结果容易量化调查的问题可以固定的形式,避免主观偏见
(2)问卷调查结果便于统计与分析,节省了处理结果的时间
(3)问卷调查可以进行大规模的调查,使结果更有参考价值
(4)问卷调查以政府、企业等为主体,具有普遍性。
(5)问卷的结果可以持久的保存,作为将来的参考
1.3网上问卷的基本解决方案
尽量消除被调查者的警戒心理,拉近与被调查者距离的原则。防御心是人性最自然的一面,在被调查者接触到问卷调查时,第一个反映就是考虑填写问卷对自己有什么坏处或者好处;对于销售网络状况调查来说,被调查的零售商更是有这一层的顾虑,害怕问卷的填写不当直接会影响到后期的生意发展,因此如果不能消除被调查者的警戒心理,拉近与被调查者的距离是很难得到真实、可靠的信息反馈。避免尖锐性的问题,以免引发被调查者的情绪过度波动而造成不利影响。内容尽量做到精简,避免重复和过分烦琐。从被调查者填写问卷的心理变化分析来看,被调查者刚开始填写问卷应该是以好奇和仔细为主,随着填写时间的延长,好奇心逐步衰减,而烦躁的心情却逐渐滋生出来,所以为了保持问卷填写的高质量,问卷的内容应精简、有力。问卷回答格式应适合信息的汇总和分析。回答格式应适合信息的汇总和分析可能对于很多调查者来说是比较陌生的,从统计和分析的角度来看,假如采取杂乱无章的回答设计方法,调查结果所收集的问卷成千上万,对问卷的内容进行归类、分析就比较困难了,所以在设计问卷回答格式的时候,就要考虑到对于问卷的问题采取什么样的方法进行分析。
1.3 Struts 概述
当建筑师开始一个建筑项目时,首先要设计该建筑的框架结构,有了这份蓝图,接下来的实际建筑过程才会有条不紊,井然有序。同样,软件开发者开始一个软件项目时,首先也应该构思该软件应用的框架,规划软件模块,并定义这些模块之间的接口和关系。框架可以提高软件开发的速度和效率,并且使软件更便于维护。
对于开发Web 应用,要从头设计并开发出一个可靠、稳定的框架并不是一件容易的事。幸运的是,随着Web 开发技术的日趋成熟,在Web 开发领域出现了一些现成的优秀的框架,开发者可以直接使用它们,Struts 就是一种不错的选择,它是基于MVC 的Web 应用框架。
Jakarta-Struts 是Apache 软件组织提供的一项开放源代码项目,它为Java Web应
用提供了模型-视图-控制器( Model-View-Controller ,MVC )框架,尤其适用于开发大型可扩展的Web 应用。Struts 这个名字来源于在建筑和旧式飞机中使用的支撑金属架。Struts 为Web 应用提供了一个通用的框架,使得开发人员可以把精力集中在如何解决实际业务的问题上。此外,Struts 框架提供了许多可供扩展和定制的地方,使得应用程序可以方便的扩展其框架,来更好的适应用户的实际需求。而且Struts 本身是一群经验丰富的Web 开发专家的集体智慧结晶,在全世界范围内得到广泛运用并得到一致认可。因此对于开发大型复杂的Web 应用,Struts 是不错的框架选择。
Struts 实质上就是在JSP Model2的基础上实现的一个MVC 框架。在Struts 框架中,模型由实现业务逻辑的JavaBean 或EJB 组件构成,控制器由ActionServlet 和Action 来实现,视图由一组JSP 文件构成。图1-2显示了Struts 实现的MVC 框架。
图1-2 Struts实现的MVC 框架流程图
第二章 开发工具及系统架构简介
1.1 编程语言简介
Java 是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向Internet 的开发工具。自从1995年正式问世以来,Java 的快速发展已经让整个Web 世界发生了翻天覆地的变化。在早期,Java 比较多的用在浏览器上,插入到网页中(即是Java Applet程序) ,成为最灵活、最强大的网页多媒体的载体,但由于Java 虚拟机相对于个人电脑而言,有占用资源大,安全性相对较差等缺点,Applet 逐渐的被后起之秀Flash 所替代,但随着Java Servlet的推出,Java 在电子商务方面开始崭露头角,最新的JSP(Java Server Page)技术的推出,更是让Java 成为基于Web 的应用程序的首选开发工具,目前的Java 技术已成为所有大型电子商务项目的必然选择。
Java 平台由Java 虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API )构成。Java 应用编程接口为Java 应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java 平台之后,Java 应用程序就可运行。现在Java 平台已经嵌入了几乎所有的操作系统。这样Java 程序可以只编译一次,就可以在各种系统中运行。Java 应用编程接口已经从1.1x 版发展到1.2版。目前常用的Java 平台基于Java1.4,最近版本为Java1.6。
1.2 J2EE平台简介
JA V A 依照应用领域的不同,共分为三大版本,分别是J2EE 、标准版本J2SE (Java 2Platform, Standard Edition)、微型版本J2ME (Java 2 Platform, Micro Edition)。
J2EE 核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE 架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。
在J2EE 架构下,开发人员可依循规范基础,进而开发企业级应用;而不同J2EE 供货商,同会支持不同J2EE 版本内所拟定的标准,以确保不同J2EE 平台与产品之间的兼容性。换言之,植基J2EE 架构的应用系统,基本上可部署在不同的应用服务器之上,无需或者只须要进行少量的代码修改,即能大幅提高应用系统的可移植性(Portability)。
J2EE 主由SUN 与IBM 等厂商协同业界共同拟定而成的技术规范,以企业与企业
之间的运算为导向的JA V A 开发环境。J2EE 架构定义各类不同组件,如Web Component 、EJB Component…等,而各类组件可以再用(reuse),让已开发完成的组件,或者是经由市面采购而得的组件,均能进一步组装成不同的系统。
J2EE 组成了一个完整企业级应用的不同部分纳入不同的容器(Container),每个容器中都包含若干组件(这些组件是需要部署在相应容器中的) ,同时各种组件都能使用各种J2EE Service/API。
1.3 数据库简介
数据库是整个系统的最低层的软件了。目前已有多种类型的数据库软件,常见的有关系型数据库和对象型数据库,但使用最多的是关系型数据库。关系型的数据库产品也有很多. 目前最好的是Oracle 。
Oracle 数据库主要面向高端应用,它的生产商Oracle 公司,是全球唯一一家公司可全面完整地实施从前台办公的客户关系管理应用到后台办公管理应用及平台基础结构,为用户提供最完整先进的电子商务解决方案。本文的实现也采用的是Oracle ,Oracle 数据库软件主要有以下特点。
支持大数据库、多用户的高性能的事务处理。ORACLE 支持最大数据库,其大小可到几百千兆,可充分利用硬件设备。支持大量用户同时在同一数据上执行各种数据应用,并使数据争用最小,保证数据一致性。系统维护具有高的性能,ORACLE 每天可连续24小时工作,正常的系统操作(后备或个别计算机系统故障)不会中断数据库的使用。可控制数据库数据的可用性,可在数据库级或在子数据库级上控制。
ORACLE 遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准。所以它是一个开放系统,保护了用户的投资。美国标准化和技术研究所(NIST )对Oracle7 Server进行检验,100%地与ANSI/ISO SQL89标准的二级相兼容。
实施安全性控制和完整性控制。Oracle 为限制各监控数据存取提供系统可靠的安全性。ORACLE 实施数据完整性,为可接受的数据指定标准。
支持分布式数据库和分布处理。Oracle 为了充分利用计算机系统和网络,允许将处理分为数据库服务器和客户应用程序,所有共享的数据管理由数据库管理系统的计算机处理,而运行数据库应用的工作站集中于解释和显示数据。通过网络连接的计算机环境,ORACLE 将存放在多台计算机上的数据组合成一个逻辑数据库,可被全部网络用户存取。分布式系统像集中式数据库一样具有透明性和数据一致性。
具有可移植性、可兼容性和可连接性。由于Oracle 软件可在许多不同的操作系统上运行,以致Oracle 上所开发的应用可移植到任何操作系统,只需很少修改或不
需修改。Oracle 软件同工业标准相兼容,包括许多工业标准的操作系统,所开发应用系统可在任何操作系统上运行。可连接性是指Oracle 允许不同类型的计算机和操作系统通过网络可共享信息。
第三章 系统分析与设计
3.1系统需求分析
随着计算机技术的飞速发展,利用计算机来获取和处理信息是当今信息管理的一大特点。基于Web 的系统作为最普遍最实用的系统,其管理现代化、信息化,对整个社会起着巨大的推动作用。
早期的问卷调查很不方便,需要大量的人力和财力,而却只能在相对局部的的区域里,对于不同的调查相对的人群也会有变化,针对性不强,因为数据量很大,信息的提取比较复杂,所以以前的问卷调查很少,只有发现了问题之后,才能知道问题的原因。当今的社会已经是一个信息时代,只有在第一时间获得有效的信息,才能在社会上立足。
网上问卷调查系统正好弥补了这个缺陷,网上问卷调查现在已经成为了解社会状况的一种有效的方式,你只要在网上搜索调查,会有成万的相关记录,他能为企业了解客户的需求,也能得到产品的优点和缺点,及时的了解信息,能过给企业很多建议,及时的做出相应的调整。
传统的学校对老师人工问卷考核中,进行一次调查,需要提前出题、印试卷、安排调查、收集试卷、然后检查管理试卷和分析试卷,这是一个繁杂的过程,需要大量人力、物力与时间的投入,已经越来越不适应学校信息化建设与现代教学的需要。尤其在远程网络教学中,学生分布广,不易统一集中调查,给校方和学生带来了众多的不便。
在网络技术逐渐渗入社会生活各个层面的今天,学校传统的问卷调查方式也面临着变革,而网络问卷调查则是一个很重要的方向。基于Web 技术的网络问卷系统可以借助于遍布全球的因特网。因此问卷既可以在本地进行,也可以在异地进行,大大拓展了问卷的灵活性。而且可以采用大量标准化试题,从而使用计算机能处理结果,大大提高结果的分析。网络考试系统采用Web 技术实现。Web 技术超越了传统的" 客户机/服务器" 两层结构,采用了三层体系结构:用户界面层/事务层/数据库层,因此Web 结构有着更好的安全性,在用户机上不需要安装任何应用程序。
3.2系统结构总框架设计
本网上问卷调查管理系统主要分成三大模块,这些模块又是由若干个子模块构成的,形成一个结构紧凑功能明确完整的网上问卷调查管理系统。系统结构总框架设计如图3-1所示。
3-1 整个系统结构图
加上权限控制,可以增加系统的安全。下面是管理员操作流程图如图3-2所示。
图3-2 管理员流程图
3.2系统结构流程设计
本系统的中心角色是超级管理员、老师。超级管理员开始调查,然后用户就可以进行课程调查,调查之后,超级管理员结束调查,教师就可以进行查看调查信息,教师只可以看自身的信息。
图3-3 管理员结构程图
3.3数据库设计
数据库在信息系统中占有及其重要的地位,数据库结构设计的好坏关系到系统的运行效率、存储数据的效率、系统的复杂程度等,合理的数据库结构设计可以提高系统性能。考虑到用户需求的各种实体,本网上问卷调查系统规划出的实体有用户信息实体、课程信息实体、班级信息实体、问卷调查信息实体,在线调查问卷信息实体。
将以上的数据库概念结构转化为关系数据模型,即数据库的逻辑结构。各个数据表的字段设置如下表所示。
表3-1 用户信息表
表3-2 课程信息表
表3-3 班级信息表
表4-4 调查后问卷信息表
3.4系统安全性能
为了保证系统的安全性,设置了过滤器和session 的设置,操作人员进入本系前必须输入与相关用户名对应的有效密码,不知道密码的非操作人员无权进入本系统。根据操作人员权限的不同级别设置,来给定该操作人员的操作权限,以防止非操作人员的使用,确保了数据中数据的安全。在本系统中权限共分为三级,超级管理员:可以进行任何操作,开始调查,管理调查,删除调查,查看调查,维护调查所需的 班级、课程、管理员,老师 等初始数据。普通管理员,可以进行审核调查,搜索调查,统计报表等操作。教师可以进行搜索调查,密码修该操作。权限的设置使系统更加安全了。
第4章 系统的具体实现
4.1 登录的实现以admin 身份登录
在浏览器地址栏键入以下地址: http://localhost/keshe/login.jsp(实际使用时将localhost 换成poll 系统(教师课程调查系统) 安装所在机器IP 以及端口号,如192.168.0.187:8080), 输入以下内容:用户名:lishujun 密码:lishujun (默认初始密码) 身份:admin 。当点击登录时就进入loginAction 中,登录成功后就跳到/admin/index.jsp中,就进入登陆后的页面。
本模块加上了权限控制,用户可以根据不同的权限进去不同的权限页面,主要有老师与管理员,这里的难点是角色的设置,我具体是采用在一张表里加上角色表示属性,当用户登陆的时候,把他的权限标示传递过去,用条件判断是什么样的身份,在调用相应的查找语句。这样做可以在一张表里存放不同角色的用户。在比对用户密码的时候,在加上加密算法,保证和数据库里的内容一致 如图 4-1 登陆界面所示。
图4-1 登录界面
4.2. 调查管理模块的设计
这个模块主要是在调查的时候进行管理,可以实现设置调查,停止调查,结束调查。这个模块实现难度很大。首先要设置控制IP 的多次访问的实现。为了使调查的真实性,只能容许一个人提交一次。我是在每次调查的时候,初始化一个LIST 集合,用他来存放已经提交的IP 地址。当有人要进行调查的时候,首先判断list 集合里有没有纪录,有就不回在进入调查模块。其次,是要查找所有的班级,老师和课程。具体要考虑要放到什么样的范围内,当把他放到session 范围内的话,如果数据太大,就会严重占用资源。我把它放到request 范围内。当这个请求结束的时候就会释放再用的资源。但是他也有不好的地方,就是每次有人请求的时候,他还要去数据库里查找。
还有就是怎么实现数据的处理和保存。当每次有人提交数据的时候,要对数据进
行处理我才用了一个集合的方式,当每次有人提交的时候,把它放到一个poll 类型的list 集合内,当结束调查的时候,在具体的对数据处理,遍历集合里的内容,用判断语句进行数据处理。把字符格式的答案直接保存不做处理。当要得到参与调查的人数的时候只要得到list 集合的长度就可以了。
当点击开始调查时就进入preStartPollAction 中,这个Action 将所有的班级,课程和老师查询出来,让超级管理员对调查问卷进行设置,设置完之后便正式开始调查。如图 4-2所示。
图 4-2 开始准备调查界面
当点击开始调查时,就调用startPollAction, 这个Action 将被调查的班级信息课程信息,老师信息设置成调查的问卷,此时页面就跳转到
/admin/listpolling.jsp页面上了。此时用户就可以进行网上问卷调查了。如图 4-3所示。
图4-3 开始调查界面
当点击结束调查时,请求就进入ManagerPollAction 中,执行这个Action 中的 结束调查操作,执行完之后就进行资源重定向,跳转到根目录的/info.jsp页面中。
当点击删除调查时,请求就进入ManagerPollAction 中,执行这个Action 中的 结束调查操作,执行完之后就进行资源重定向,跳转到根目录的/info.jsp页面中。
管理调查查看当前在问卷调查的情况的,当点击管理调查时,请求进入listPollingAcion 中,这个Action 是个转发请求的 Action,将当前的请求转发到一个/admin/listPolling.jsp页面。此时页面进行刷新,进一步统计参与调查人数和已提交调查人数。如图 4-4所示。
图4-4 搜索调查界面
4.3 调查搜索模块面
这个模块主要是主要处理已经保存的调查结果,可以对结果删除和察看结果,也可以查看具体的信息。这个功能的难点在于数据查找的实现,因为每次查找的条件也许不一样,这样就不能固定一个SQL 查找语句,具体的实现是用动态的查找语句,在每次用户提交查找条件的时候,用判断语句进行组建查询语句,如果某个查找语句不为空,就为他建议个查找条件。在实现这个功能最关键的地方就是要首先使用一个永真的条件,比如 1=1。这样可以保证以后的条件能顺利执行,当搜索不带条件的时候,就把所用的纪录查找出来。
还有一种方法就是用Hibernate 框架自带的方法,它能简化我们的代码量,实现起来也很简单。它也是在每次有条件存在的时候调用方法动态的构件Sql 语句。还有就是在分页的实现上,也给我们提供了很简单的方法。
当点击搜索时就进入SearchPollAction 中,它根据相应的条件进行查询,查询
后将结果返回到/poll/listPolling.jsp页面中。如图 4-5所示。
图4-5 搜索问卷调查的界面
当点击详情时请求进入 PollDetailAction,这个Action 根据问卷的id 将问卷内容查出后,返回到/poll/polldetailset2.jsp页面中。
图4-6 搜索问卷调查的具体内容
4.4 老师管理模块
这个模块主要是管理老师的一些设置,主要功能是添加,修改,删除老师。模块的实现不难,都是一些简单的操作。难点在修改老师,因为我用的是hibernate 持久化实现的功能,所以在更新操作的时候不能在创建一个老师的对象,只有保存过的对象才具有更新的操作,所以必须在更新的时候获得要修改老师的对象,我具体使用在列出老师列表的时候就把他放到request 里,在修改的时候,在request 的范围内得到要修改的对象。这样就能正确的更新数据了。
4.4.1 增加老师部分
当点击增加老师时,就进入PreAddTeacherAction 中,这个Acion 也只是个转发请求的 Action,将当前的请求转发到addteacher.jsp 页面。
当进入addteacher.jsp 页面后,当点提交时,就进入AddTeacherAction 中这个Action 将教师信息保存到数据库中,然后返。
图4-7 增加老师
4.4.2 查看老师列表部分
当管理员想查询现在所有的老师,便点击老师列表,此时请求就进入listTeacherAction 中,查询出所有的老师信息,并将信息返回到
/admin/listTeacher.jsp中。
图4-8 查看老师列表
4.5 课程管理模块
4.5.1 增加课程部分
这个模块的实现与老师模块的实现类似,所以在这里就不在说明了。
当点击增加课程时时,请求就进入preAddCourceAcion 中,这个Action 也是一个转发请求的Action ,此Action 将请求转发到addcourse.jsp 页面上。
4.5.2 课程列表部分
当管理员想查询现在的所有课程,便点击课程列表,请求就进入listCourseAction 中,这个Acion 将所有的课程都列出,并将课程信息返回到listCourse.jsp 页面上。
图4-11 增加课程
此时管理员可以对所列出的课程进行增加和删除操作,当点击update 按钮时,请求就进入ManageCourseAction 中,这个Action 将对应的查询出对应的course, 然后将对应的course 删除。
当点击增加班级时,请求就进入preAddClassesAction 中,这个Action 也是个转发请求的 Aciton
,将当前的请求转发到addclasses.jsp 页面中。
图4-12显示课程列表界面
4.6 班级管理模块
4.6.1 增加班级部分
这个模块的实现与老师模块的实现类似,所以在这里就不在说明了。
当我们想增加一个班级做调查时,只有点击增加班级,然户输入要增加的班级和对应的类型,点击提交后,请求就进入addClassesAction 中,这个Action 获得班级名称和类型信息,然后将这个班级插入到数据库中,插入成功后,跳转addclass,jsp 页面中。
图 4-13 增加班级
4.6.2 班级列表部分
当管理员想要了解现存班级情况,就可点击班级列表,请求就进入listClassesAction 中,这个Action 将所有班级的信息查出来,然后将结果返回到listclass.jsp 页面上,并在该页面显示出来。
当有的班级现在不需要调查或者已经毕业了的班级,此时管理员便可以删除该班级,点击删除按钮时,请求就进入ManagerClassesAction 中,这个Action 会根据获得的班级信息,将该班级删除。
如果管理员完成此次操作后,想退出系统时,便点击退出系统,此时请求就进
入exitAction 中,该Action 将对应的Session 设置无效,此时该用户信息就无效了,就无法操作了,然后就跳转到login.jsp 中。如图4-14所示。
图4-14 班级列表
4.7问卷调查部分
这个模块主要是一个相对静态的模块,主要是考虑他的设计技巧,因为需要计算机处理结果,就必须对问题采取一个必要的措施,一般采用选择的方式,并且也可以自定义的形式。当调查者提交的时候,会把他的内容提取出来保存在一个集合里,并且会把自己的IP 地址也加到一个集合里,大你在去试图访问,请求会被拒绝。跳转一个提示页面。如图 4-15所示。
图 4-15调查页面
图 4-16多次访问提示页面
结 论
本系统按照软件工程开发的思想,结合当前软件开发的常用技术进行的一次开发实战,本系统用当前比较成熟的web 开发框架Struts 和Hibernate 技术实现的设计与开发。实现时主要用到了MVC 模型。本系统具有相当的实用性。由于使用了MVC 开发模型,使得各模块具有相当的独立性,因此系统的可重用性也比较高。使用Java 语言作为开发语言,使得程序具有很强的可移植性。程序中注释写得尽量规范,因此可读性与可维护性也比较好。
本系统用在学校的校园望内,能发挥出他的优势。只要很少的操作,就避免了老师人工问卷调查带来了大量麻烦。用计算机处理结果也能省去老师自己总结的烦琐。
在本系统开发过程中不可避免地遇到不少困难,加之作者水平有限并对web 的应用开发还不是太熟练,系统的一些功能做得还是很完善,有些功能也没有实现。比如:
由于当初对安全没有考虑,不能防范SQL 注入攻击。
由于全校学生比较多、没能根据各个班级的具体情况分班。
由于时间关系 教师根据学生学科学分打出成绩、及总分都没能实现。
每个系统在初期都不完善,后期系统完善与维护也同样重要。作者正在积极完成上述没有能达到的功能,同时借助与MVC 具有很强的扩展性,打算开发一个多应用的调查系统。能适应不同需求的问卷调查。
参考文献
[1] 林上杰 , 林康司. JSP 2.0技术手册第四版. 北京. 电子工业出版社. 2004
[2] 陈昊鹏 , 王浩等译. JAV A 核心技术. 北京. 机械工业出版社. 2006
[3] 付京周. 精通Hibernate 3.0. 北京. 人民邮电出版社. 2007
[4] 殷兆麟 周智仁等. Java网络应用编程. 北京. 高等教育出版社. 2004
[5] 孙卫琴. 精通Struts :基于MVC 的Java Web 设计与开发. 北京. 电子工业出
版社. 2004
[6] 孙卫琴. Java网络编程精解. 北京. 电子工业出版社. 2007
[7] 柳永坡. Jsp应用开发. 北京. 人民邮电出版社. 2005
[8] 张海潘. 软件工程导论. 北京. 清华大学出版社. 2003
[9] Stephen R.Software Engineering with Java. 北京. 机械工业出版社. 1999
[10] 夏昕. 深入浅出Hibernate. 北京. 电子工业出版社. 2005:36-60
[11] Gavin King. Hibernate in Action. Manning Publications. 2004
[12] 孙卫琴. 精通Hibernate:对象持久化技术详解 [M]. 电子工业出版社. 2005
[13] 少锋. 面向对象技术UML 教程 [M]. 清华大学出版社. 2004
[14] 阎宏. Java与模式 [M]. 电子工业出版社. 2002
[15] 李里,周伟. 精通J2EE —Eclipse Struts Hibernate Spring整合应用案例[M]
人民邮电出版社. 2007
[16] (美)Xavier Coulon. Hibernate simplifies inheritance mapping. 2005
[17] Gavin King. Hibernate in Action. Manning Publications. 2004
谢 辞
经过3个多月的奋战,毕业设计及论文部分终于出炉了,首先要感谢王慧老师全面、具体指导和监督。王老师在这段时间细心的帮助,特别是在身体不太好的情况下还在晚间帮我修改论文,使我特别感动。王老师渊博的学识、民主而严谨的作风,还有负责任的态度使我受益非浅,并终生难忘。在论文书写过程中给与了我很大的帮助,这一次论文的书写让我的文档书写水平有了很大的提高,改掉了过去很多的书写不规范的毛病。
同时还要感谢邓远辉等老师在毕业设计工作中给予的帮助,他们的讲授让我收获很多,是他们让我真正了解了软件开发这个行业,并让我掌握了java web开发的基本能力。
最后要感谢学校给我们提供优越的学习环境,使我们能够更加专心的学习。