⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vote.txt

📁 企业培训过程中的记录,希望对找工作的朋友帮助.
💻 TXT
字号:

<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<HTML>
<BODY>
   <%! 
       int total=0;  //记录总票数的变量
       synchronized void countTotal() //操作总票数的同步方法
       {
          total++;
       }
   %>

  <% 
      Connection con=null;
      Statement sql=null;
      ResultSet rs=null;
      boolean vote=true;   //决定用户是否有权投票的变量
      
      String name="";     //得到被选择的候选人名字
      name=request.getParameter("name");
      if(name==null)
        {
           name="?";
        }
     byte a[]=name.getBytes("ISO-8859-1");
     name=new String(a);
     String IP=(String)request.getRemoteAddr();//得到投票人的IP地址

     try{
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载驱动程序
        }
     catch(ClassNotFoundException e)
        {}

     
     //首先查询IP表,判断投票客户的IP地址是否已经投过票
     try{
          con=DriverManager.getConnection("jdbc:odbc:grade","","");
          sql=con.createStatement();
          rs=sql.executeQuery("SELECT * FROM ip WHERE ip = "+"'"+IP+"'");
          int row=0;
          while(rs.next())
             {
                row++;
             }
          if(row>=1)
            {
               vote=false;  //不允许投票
            }
        }
     catch(SQLException e) 
        {}

     if(name.equals("?"))
        {
           out.print("您没有投票,没有权利看选举结果");
        }
     else
        {
          if(vote)
            {
              out.print("您投了一票");
              countTotal(); //将总票数加1

              //给该候选人增加一票,同时将自己的IP地址写入数据库
              try
                 {
                   rs=sql.executeQuery("SELECT * FROM candidate WHERE name="+"'"+name+"'");
                   rs.next();
                   int count=rs.getInt("count");
                   count++;

                   String condition=
                   "UPDATE candidate SET count = "+count+" WHERE name="+"'"+name+"'";
                   //执行更新操作(投票计数)
                   sql.executeUpdate(condition);

                   //将IP地址写入IP表
                   String to=
                   "INSERT INTO ip VALUES"+"("+"'"+IP+"'"+")";
                   sql.executeUpdate(to);
                 }
              catch(SQLException e) 
                 {
                   out.print(""+e);
                 }

                //显示投票后的表中的记录
               try{
                     rs=sql.executeQuery("SELECT * FROM candidate "); 
                     out.print("<Table Border>");
                     out.print("<TR>");
                     out.print("<TH width=100>"+"姓名"+"</th>");
                     out.print("<TH width=100>"+"得票数"+"</th>");
                     out.print("<TH width=100>"+"总票数:"+"</th>");
                     out.print("</TR>");

                     while(rs.next())
                         {
                           out.print("<TR>");
                           out.print("<TD>"+rs.getString(1)+"</TD>");
                           int count=rs.getInt("count");
                           out.print("<TD>"+count+"</TD>");
                           double b=(count*100)/total; //得票的百分比。
                           out.print("<TD>"+b+"%"+"</TD>");
                           out.print("</TR>");
                         }
                     out.print("</Table>");
                     con.close();
                  }
               catch(SQLException e) 
                  {}
              }
           else
              {
                 out.print("您已经投过票了");
              }
          }
  %>

</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -