0007Java程序设计-jsp问卷调查系统-论文

发布时间 2023-09-08 10:59:28作者: 花-花

摘 要

随着社会不断进步与发展,生活节奏不断加快,信息已经成为我们生活中不可缺少的一部分,很多企业需要掌握大量的信息来了解特定用户的需求,传统的做法是组织大量的人力物力对用户散发调查表,然后对收集的信息进行统计并得到想要的调查结果,但是这种传统的做法浪费大、效率低、周期长,为了改变这种现象,我们设计了这套基于J2EE的问卷调查系统。

本系统前台主要使用J2EE作为开发语言,后台使用SQServer作为数据库管理系统,开发环境是MyEclipse,服务器采用tomcat。系统的主要功能包括:管理登陆、问卷调查题目及内容选项的添加、修改和查询,调查结果统计等。分为管理员用户、普通用户这二种用户平台。

目 录

摘 要........................................................................................................... I

ABSTRACT.................................................................................................. II

第一章 绪论................................................................................................. 1

1.1课题背景....................................................................................................................... 1

1.2目的和意义................................................................................................................... 1

1.3开发工具及技术........................................................................................................... 1

1.3.1开发工具............................................................................................................. 1

1.3.2 J2EE..................................................................................................................... 2

1.3.3 JavaScript............................................................................................................ 3

1.3.4 Struts 2简介........................................................................................................ 3

1.3.5 Hibernate简介.................................................................................................... 4

1.4软硬件需求................................................................................................................... 4

第二章 需求分析.......................................................................................... 5

2.1可行性分析................................................................................................................... 5

2.1.1技术的可行性..................................................................................................... 5

2.1.2经济的可行性..................................................................................................... 5

2.1.3操作可行性......................................................................................................... 5

2.1.4法律的可行性..................................................................................................... 5

2.2系统用户用例图........................................................................................................... 6

2.2.1管理员用例图..................................................................................................... 6

2.2.2普通用户用例图................................................................................................. 6

2.3功能模块需求分析....................................................................................................... 7

2.4设计的基本思想........................................................................................................... 8

2.5性能需求....................................................................................................................... 8

2.5.1系统的安全性..................................................................................................... 8

2.5.2数据的完整性..................................................................................................... 8

2.6界面需求....................................................................................................................... 8

第三章 系统分析与设计............................................................................. 10

3.1数据库的分析与设计................................................................................................. 10

3.1.1数据库的概念结构设计................................................................................... 10

3.1.2数据库的逻辑结构设计................................................................................... 13

3.1.3数据库的连接原理........................................................................................... 15

3.2中文乱码问题处理..................................................................................................... 15

第四章 系统功能实现................................................................................ 18

4.1系统登陆页面实现..................................................................................................... 18

4.2总体功能模块............................................................................................................. 19

4.2.1问卷信息管理................................................................................................... 20

4.2.2问卷题目管理................................................................................................... 22

4.2.3调查结果统计................................................................................................... 24

4.2.4系统公告管理................................................................................................... 27

4.2.5修改个人密码................................................................................................... 29

4.2.6安全退出系统................................................................................................... 29

4.3普通用户模块............................................................................................................. 30

4.3.1系统主页面实现............................................................................................... 30

4.3.2问卷信息查询................................................................................................... 30

4.3.3用户注册........................................................................................................... 30

4.3.4参与问卷调查................................................................................................... 32

第五章 系统测试........................................................................................ 34

5.1系统测试目的与意义................................................................................................. 34

5.2测试过程..................................................................................................................... 34

5.2.1主页面的登录模块测试................................................................................... 34

5.3其他错误..................................................................................................................... 35

结 论......................................................................................................... 36

参考文献..................................................................................................... 37

致 谢......................................................................................................... 38

系统功能实现

在管理信息系统的生命周期中,经过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。

系统登陆页面实现

1.描述:为了保证系统的安全性,要先使用本系统必须先登陆到系统中,用户需要正确的账号和密码登录本系统。

2.程序运行效果图如图4.1所示:

img

3.在登陆页面输入用户名和密码以,点击提交按钮,跳转到登陆的service中,在该service中会对用户名,密码,验证码进行判断,验证通过进入对应的页面,loginservice关键代码:

