• 大小: 13.34 KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-12-11
  • 语言: Java
  • 标签: java  servlet  

资源简介

通过java Servlet实现投票,同一IP不得重复投票

资源截图

代码片段和文件信息

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


public class toupiao extends HttpServlet {
    String driver;
    String url;
    String user;
    String password;
    
public toupiao() {
super();
}
public void init() throws ServletException {
driver = getInitParameter(“DRIVER“);
url = getInitParameter(“URL“);
user = getInitParameter(“USER“);
password = getInitParameter(“PASSWORD“);
}
public void destroy() {
super.destroy(); 
}

/**
 * The doGet method of the servlet. 

 *
 * This method is called when a form has its tag value method equals to get.
 * 
 * @param request the request send by the client to the server
 * @param response the response send by the server to the client
 * @throws ServletException if an error occurred
 * @throws IOException if an error occurred
 */
public void doGet(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException {
response.setContentType(“text/html;charset=gb2312“);
PrintWriter out = response.getWriter();
String schoolname =  new String(request.getParameter(“getschoolname“).getBytes(“iso-8859-1“));
schoolname.trim();
String IP = request.getRemoteAddr();
try{
Class.forName(driver).newInstance();
Connection conn = DriverManager.getConnection(urluserpassword);
if(havethisIP(connIP)){
response.sendRedirect(“toupiao2.jsp“);        //如果这个IP已经投过票了 则刷新页面
return;
}
addCount(connschoolnameIP);
conn.close();
    out.println(“你已成功为集美大学新名字投票!“);
    response.sendRedirect(“/try/next.jsp“);
}catch(Exception e){
out.println(“数据库录入不成功。“);
e.printStackTrace();
}
out.flush();
out.close();
}
private boolean havethisIP(Connection connString IP) throws SQLException{
Statement stmt = conn.createStatement();
String sql = “select * from T6_voteIP where IP=‘“+IP+“‘“;
ResultSet rs = stmt.executeQuery(sql);
if(rs.next()){
return true;    //如果这个IP已经出现在voteIP列表中了 表示havethisIP 即此IP投过票了
}else{
return false;
}
}
    private void addCount(Connection connString schoolString IP) throws SQLException{
     int count=1;
     Statement stmt = conn.createStatement();
String sql1 = “select ncount from T6_vote where name=‘“+school+“‘“;
  ResultSet rs1 = stmt.executeQuery(sql1);
  if(rs1.next()){
  count = rs1.getInt(1);
  count++;
  }
  //提取ncount
  String sql2 = “update T6_vote set ncount=“+count+“ where name=‘“+school+“‘“;
  stmt.executeUpdate(sql2);
  //ncount++之后再存回去
    String sql3 = “insert into T6_voteIP values(‘“+IP+“‘)“;
    stmt.executeUpdate(sql3);
    //保存投票人IP
    stmt.close();
    }
/**
 * The doPost method of the

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4422  2011-05-18 21:04  try\long.jpg

     文件       2358  2011-05-18 21:06  try\long1.jpg

     文件       1822  2011-05-18 21:06  try\long2.jpg

     文件       2154  2011-05-18 21:07  try\long3.jpg

     文件       1179  2011-05-14 17:31  try\next.jsp

     文件       2264  2011-05-18 22:29  try\showresult.jsp

     文件       4639  2011-05-20 18:49  try\toupiao.java

     文件       1855  2011-05-14 17:31  try\toupiao2.jsp

     文件       4987  2011-05-22 10:04  try\WEB-INF\classes\toupiao.class

     文件       2081  2011-05-21 21:36  try\WEB-INF\web.xml

     文件       2079  2011-05-18 20:56  try\WEB-INF\web.xml.bak

     目录          0  2011-05-24 19:37  try\WEB-INF\classes

     目录          0  2011-05-24 19:37  try\WEB-INF\lib

     目录          0  2011-05-24 19:37  try\WEB-INF

     目录          0  2011-05-24 19:37  try

----------- ---------  ---------- -----  ----

                29840                    15


评论

共有 条评论