本文实例为大家分享了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);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。