public String login(String userName,String userPw,int userType)
	{
		String result="no";
		if(userType==0)//系统管理员登陆
		{
			String sql="from TAdmin where userName=? and userPw=?";
			Object[] con={userName,userPw};
			List adminList=adminDAO.getHibernateTemplate().find(sql,con);
			if(adminList.size()==0)
			{
				 result="no";
			}
			else
			{
				 WebContext ctx = WebContextFactory.get(); 
				 HttpSession session=ctx.getSession(); 
				 TAdmin admin=(TAdmin)adminList.get(0);
				 session.setAttribute("userType", 0);
	             session.setAttribute("admin", admin);
	             result="yes";
			}
		}
		if(userType==1)//putongyuangong
		{
			
	}

1.描述:系统主页面:左方页面展示了管理员可操作的六大功能,进入相关的管理页面可以链接到子菜单,并且高亮显示,每个管理模块下面都有相应的子菜单。

2.程序运行效果图如图4.2所示:

img

1.描述:管理员点击左侧的菜单“问卷信息管理”,页面跳转到问卷信息管理界面,调用后台的action类查询出所有的问卷信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的J2EE,显示出问卷信息。

2.程序效果图如下图4.4所示

img

public String wenjuanAdd()
{
		TWenjuan wenjuan=new TWenjuan();
		
		wenjuan.setId(String.valueOf(new Date().getTime()));
		wenjuan.setMingcheng(mingcheng);
		wenjuan.setShijian(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
		
		wenjuanDAO.save(wenjuan);
		this.setMessage("添加完毕");
		this.setPath("wenjuanMana.action");
		return "succeed";
	}
	
	
	public String wenjuanMana()
	{
		String sql="from TWenjuan";
		List wenjuanList =wenjuanDAO.getHibernateTemplate().find(sql);
		Map request=(Map)ServletActionContext.getContext().get("request");
		request.put("wenjuanList", wenjuanList);
		return ActionSupport.SUCCESS;
	}
	
	public String wenjuanDel()
	{
		TWenjuan wenjuan=wenjuanDAO.findById(id);
		wenjuanDAO.delete(wenjuan);
		this.setMessage("删除完毕");
		this.setPath("wenjuanMana.action");
		return "succeed";
	}

1.描述:点击问卷预览按钮,系统自动显示改问卷的题目信息。

2.程序效果图如下图4.8所示

img

public String toupiaoAdd()
{
		HttpServletRequest request=ServletActionContext.getRequest();
		
		String id=String.valueOf(new Date().getTime());
		String title=request.getParameter("title");
		String wenjuan_id=request.getParameter("wenjuan_id");
		TToupiao toupiao=new TToupiao();
		
		toupiao.setId(id);
		toupiao.setTitle(title);
		toupiao.setWenjuan_id(wenjuan_id);
		
		toupiaoDAO.save(toupiao);
		
		String[] xuanxiangneirong=request.getParameterValues("xuanxiangneirong");
		for(int i=0;i<xuanxiangneirong.length;i++)
		{
			try
			{
				Thread.sleep(100);
			} 
			catch (InterruptedException e)
			{
				e.printStackTrace();
			}
			System.out.println(xuanxiangneirong[i]+"%%");
			toupiaoxuanxiangSave(xuanxiangneirong[i], id);//这个地方的id是投票的id
		}
		
		request.setAttribute("msg", "添加完毕");
		return "msg";
	}
	
	
	public void toupiaoxuanxiangSave(String xuanxiangneirong,String toupiao_id)
	{
		TToupiaoxuanxiang toupiaoxuanxiang=new TToupiaoxuanxiang();
		
		toupiaoxuanxiang.setId(String.valueOf(new Date().getTime()));
		toupiaoxuanxiang.setXuanxiangneirong(xuanxiangneirong);
		toupiaoxuanxiang.setPiaoshu(0);
		toupiaoxuanxiang.setToupiao_id(toupiao_id);
		
		toupiaoxuanxiangDAO.save(toupiaoxuanxiang);
	}

调查结果统计

1.描述:选择一条问卷信息,点击“结果统计”,系统调转到统计页面。

2.程序效果图如下图4.9所示:

img

img

String path = request.getContextPath();
    List xuanxiangList=(List)request.getAttribute("xuanxiangList");
			
    DefaultCategoryDataset categoryDataset=new DefaultCategoryDataset();
    for(int i=0;i<xuanxiangList.size();i++)
    {
        TToupiaoxuanxiang toupiaoxuanxiang=(TToupiaoxuanxiang)xuanxiangList.get(i);
        categoryDataset.setValue(toupiaoxuanxiang.getPiaoshu(),"",toupiaoxuanxiang.getXuanxiangneirong()+"("+toupiaoxuanxiang.getPiaoshu()+")" );
    }
	
	
	JFreeChart freeChart=ChartFactory.createBarChart("投票结果柱状图", "", "", categoryDataset, PlotOrientation.VERTICAL, false, false, false);
       

    TextTitle title=freeChart.getTitle();
	title.setFont(new Font("宋体", Font.BOLD, 20));
	
	CategoryPlot plot=(CategoryPlot)freeChart.getPlot();
	CategoryAxis categoryAxis=plot.getDomainAxis();//横轴
	categoryAxis.setLabelFont(new Font("宋体", Font.BOLD, 11));
    categoryAxis.setTickLabelFont(new Font("宋体" , Font.BOLD , 11));
	
	NumberAxis numberAxis=(NumberAxis)plot.getRangeAxis();
	numberAxis.setLabelFont(new Font("宋体", Font.BOLD, 20));//纵轴
       
	
	
	String tu_mingzi=String.valueOf(new Date().getTime())+".jpg";
    String url = request.getSession().getServletContext().getRealPath("tutu")+"\\"+tu_mingzi;
	
	OutputStream os=new FileOutputStream(url);
	ChartUtilities.writeChartAsJPEG(os, freeChart, 900, 700);
	os.close();

开发环境

开发工具:idea、Navicat

数据库:MySQL8.0

环境配置:jdk1.8 、Tomcat8.5

开发人员:IT012201