教大家使用java实现顶一下踩一下功能

 更新时间:2018年02月10日 13:37:53   作者:上天入地  
这篇文章主要教大家如何使用java实现顶一下踩一下功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java实现顶一下踩一下功能的具体代码,供大家参考,具体内容如下

效果图如下:


主页面index.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Digg</title> 
<script type="text/javascript" src="jquery-1.3.2.min.js"></script> 
<script type="text/javascript"> 
 
$(function(){ getdigshtml();}) 
 
 
function isdigs(digtype)//顶一下,踩一下操作 
{ 
    $.ajax({   
    type:'POST', 
    url:'Digg', 
    data:'action=digs&digtype='+digtype, 
/*   beforeSend:function(){ 
      $("#vote").hide(); 
      $("#loadings").show(); 
    }, ajax请求显示loading效果*/ 
    success:function(msg){ 
        switch (msg) 
          { 
/*   后台用来判断 
              case '1':               
              $("#loadings").hide(); 
              $("#vote").show();  
              alert("请先登录!"); 
              break; 
            case '2':               
              $("#loadings").hide(); 
              $("#vote").show(); 
              alert("请先下载,再操作!");              
              break; 
            case '4':               
              $("#loadings").hide(); 
              $("#vote").show(); 
              alert("您已经参与过评价!");              
              break;*/ 
            case '3': 
              getdigshtml();//重新绑定html 
              //$("#loadings").hide(); 
              //$("#vote").show();   
              alert("谢谢你的参与!"); 
              break; 
           
            default: 
          } 
      } 
    })  
}  
 
function getdigshtml()//获取顶一下,踩一下html 
{ 
  $.ajax({   
    type:'POST', 
    url:'Digg', 
    data:'action=getdigshtml', 
    success:function(msg){ 
         $("#digg").html(msg); 
      } 
  })  
}  
 
</script> 
<style type="text/css"> 
* { 
  padding:0; 
  margin:0; 
} 
.digg { 
  height: auto; 
  width: 190px; 
  font-size:12px; 
  font-weight:normal; 
} 
.digg a { 
  display: block; 
  height: 48px; 
  width: 189px; 
  background-image: url(images/mark.gif); 
  background-repeat: no-repeat; 
  position: relative; 
  color: #000; 
  text-decoration: none; 
} 
.digg .good { 
  margin-bottom:10px; 
  margin-top:5px; 
} 
 
.digg .good a { 
  background-position: -189px 0px; 
} 
.digg .good a:hover { 
  background-position: 0px 0px; 
} 
.digg .bad a { 
  background-position: -378px 0px; 
} 
.digg .bad a:hover { 
  background-position: -567px 0px; 
} 
.digg a p { 
  padding-left:30px; 
  line-height:25px; 
} 
.digg .bar { 
  background-color: white; 
  height: 5px; 
  left: 20px; 
  overflow: hidden; 
  position: absolute; 
  text-align: left; 
  top: 30px; 
  width: 55px; 
} 
.bar #g_img { 
  background-image: url(images/sprites.gif); 
  background-repeat: repeat-x; 
  height: 5px; 
  width: auto; 
} 
.bar #b_img { 
  background-image: url(images/sprites.gif); 
  background-repeat: repeat-x; 
  height: 5px; 
  width: auto; 
  background-position: 0px -5px; 
} 
.num { 
  color: #333; 
  font: normal normal 100 10px/12px Tahoma; 
  left: 80px; 
  position: absolute; 
  top: 26px; 
} 
.digg .good .bar { 
  border: 1px solid #40A300; 
} 
.digg .bad .bar { 
  border: 1px solid #555; 
} 
 
</style> 
 
<script type="text/javascript"> 
 
</script> 
</head> 
 
<body> 
<div class="digg" id="digg" style="margin-left: auto;margin-right: auto;"> 
 
</div> 
</body> 
</html> 

后台servlet:

package com.test; 
 
import java.io.IOException; 
import java.io.PrintWriter; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.text.NumberFormat; 
 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
 
public class Digg extends HttpServlet { 
  private static Connection con = null; 
  private static Statement stmt = null; 
 
  /** 
   * Constructor of the object. 
   */ 
  public Digg() { 
    super(); 
  } 
 
  /** 
   * Destruction of the servlet. <br> 
   */ 
  public void destroy() { 
    super.destroy(); // Just puts "destroy" string in log 
    // Put your code here 
  } 
 
 
  public void doGet(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
 
    this.doPost(request, response); 
  } 
 
