




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕 业 设 计 正 文 第45页摘 要在校园、机关或企业里,由于各种调查研究的需要,经常会有各种各样的调查问卷,在传统模式下,人们不但要花费不少的费用印刷问卷,而且还要消耗大量时间和精力发放问卷,回收问卷,统计问卷,并且问卷可控性差,容易产生漏卷,废卷等问题。本系统建立在信息技术基础上,构建一个在线的问卷设计、分发、调查、回收、统计的系统,基本解决传统问卷的上述问题。本毕业设计的内容是设计并且实现一个基于web技术的网络调研问卷网站,故而系统主要以j2EE作为开发基础,主要使用了struts2+spring+hibernate等多种框架的结合使用,用myeclipse作为开发工具,以MYSQL作为数据库,以Macromedia公司的Dreamweaver作为界面美化工具,使用JAVA语言开发,页面采取JSP动态页面开发技术。该系统界面简单、操作方便,容易维护。关键词:网络调研问卷网站,S.S.H(Struts ,Hibernate ,Spring),JAVA , JSP目录摘 要2一、绪论51.1 课题研究的背景51.2 课题研究的意义5二、 系统的开发环境及技术简介62.1 系统开发环境62.1.1Eclipse62.1.2 数据库简介62.1.3 Tomcat62.2系统开发的思想与技术72.2.1JSP技术与MVC模式以及系统的基本框架72.2.2 S.S.H框架的优点7三、系统总体设计103.1 总体功能模块103.2系统管理员的功能模块103.3发布问卷用户功能模块113.4调查问卷用户的功能模块113.5 系统业务描述123.5 程序流程图13四、系统详细设计与实现134.1系统和数据库的配置144.2概念模型设计144.3数据库逻辑模型154.4数据库表结构19五、系统功能实现225.1程序的类图225.1.1课题Keti类图225.1.2题目Timu类图235.1.3调查Diaocha类图235.1.4调查记录Diaochajilu类图245.1.5统计Tongji类图245.1.6信息Xinxi类图255.1.7用户User类图255.2程序的时序图265.2.1课题模块时序图265.2.2用户信息模块时序图275.3系统功能实现的主要框架275.3.1 SSH框架275.3.2 hibernate配置文件275.3.3 struts配置文件295.3.4 spring配置文件295.4系统功能实现的主要模块325.4.1 登陆页面325.4.2 发布问卷用户首页325.4.3 调查课题审核主页面355.4.4 注册页面355.4.5 调查问卷用户的操作页面首页375.4.6 关于信息管理与信息查询385.4.7 关于管理员的一些特殊权限395.4.8 关于个人信息管理395.4.9 关于修改密码40结束语41参考文献42致谢43 一、绪论1.1 课题研究的背景在当前的各类企业网站中,通常都需要提供有相应的网络调查功能,以便收集广大客户的意见或看法。类似的,在企业对有关问题(如客户的意见、售后服务的满意程度、产品改进要求等)进行调查研究时,也可通过网络调查的方式实时高效地获取客户反馈信息,作为决策制定的参考依据。1.2 课题研究的意义随着INTERNET的发展,世界网民的数量急剧增加,社会的信息化强度增强,企业竞争越发激烈,故对市场信息的掌握范围不仅仅是周边的一些信息,而应把范围扩展到全国,甚至全世界,INTERNET恰恰是实现这目标的有利工具。对于新产品,新观点的调查范围应该更广泛,消息应该及时反馈给企业单位,故一个网上在线调查问卷系统应运而生,它正好充分满足客户的需求,信息反馈的范围扩大,人力资源的节省,从而使得企业在竞争激烈的市场中拥有更强大的资本。开发此调查问卷系统是为了更好的把市场的信息更准确更快速的反馈给客户,使信息的来源更广泛,从而提高信息的准确性。运用此系统可以降低企业为市场调查而消耗的人力和物力,利用节省的资源提高产品的质量,增强竞争力。 通用网络调查问卷系统的主要研究内容: 调查问卷主题的管理:调查问卷主题的管理包括对调查主题的查看、添加、删除和修改功能的实现。 调查问卷回答: 此功能在调查界面中实现,受调查者对于其感性趣的主题回答问卷,没有选择任何选项时回做出“您没有选择选项” 的提示。除了这个功能外还有一个功能就记录下每个对主题进行投票调查者的IP地址,从而可以使调查的公平性得到保证,不给那些想根据实际需要搞假者以可乘之机。在问卷回答完成后点击“确定”,系统会根据实际情况将选票加到相应的项目上。 查看问卷的调查情况: 这个功能的实现页面是调查结果显示页面,在这个页面中列出了关于某个调查的主题信息、该主题所包含的所有调查项目的名称及每个项目的总投票数,最重要的一个功能是加了明显的进度条,这个进度条是经过将该项目的总票数/各项目投票总数之和后得到的百分比。 管理员的登陆: 在管理员的登陆中只有数据库中存在的管理员才能进入后台进行后台的管理。二、 系统的开发环境及技术简介2.1 系统开发环境2.1.1Eclipse虽然大多数用户很乐于将 Eclipse 当作 Java集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。2.1.2 数据库简介数据库使用的是MySQL开源数据库。MySQL的特性:使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性 。支持AIX、FreeBSD、HP-UX、Mac OS、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 。为多种编程语言提供API。这些编程语言包括C、C+、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。支持多线程充分利用CPU资源。优化的SQL查询算法,有效地提高查询速度。既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。提供TCP/IP、ODBC和JDBC等多种数据库连接途径。提供用于管理、检查、优化数据库操作的管理工具。可以处理拥有上千万条记录的大型数据库。2.1.3 TomcatTomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。 Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 2.2系统开发的思想与技术2.2.1JSP技术与MVC模式以及系统的基本框架本系统采用jsp技术,基于MVC模式开发,使用SSH框架(struts2、spring、hibernate)来增加系统的开发速度。所谓的MVC模式是Model-View-Controller的缩写,中文翻译为模式-视图-控制器。程序就是用struts2和hibernate这两个框架来实现模型层和控制器这两层,jsp实现视图这一层。一般来说程序就是在数据库和页面之间起桥梁作用的,jsp页面请求先到action,再到dao,再回到action,回到jsp页面,action主要处理来自页面的请求,dao主要是和数据库的交互,struts2主要用在action,处理来自页面的请求,处理完请求后跳转回页面。Hibernate主要用在dao,包括对数据库的增、删、改、查的操作,spring控制程序的流程。2.2.2 S.S.H框架的优点S.S.H框架是J2EE应用中struts2+spring+hibernate三大免费开源框架的结合使用, 它可以看成工具,也是中间件。他是用来提高我们的开发效率,提高我们软件产品的可维护性、可扩展性乃至敏捷性的。他们里面有很多优秀的设计理念及模式应用。比如,struts属于MVC框架,关键是要了解MVC的概念及大致原理;而hibernate属于ORM系统,属于持久层的解决方案,同样需要对ORM的概念及原理有一个总体的了解。而spring属于应用程序框架,其核心是IOC容器以及AOP,Spring中还集成了很多适用东西,比如对JDBC的封装、自己的MVC、对动态语言的简洁访问等,它由以下3个框架构成:1.Struts2框架Struts2是Apache组织的一个开放源码项目。Struts2是一个比较好的MVC框架,提供了对开发MVC系统的底层支持,它采用的主要技术是Servlet,JSP和Custom tag library。其基本构成如图2.1所示。 图2-1 Struts框架工作流程2.Spring框架Spring 的核心是个轻量级(Lightweight)的容器(Container),它是实现IoC(Inversion of Control)容器、非侵入性(No intrusive)的框架,并提供AOP(Aspect-oriented programming)概念的实现方式,提供对持久层(Persistence)、事务(Transaction)的支持,提供MVC Web 框架的实现,并对一些常用的企业服务API(Application Interface)提供一致的模型封装,是一个全方位的应用程序框架(Application framework),除此之外,对于现存的各种框架(Struts、JSF、Hibernate 等),Spring 也提供了与它们相整合的方案。Spring框架由以下7个部分组成2.2 Spring框架构成3.Hibernate框架Hibernate 是一个开放源码的 ORM 持久层框架。作为优秀的持久层框架实现,Hibernate 框架提供了强大、高性能的对象到关系型数据库的持久化服务,开发人员可以使用面向对象的设计进行持久层开发。简单的说,Hibernate 只是一个将持久化类与数据库表相映射的工具,每个持久化类实例均对应于数据库表中的一个数据行而已。用户只需直接使用面向对象的方法操作此持久化类实例,即可完成对数据库表数据的插入、删除、修改、读取等操作。图2.3 Hibernate框架三、系统总体设计3.1 总体功能模块 本系统分管理员, 发布问卷用户, 调查问卷用户3个用户角色。总功能图如图3-1所示 图3-1.系统功能需求分析3.2系统管理员的功能模块系统管理员的主要功能有用户管理(调查问卷用户管理和发布问卷用户管理)、调查课题管理(调查课题审核和调查数据查询)、调查记录查询、信息管理。系统管理员的功能图如图2所示图3-2.系统管理员的功能图3.3发布问卷用户功能模块发布问卷用户的主要功能有、调查课题管理、调查题目管理、调查数据查询、调查记录查询、个人信息管理、信息管理。发布问卷用户的功能图如图3-3所示 图3-3. 发布问卷用户的功能图3.4调查问卷用户的功能模块调查问卷用户的主要功能有调查课题查询、调查操作、个人信息查询、信息查询、调查记录查询。调查问卷用户的功能图如图3-4所示图3-4 调查问卷用户的功能图3.5 系统业务描述 本系统分管理员, 发布问卷用户, 调查问卷用户3个用户角色。系统管理员的主要功能有用户管理(调查问卷用户管理和发布问卷用户管理)、调查课题管理(调查课题审核和调查数据查询)、调查记录查询、信息管理;发布问卷用户的主要功能有、调查课题管理、调查题目管理、调查数据查询、调查记录查询、个人信息管理、信息管理;调查问卷用户的主要功能有调查课题查询、调查操作、个人信息查询、信息查询、调查记录查询。用例图如下:图3-5 系统业务描述3.5 程序流程图用户登录流程图 图3-5 程序流程图四、系统详细设计与实现4.1系统和数据库的配置系统按通用的B/S(浏览器、服务器)模式进行设计(如图4-1)图4-1 B/S结构数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。4.2概念模型设计概念模型设计的典型方法是用E-R图方法,即用实体-联系模型表示。E-R方法是用E-R图来描述显示世界,E-R图包含三个基本成分:实体、联系、属性。它直观易懂,能够比较准确地反映现实世界的信息联系,从概念上表示一个数据库的信息组织情况。本系统E-R图如下图4-2概念模型设计4.3数据库逻辑模型调查表(主键、添加时间、调查编号、关联的课题ID、关联的用户ID)主键添加时间管理的课题ID关联的用户ID调查调查编号图4-3 数据库调查逻辑模型调查记录表(主键、添加时间、我的答案、关联的调查ID、关联的题目、关联的用户ID)主键添加时间关联的题目关联的用户ID调查记录.图4-4 数据库调查记录逻辑模型调查题(主键、A选项、B选项、C选项、添加时间、D选项、调查题类型、是否删除标志、问题、关联的课题ID)主键A选项问题关联的课题ID调查题.图4-5 数据库调查题逻辑模型课题表(主键、添加时间、调查状态、介绍、是否删除标志、审核状态、已使用、调查时间、标题、关联的发布问卷用户)主键添加时间已使用标题课题.图4-6 数据库课题逻辑模型统计表(主键、A选项数量、B选项数量、C选项数量、D选项数量、关联的调查题ID)主键A选项数量D选项数量关联的调查题ID统计.图4-7 数据库统计逻辑模型信息表(主键、信息内容、添加时间、信息标题、添加时间、信息标题、发布的用户ID)主键信息内容信息标题发布的用户ID信息.图4-8 数据库信息逻辑模型用户表(主键、地址、参考调查次数、添加时间、密码、联系方式、状态、用户名、是否删除标志、用户名)主键主键是否删除标志用户名用户.图4-9 数据库用户逻辑模型4.4数据库表结构 表4-1 调查表名称类型空默认值备注idbigint(20)noauto_increment主键cratetimedatetimeyes空添加时间bianhaovarchar(255)yes空调查编号ketiidbigint(20)yes空关联的课题IDuseridbigint(20)yes空关联的用户ID 表4-2调查记录表名称类型空默认值备注idbigint(20)noauto_increment主键cratetimedatetimeyes空添加时间wodedaanvarchar(255)yes空我的答案diaochaidbigint(20)yes空关联的调查IDtimuidbigint(20)yes空关联的题目useridbigint(20)yes空关联的用户ID 表4-3 调查题表名称类型空默认值备注idbigint(20)noauto_increment主键avarchar(255)yes空A选项bvarchar(255)yes空B选项cvarchar(255)yes空C选项cratetimedatetimeyes空添加时间dvarchar(255)yes空D选项leixingvarchar(255)yes空调查题类型timulockint(11)no0是否删除标志wentivarchar(255)yes空问题ketiidbigint(20)yes空关联的课题ID表4-4课题表名称类型空默认值备注Idbigint(20)noauto_increment主键cratetimedatetimeyes空添加时间dianchazhuangtaivarchar(255)yes空调查状态jieshaovarchar(255)yes空介绍ketilockint(11)no0是否删除标志shenhevarchar(255)yes空审核状态shifoushiyongvarchar(255)yes空已使用shijianint(11)no0调查时间titlevarchar(255)yes空标题useridbigint(20)yes空关联的发布问卷用户 表4-5统计表名称类型空默认值备注idbigint(20)noauto_increment主键aint(11)no0A选项数量bint(11)no0B选项数量cint(11)no0C选项数量dint(11)no0D选项数量timuidbigint(20)yes空关联的调查题ID 表4-6信息表名称类型空默认值备注idbigint(20)noauto_increment主键neirongvarchar(255)yes空信息内容shijianvarchar(255)yes空添加时间titlevarchar(255)yes空信息标题useridbigint(20)yes空发布的用户ID 表4-7用户表名称类型空默认值备注idbigint(20)noauto_increment主键addressvarchar(255)yes空地址canjiadiaochacishuint(11)no0参考调查次数createtimedatetimeyes空添加时间passwordvarchar(255)yes空密码phonevarchar(255)yes空联系方式roleint(11)no0状态truenamevarchar(255)yes空用户名userlockint(11)no0是否删除标志usernamevarchar(255)yes空用户名五、系统功能实现 5.1程序的类图5.1.1课题Keti类图程序类图5- 1课题类图5.1.2题目Timu类图程序类图5- 2题目类图5.1.3调查Diaocha类图程序类图5- 3调查类图5.1.4调查记录Diaochajilu类图程序类图5- 4调查数据类图5.1.5统计Tongji类图程序类图5-5统计类图5.1.6信息Xinxi类图图5-6 信息类图5.1.7用户User类图图5-7 用户类图 5.2程序的时序图5.2.1课题模块时序图图5-8课题模块时序图5.2.2用户信息模块时序图图5-9用户信息模块时序图5.3系统功能实现的主要框架5.3.1 SSH框架SSH框架就是struts2,spring,hibernate的简称,运用3个框架的集成协作使用,可以有效的提高代码编写的效率,从而有效的降低程序开发的周期。5.3.2 hibernate配置文件 DBPoolproxool.xmlorg.hibernate.connection.ProxoolConnectionProvider true trueorg.hibernate.dialect.MySQLDialect thread update这是Hibernate的配置文件,在该文件中proxool.xml首先加载了连接池的一个配置,就是加载了数据库的连接信息,true true表示控制台打印SQL语句,并格式化SQL语句org.hibernate.dialect.MySQLDialect表示当前数据库的语言是MYSQL都表示当前数据库建立起来的表和类之间的映射关系,比如表示User类和t_user表之间的建立起来的对应关系,其他也都类似5.3.3 struts配置文件 index.jsp login.jsp $url$url 这是struts的配置文件,该文件的作用主要起到来自JSP的请求的跳转分配的作用.该struts配置文件是个总的配置文件。 5.3.4 spring配置文件Spring 在本项目中主要用到了IOC的功能,就是把对象实例化本段代码是把DAO实例化的代码,通过spring的IOC模式本段代码是把ManageAction实例化的代码,原理也是spring的IOC模式。5.4系统功能实现的主要模块5.4.1 登陆页面图5-10 登陆页面在登陆页面中我会根据用户表信息中的状态来判断客户输入的信息是否属于他所在的用户类型,比如说 客户选择的类型是管理员 那么Action会根据他所在表中的role信息来判断他是否是管理员权限 (管理员权限是:“0”,调查问卷用户的权限是:“1” 发布问卷用户的权限是:“2”) 如果不匹配 则登陆失败。5.4.2 发布问卷用户首页.图5-11 发布问卷用户首页在发布问卷用户首页中,我们可以再调查管理中 可以添加新的调查课题,操作图如下图5-12发布问卷用户添加调查的课题添加好课题之后我们合一在调查课题管理下来查看我们添加的课题图5-13发布问卷用户调查课题管理在点击调查题目管理中 我们可以对调查题进行增删改查,图5-14发布问卷用户调查题管理在添加调查题的页面我们可以写我们要调查的信息,并且可以上传图片(注意:该插件可以在IE浏览器上显示出来的)图5-15发布问卷用户调查题添加在课题调查管理中 我们进入调查数据查询 页面来查看各个问题的 统计数据, 点击查看柱状统计图 例如: 图5-16 发布问卷用户调查数据查询 查看柱状他统计图5.4.3 调查课题审核主页面图5-17调查题审核主页面发布问卷用户发布的信息不会直接就可以让调查问卷用户查看,在发布完信息后,我们要通过管路员登陆的页面来管理发布者的信息权限,也就是说来update更新发布的调查权限,决定是否审核通过 5.4.4 注册页面注册页面在Actioan中 加上了相应正则表达式的判断,来判断用户名是否合法,不合法的字段也会弹出对应的信息,操作如下:图5-18 注册页面的判断图5-19 注册页面的判断在注册页面下还有手机格式的判断和密码的长度判断我就不一一展示了,基本都是利用了正则表达式来判断的。5.4.5 调查问卷用户的操作页面首页登陆到首页我们可以查看消息并且可以查看和修改我们的个人信息,或者参与调查投票图5-20 注册页面的判断 在调查课题查询页面我们可以看到 审核通过的调查题,并且进行投票,注意已经投过票的 调查题我们就不能再次参加投票了,也就是我要调查的这个选项会根据jstl中的c:if 判断你的投票次数大于是否1如果大于1将不给予显示。,如果不大于1那么你就可以投票了!点击我要调查页面,我们就可以对审核通过的调查题来进行投票啦,选好我们投票的选项点击提交即可,记住我们调查完毕之后,就不能再次参加喽!图5-21 投票页面5.4.6 关于信息管理与信息查询在各个用户的首页都会有个信息管理页面与信息查询页面,其实这个页面就是我们大家可以在这个公共的信息平台上,发送自己想要说的话,比如调查问题的一些建议,都可以发布这是查看信息页面:图5-22 信息查看页面在消息管理中我们可以对自己发布的消息进行增删改查图5-23 信息管理页面在添加消息页面中我们可以写上自己说的话,或者上传自己喜欢的照片图5-24 信息添加页面5.4.7 关于管理员的一些特殊权限在管理员页面 我们不但可以对调查题审核,也可以删除调查用户和发布问卷用户(注意:删除不是正在的删除,这句话是带我的斌哥教我的 嘿嘿 只是修改了一下他的删除状态 也就是锁 如果被锁状态为1,那么登陆界面的Action就会判断到他已经被锁了,就会登陆不上系统)图5-25 管理员操作用户管理页面列表5.4.8 关于个人信息管理个人信息管理页面只会在调查问卷用户与问卷调查用户中显示,我们点击首页的个人信息信息管理中可以编辑我们的昵称与联系地址等,图5-26 个人信息页面5.4.9 关于修改密码在首页的左上角都会有修改密码与用户退出,(退出就不用解释了,返回到首页,并且把Session 销毁。) 以下是修改密码页面,与传统的修噶密码一样,我们要查询客户的旧密码,并且与新密码进行比较
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冷拉丝工内部技能考核试卷及答案
- 节目审查流程执行监控工艺考核试卷及答案
- 陶瓷制品釉面涂层耐酸碱度工艺考核试卷及答案
- 豆制品酶法改性工艺效果分析工艺考核试卷及答案
- 饲草种子繁育工异常处理考核试卷及答案
- 石质文物修复师培训考核试卷及答案
- 职业教育质量评价指标构建:理念、问题与启示
- 新能源汽车电驱总成系统及设备管理测试卷附答案
- 专业证书试题模板及答案
- 建筑专业理论试题及答案
- 北京地区建筑地基基础勘察设计准则
- 《社区调查报告》课件
- 2025-2025学年外研版七年级英语上册教学计划
- 《胸腔穿刺术》课件
- 《人才选用育留》课件
- 农村土地使用权转让协议书
- 任务1 混合动力汽车动力系统基本组成与原理
- 富血小板血浆(PRP)临床实践与病例分享课件
- 华为HCSA-Presales-IT售前认证备考试题及答案
- DB34-T 4860-2024 农贸市场建设规范
- 黑龙江省大庆市铁人中学2024-2025学年高一数学上学期期中试题含解析
评论
0/150
提交评论