教大家使用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); 

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

(0)

相关推荐

  • jQuery+ajax实现顶一下,踩一下效果

    demo页面的实现 复制代码 代码如下: <div class="digg" id="digg"> <div class="good"> <a href="#"> <p>这个文档不错</p> <div class="bar"> <div id="g_img" style="width:70%"

  • 教大家使用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/199

  • PHP+MySql+jQuery实现的"顶"和"踩"投票功能

    本文实例为大家分享了基于PHP+jQuery+MySql实现红蓝(顶踩)投票代码,供大家参考,具体内容如下 数据库操作: CREATE TABLE IF NOT EXISTS `votes` ( `id` int(10) NOT NULL AUTO_INCREMENT, `likes` int(10) NOT NULL DEFAULT '0', `unlikes` int(10) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM D

  • PHP+MySql+jQuery实现的"顶"和"踩"投票功能

    本文实例为大家分享了基于PHP+jQuery+MySql实现红蓝(顶踩)投票代码,供大家参考,具体内容如下 数据库操作: CREATE TABLE IF NOT EXISTS `votes` ( `id` int(10) NOT NULL AUTO_INCREMENT, `likes` int(10) NOT NULL DEFAULT '0', `unlikes` int(10) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM D

  • PHP结合jQuery实现的评论顶、踩功能

    当我们浏览网页时,我们想对网页内容如文章.评论中的观点持赞同或反对意见时,可以通过点击网页中的"顶"和"踩"来进行投票.而整个交互过程,开发者可以通过ajax异步来实现,从而提高用户体验. 本文结合实例,讲解使用PHP+MySql+jQuery实现的"顶"和"踩"投票功能,通过记录用户IP,判断用户的投票行为是否有效,该实例也可以扩展到投票系统中.如果您具备PHP.MySql和jQuery相关基础知识,那么请继续往下阅读. 准

  • 手把手教你用Java实现一套简单的鉴权服务

    前言 时遇JavaEE作业,题目要求写个简单web登录程序,按照老师的意思是用servlet.jsp和jdbc完成.本着要么不做,要做就要做好的原则,我开始着手完成此次作业(其实也是写实训作业的用户鉴权部分),而之前写项目的时候也有相关经验,这次正好能派上用场. 一.何为鉴权服务 引用百度百科的话说 鉴权(authentication)是指验证用户是否拥有访问系统的权利. 鉴权包括两个方面: 用户鉴权,网络对用户进行鉴权,防止非法用户占用网络资源. 网络鉴权,用户对网络进行鉴权,防止用户接入了非

  • 教你用Java Swing做一个定时提醒工具

    前言 因为上下班的时候,老是忘记打卡(其实这不是重点,因为可以补卡嘛),重点是下班走的时候总是忘记关空调(谁最后走忘记关空调,罚100...) 我一开始的做法是,在主机上贴个便签,写上关空调三个大字,坐在电脑旁,只要你眼睛稍微一瞥,就是看到.可是依旧是该忘还得忘,那么明显一个便签贴在那,走的时候死活看不到,我有什么办法! 然后我就想做个弹窗提醒,一到下班的点,就弹窗提醒,然后就关空调,下班就关,总不会忘了吧.刚好那两天因为项目需要,我写了个vbs脚本,用vbs启动jar和exe程序这些.就想用v

  • 教你在 Java 中实现 Dijkstra 最短路算法的方法

    目录 定义 带权有向图的实现 带权有向边 带权有向图 最短路算法 API Dijkstra 算法 算法流程 最小索引优先队列 实现算法 后记 定义 最短路问题的定义为: 下图左侧是一幅带权有向图,以顶点 0 为起点到各个顶点的最短路径形成的最短路径树如下图右侧所示: 带权有向图的实现 在实现最短路算法之前需要先实现带权有向图.在上一篇博客 <如何在 Java 中实现最小生成树算法> 中我们实现了带权无向图,只需一点修改就能实现带权有向图. 带权有向边 首先应该实现带权有向图中的边 Direct

  • Ajax实现评论中顶和踩功能的实例代码

    效果大致如下: javascript这块使用jquery.新建一个Asp.net web项目,使用NuGet获取Jquery最新版. 数据库方面使用Nhibernate,用Install-Package Nhibernate引用. 数据库是用的PostgreSQL,Install-Package Npgsql把驱动装上.我这里偷个懒,数据库名,用户名和密码都是ajaxDemo了. 创建数据库: 复制代码 代码如下: CREATE DATABASE "ajaxDemo"   WITH O

  • 用php和jQuery来实现“顶”和“踩”的投票功能

    当我们浏览网页时,我们想对网页内容如文章.评论中的观点持赞同或反对意见时,可以通过点击网页中的"顶"和"踩"来进行投票.而整个交互过程,开发者可以通过ajax异步来实现,从而提高用户体验. 我们先要准备为整个实例运行所需的mysql数据表,实例中需要两个表,votes表用来记录对应文章或评论的用户投票数,并且我们默认写入一条id为1的数据以便演示,votes_ip表用来记录用户每次投票的IP,程序根据用户IP决定投票是否有效. 数据表 CREATE TABLE IF

  • 教你用Java验证服务器登录系统

    一.前言 代码全部由自己所写,作者是一名小白请多多包涵,如果代码有什么不好的地方大佬们可以指出问题 单独写一个这样简易的登录是因为比较方便,由于我尝试了多次在写好的程序内直接写这个登录系统测试,很麻烦.不方便,所以单独写出了这套代码,个人觉得这样把写好的程序放进去修改就比较方便多了 二.登录系统服务端 import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class ServerLogin {

随机推荐