0007Java程序设计-jsp问卷调查系统设计与实现

简介: 0007Java程序设计-jsp问卷调查系统设计与实现

摘 要

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

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


系统功能实现

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


系统登陆页面实现

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

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

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所示:


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

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

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所示

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所示:

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

目录
相关文章
|
25天前
|
JavaScript Java 测试技术
基于Java+SpringBoot+Vue实现的车辆充电桩系统设计与实现(系统源码+文档+部署讲解等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
56 6
|
4月前
|
Java 测试技术 开发者
💡Java 零基础:彻底掌握 for 循环,打造高效程序设计
【10月更文挑战第15天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
146 63
|
3月前
|
SQL XML 缓存
java中jsp详解!!!
JSP(Java Server Pages)是一种动态网页技术标准,允许在HTML页面中嵌入Java代码,实现网页逻辑与设计分离。JSP本质上是Servlet的简化,支持跨平台运行。JSP通过内置对象(如request、response、session等)和指令(如page、include、taglib)提供强大的功能,同时利用EL表达式和JSTL标签库简化页面开发。JSP的核心优势在于快速开发和维护Web应用。
105 0
|
6月前
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
Java服务器端技术:Servlet与JSP的集成与扩展
60 3
|
6月前
|
存储 缓存 前端开发
Servlet与JSP在Java Web应用中的性能调优策略
Servlet与JSP在Java Web应用中的性能调优策略
57 1
|
6月前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
基于Servlet和JSP的Java Web应用开发指南
142 0
|
6月前
|
前端开发 安全 Java
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
41 0
|
7月前
|
JavaScript Java 测试技术
基于Java的智慧医疗服务平台系统设计和实现(源码+LW+部署讲解)
基于Java的智慧医疗服务平台系统设计和实现(源码+LW+部署讲解)
121 8
|
7月前
|
JavaScript Java 测试技术
基于Java的人事管理系统设计和实现(源码+LW+部署讲解)
基于Java的人事管理系统设计和实现(源码+LW+部署讲解)
133 7
|
7月前
|
JavaScript Java 测试技术
基于Java的儿童福利院管理系统设计和实现(源码+LW+部署讲解)
基于Java的儿童福利院管理系统设计和实现(源码+LW+部署讲解)
127 7