  public void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
    request.setCharacterEncoding("utf8"); 
    response.setCharacterEncoding("utf8"); 
    String action = request.getParameter("action"); 
    String digtype = request.getParameter("digtype"); 
    if(action.equals("digs")){ 
      try { 
        response.getWriter().write(dig(digtype)); 
         
      } catch (Exception e) { 
        e.printStackTrace(); 
      } 
    }else if(action.equals("getdigshtml")){ 
      try { 
        response.getWriter().write(getDigHtml()); 
      } catch (Exception e) { 
        e.printStackTrace(); 
      } 
    } 
  } 
  private String dig(String digtype)throws Exception{ 
    String sql =""; 
    if(digtype.equals("digs")){ 
      sql ="update dig set digs=digs+1 where id =1"; 
    }else{ 
      sql ="update dig set undigs=undigs+1 where id =1"; 
    } 
    int num =stmt.executeUpdate(sql); 
    if(num>0){ 
      return "3"; 
    } 
    return "1"; 
  } 
  public static void main(String[] args){  
    NumberFormat nf = NumberFormat.getPercentInstance();  
    nf.setMaximumIntegerDigits(4);  
    nf.setMaximumFractionDigits(6);  
    double d = (double)1/(double)7;  
    System.out.println(nf.format(d));  
    }  
  private String getDigHtml()throws Exception{ 
    NumberFormat nf = NumberFormat.getPercentInstance();  
    nf.setMaximumIntegerDigits(3);  
    nf.setMaximumFractionDigits(2);  
     
    String sql ="select * from dig where id=1"; 
    ResultSet res = stmt.executeQuery(sql); 
    double digSum = 0 ; 
    double unDigSum =0 ; 
    double digSumAll = 0; 
    String digPer = "0%"; 
    String unDigPer = "0%"; 
    while(res.next()){ 
      digSum = res.getInt("digs"); 
      unDigSum = res.getInt("undigs"); 
    } 
    digSumAll = digSum + unDigSum; 
    if(digSumAll !=0 ){ 
      digPer = nf.format(digSum/digSumAll); 
      unDigPer = nf.format(unDigSum/digSumAll); 
    } 
     
    String str="<div class='good'>"; 
      str+="<a href=JavaScript:isdigs('digs') >"; 
      str+="<p>很好</p><div class='bar'><div id='g_img' style='width:"+digPer+"'></div></div>"; 
      str+="<span class='num'>"+digPer+"("+digSum+")</span>"; 
      str+="</a></div><div class='bad'>"; 
      str+="<a href=JavaScript:isdigs('undigs') >"; 
      str+="<p>很差</p><div class='bar'><div id='b_img' style='width:"+unDigPer+"'></div></div>"; 
      str+="<span class='num'>"+unDigPer+"("+unDigSum+")</span>"; 
      str+="</a></div>"; 
   
    return str; 
     
  } 
  /** 
   * Initialization of the servlet. <br> 
   * 
   * @throws ServletException 
   *       if an error occurs 
   */ 
  public void init() throws ServletException { 
    try { 
      Class.forName("com.mysql.jdbc.Driver"); 
      con = DriverManager.getConnection( 
          "jdbc:mysql://172.16.42.39:3306/dig", "root", "12345678"); 
      stmt = con.createStatement(); 
    } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
    } 
 
  } 
 
  public void closeCon() { 
    try { 
      stmt.close(); 
      con.close(); 
    } catch (SQLException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
    } 
 
  } 
} 

sql语句:

CREATE TABLE dig( 
 id INT PRIMARY KEY, 
 digs INT, 
 undigs INT 
); 
INSERT INTO dig VALUES(1,0,0); 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

相关文章

  • java网上商城开发之邮件发送功能(全)

    java网上商城开发之邮件发送功能(全)

    这篇文章主要介绍了java网上商城开发之邮件发送功能,第一部分介绍了环境配置,第二部分则介绍了具体实现代码,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • SpringBoot+slf4j实现全链路调用日志跟踪的方法(一)

    SpringBoot+slf4j实现全链路调用日志跟踪的方法(一)

    本文重点给大家介绍Tracer集成的slf4j MDC功能,方便用户在只简单修改日志配置文件的前提下输出当前 Tracer 上下文 TraceId,文章通过代码给大家讲解了在springboot中使用的技巧,感兴趣的朋友跟随小编一起看看吧
    2021-05-05
  • 详解Java如何进行Base64的编码(Encode)与解码(Decode)

    详解Java如何进行Base64的编码(Encode)与解码(Decode)

    这篇文章主要介绍了详解Java如何进行Base64的编码(Encode)与解码(Decode),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • SpringMVC的执行流程及组件详解

    SpringMVC的执行流程及组件详解

    这篇文章主要介绍了SpringMVC的执行流程及组件详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Spring Boot 2.6.x整合Swagger启动失败报错问题的完美解决办法

    Spring Boot 2.6.x整合Swagger启动失败报错问题的完美解决办法

    这篇文章主要给大家介绍了关于Spring Boot 2.6.x整合Swagger启动失败报错问题的完美解决办法,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • 使用IntelliJ IDEA2020.2.2 x64 新建java项目并且输出Hello World

    使用IntelliJ IDEA2020.2.2 x64 新建java项目并且输出Hello World

    这篇文章主要介绍了使用IntelliJ IDEA2020.2.2 x64 新建java项目并且输出Hello World,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Java实现任意进制转换

    Java实现任意进制转换

    这篇文章主要为大家详细介绍了Java实现任意进制转换的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • JMeter断言之json断言解读

    JMeter断言之json断言解读

    这篇文章主要介绍了JMeter断言之json断言问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 10种java数组合并的常用方法总结

    10种java数组合并的常用方法总结

    在Java中,合并(或连接)数组是常见的任务,这篇文章主要为大家整理了10个java中常用的数组合并方法,文中的示例代码简洁易懂,需要的小伙伴可以参考下
    2023-12-12
  • SpringCloud 服务网关路由规则的坑及解决

    SpringCloud 服务网关路由规则的坑及解决

    这篇文章主要介绍了SpringCloud 服务网关路由规则的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07

最新评论