本文实例为大家分享了java实现顶一下踩一下功能的具体代码,供大家参考,具体内容如下
效果图如下:
主页面:
<!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);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。
如对本文有疑问, 点击进行留言回复!!
详解SpringBoot修改启动端口server.port的四种方式
网友评论