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

📄 startvote.jsp

📁 黑魔方JSP基础教程源代码(耿祥义编著)是这里有课件和jsp源代码
💻 JSP
字号:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<html>
<body>
<%! //记录总票数的变量:
    int total=0;
    //操作总票数的同步方法:
    synchronized void countTotal()
        { total++; 
        }   
%>
<% boolean vote=true;//决定用户是否有权投票的变量。
    //得到被选择的候选人名字:
    String  driv="com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String url1= "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=vote";
    String name="";
    name=request.getParameter("name");
      if(name==null)
       {name="?";
       }
    byte a[]=name.getBytes("ISO-8859-1");
    name =new String(a);
    //得到投票人的IP地址:
    String IP=(String)request.getRemoteAddr();
    //加载桥接器:
     try{Class.forName(driv);
        }
     catch(ClassNotFoundException e){}
    Connection con=null;
    Statement sql=null;
    ResultSet rs=null;
    
   //首先查询IP表,判断该用户的IP地址是否已经投过票:
    try {  con=DriverManager.getConnection(url1,"sa","123");
          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("您投了一票");
         //将总票数加1:
         countTotal();
        //通过连接数据库,给该候选人增加一票,
        //同时将自己的IP地址写入数据库 。
       try
         { rs=sql.executeQuery("SELECT * FROM people WHERE name = "+"'"+name+"'");
           rs.next();
           int count=rs.getInt("count");
           count++; 
           String condition=
              "UPDATE people 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 people");
            out.print("<Table Border>");
            out.print("<TR>");
            out.print("<TH width=100>"+"姓名");
            out.print("<TH width=50>"+"得票数"); 
             out.print("<TH width=50>"+"总票数:"+total); 
            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 + -