javaweb 投票系统

墨蓝 2023-05-31 07:05 71阅读 0赞

最近做了一个简单的投票系统,来分享一下
1 先来看一下目录
在这里插入图片描述
2 效果图是这样的
首页,对一次演讲进行简单的评分
在这里插入图片描述
如果选项不完整,或者是没有选项,就会提示选项不完整,并且点击按钮进入选项页面
在这里插入图片描述
如果选项完整就会进入图像类
在这里插入图片描述
然后可以查看本次的总结果,是过还是不过
在这里插入图片描述
以后就是这个小程序的总体结果图
2 接下来,分享代码

2.1 主页面

  1. <%@ page import="java.util.UUID" %>
  2. <%@ page language="java" contentType="text/html; charset=UTF-8"
  3. pageEncoding="UTF-8"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <title>Insert title here</title>
  9. <style type="text/css">
  10. div.ex
  11. {
  12. background-color:#e5eecc;
  13. padding:7px;
  14. border:solid 1px #c3c3c3;
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <h2>请为本次演讲评分</h2>
  20. <form action="/统计/Damo1Servlet" name="demo" method="post" onsubmit="return dosubmit()">
  21. <h3>1 素材内容是否吸引</h3>
  22. <div class="ex">
  23. <input type="radio" name="sex" value="one">吸引<br/>
  24. <input type="radio" name="sex" value="two">不够吸引<br/><br/>
  25. </div>
  26. <h3>2 语调音量是否洪亮</h3>
  27. <div class="ex">
  28. <input type="radio" name="sound" value="one1">洪亮<br/>
  29. <input type="radio" name="sound" value="two1">不够洪亮<br/><br/>
  30. </div>
  31. <h3>3 是否有感情色彩</h3>
  32. <div class="ex">
  33. <input type="radio" name="love" value="one2"><br/>
  34. <input type="radio" name="love" value="two2">不太明显<br/><br/>
  35. </div>
  36. <input id="ss" type="submit" name="name" value="提交并查看结果" >
  37. </form>
  38. </body>
  39. <script>
  40. function dosubmit(){
  41. document.getElementById("ss").disabled="true";
  42. alert("亲,只能提交一次哦");
  43. return true;
  44. }
  45. </script>
  46. </body>
  47. </html>

2.2 选项不完整提示页面

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html>
  4. <html>
  5. <head>
  6. <meta charset="UTF-8">
  7. <title>Insert title here</title>
  8. </head>
  9. <body>
  10. <p>您的选项不完整,请点击下方按钮,重新选择</p>
  11. <form>
  12. <input type="button" value="请重新选择"
  13. onclick="javascrtpt:window.location.href='/统计/subit.jsp'" />
  14. </form>
  15. </body>
  16. </html>

2.3 图像页面

  1. <%@page import="com.servlet.Barchart1"%>
  2. <%@ page language="java" contentType="text/html; charset=UTF-8"
  3. pageEncoding="UTF-8"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <title>Insert title here</title>
  9. </head>
  10. <body>
  11. <%
  12. String fileName=Barchart1.getBarchart(session);
  13. System.out.println(fileName);
  14. %>
  15. <img src="DisplayChart?filename=<%=fileName %>" width="700" height="500" border="0"/>
  16. <form action="/统计/Damo2Servlet" name="demo" method="post">
  17. <input type="submit" name="name" value="查看最终结果" >
  18. </form>
  19. </body>
  20. </html>

3 接下来是配置文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  3. <display-name>统计</display-name>
  4. <welcome-file-list>
  5. <welcome-file>index.html</welcome-file>
  6. <welcome-file>index.htm</welcome-file>
  7. <welcome-file>index.jsp</welcome-file>
  8. <welcome-file>default.html</welcome-file>
  9. <welcome-file>default.htm</welcome-file>
  10. <welcome-file>default.jsp</welcome-file>
  11. </welcome-file-list>
  12. <servlet>
  13. <servlet-name>DisplayChart</servlet-name>
  14. <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
  15. </servlet>
  16. <servlet-mapping>
  17. <servlet-name>DisplayChart</servlet-name>
  18. <url-pattern>/DisplayChart</url-pattern>
  19. </servlet-mapping>
  20. <servlet>
  21. <description></description>
  22. <display-name>Damo1Servlet</display-name>
  23. <servlet-name>Damo1Servlet</servlet-name>
  24. <servlet-class>com.servlet.Damo1Servlet</servlet-class>
  25. </servlet>
  26. <servlet-mapping>
  27. <servlet-name>Damo1Servlet</servlet-name>
  28. <url-pattern>/Damo1Servlet</url-pattern>
  29. </servlet-mapping>
  30. <servlet>
  31. <description></description>
  32. <display-name>Damo2Servlet</display-name>
  33. <servlet-name>Damo2Servlet</servlet-name>
  34. <servlet-class>com.servlet.Damo2Servlet</servlet-class>
  35. </servlet>
  36. <servlet-mapping>
  37. <servlet-name>Damo2Servlet</servlet-name>
  38. <url-pattern>/Damo2Servlet</url-pattern>
  39. </servlet-mapping>
  40. </web-app>

4 servlet类

  1. package com.servlet;
  2. import java.io.IOException;
  3. import java.io.PrintWriter;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6. import javax.servlet.ServletException;
  7. import javax.servlet.http.HttpServlet;
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10. import com.sun.org.apache.xpath.internal.operations.And;
  11. /**
  12. * 拿到前台数据
  13. */
  14. public class Damo1Servlet extends HttpServlet {
  15. // 创建一个集合,用来存储前台数据
  16. static int sum;
  17. static int num;
  18. static int sum1;
  19. static int num1;
  20. static int sum2;
  21. static int num2;
  22. List<String> arrays1 = new ArrayList<String>();
  23. protected void doGet(HttpServletRequest request, HttpServletResponse response)
  24. throws ServletException, IOException {
  25. String tokens = request.getParameter("name");
  26. System.out.println(tokens);
  27. request.setCharacterEncoding("UTF-8");
  28. response.setCharacterEncoding("UTF-8");
  29. PrintWriter out = response.getWriter();
  30. response.setHeader("content-type", "text/html;charset=UTF-8");
  31. // 模块1
  32. String name = request.getParameter("sex");
  33. // 模块2
  34. String name1 = request.getParameter("sound");
  35. // 模块3
  36. String name2 = request.getParameter("love");
  37. if (name == null || name1 == null || name2 == null) {
  38. response.sendRedirect("damo.jsp");
  39. } else {
  40. if (name.equalsIgnoreCase("one")) {
  41. sum++;
  42. } else if (name.equalsIgnoreCase("two")) {
  43. num++;
  44. }
  45. if (name1.equalsIgnoreCase("one1")) {
  46. sum1++;
  47. } else if (name1.equalsIgnoreCase("two1")) {
  48. num1++;
  49. }
  50. if (name2.equalsIgnoreCase("one2")) {
  51. sum2++;
  52. } else if (name2.equalsIgnoreCase("two2")) {
  53. num2++;
  54. }
  55. /*
  56. * 2、重定向:response.sendRedirect("success.jsp");
  57. * 重定向一般是为了防止用户提交完数据后点浏览器刷新或点后退之后产生重复提交
  58. */
  59. response.sendRedirect("login2.jsp");
  60. }
  61. }
  62. protected void doPost(HttpServletRequest request, HttpServletResponse response)
  63. throws ServletException, IOException {
  64. doGet(request, response);
  65. }
  66. }

4 生成图表类。就是将数据转化为柱状图

  1. package com.servlet;
  2. import java.io.IOException;
  3. import javax.servlet.http.HttpSession;
  4. import org.jfree.chart.ChartFactory;
  5. import org.jfree.chart.JFreeChart;
  6. import org.jfree.chart.plot.PlotOrientation;
  7. import org.jfree.chart.servlet.ServletUtilities;
  8. import org.jfree.data.category.DefaultCategoryDataset;
  9. public class Barchart1 extends Damo1Servlet{
  10. public static String getBarchart(HttpSession session) throws Exception {
  11. DefaultCategoryDataset dataset=new DefaultCategoryDataset();
  12. System.out.println(sum);
  13. System.out.println(num);
  14. dataset.addValue(sum, "素材内容", "吸引");
  15. dataset.addValue(num, "素材内容", "不够吸引");
  16. dataset.addValue(sum1, "语调音量", "洪亮");
  17. dataset.addValue(num1, "语调音量", "不够洪亮");
  18. dataset.addValue(sum2, "感情色彩", "有");
  19. dataset.addValue(num2, "感情色彩", "不太明显");
  20. JFreeChart chart = ChartFactory.createBarChart3D(
  21. "本次演讲结果图", // 图表标题
  22. "评分项目", // 文件夹轴的显示标签
  23. "成绩", // 数值轴的显示标签
  24. dataset, // 数据集
  25. PlotOrientation.VERTICAL, // 图表方向:水平、垂直
  26. true, // 是否显示图例(对于简单的柱状图必须是false)
  27. true, // 是否生成工具
  28. true // 是否生成URL链接
  29. );
  30. String fileName =ServletUtilities.saveChartAsPNG(chart, 700, 500, null,session);
  31. return fileName;
  32. }
  33. }

还有两个类,结构都是和生成图标类一样,包括一个js页面,结构都一样,及不粘贴了

发表评论

表情:
评论列表 (有 0 条评论,71人围观)

还没有评论,来说两句吧...

相关阅读

    相关 javaweb 投票系统

    最近做了一个简单的投票系统,来分享一下 1 先来看一下目录 ![在这里插入图片描述][20191023170720554.png] 2 效果图是这样的 首页,对

    相关 投票

    在许多选举的问题上,并不是每个人都是一张票的,很多时候会由于每个人的权利不同导致每个人的话事权也不一样(可认为所拥有的票数)假设有选举人V1,V2...Vk,他们所拥有的票数分

    相关 投票管理系统

    本次做的课设是投票管理系统,主要要求如下: ![这里写图片描述][SouthEast] 本次作业用到的是java-gui,可以说现在很少有小伙伴在用了吧。(-。-)

    相关 javaweb-一个投票网页

    创建一个投票网页,并实现统计票数和显示。要求:投票项目为两项以上,每项至少有三个选项. 编写程序Vote.html和Vote.jsp 成果展示: ![这里写图片描述][