Java元素班服_班服的图片展示和投票的实现

班级想要定制班服,但班服的图案需要全班同学的投票决定,所以,可以利用机房,使用tomcat,大家访问同一台机器,观看图片和投票。

先看一下,班服的图片展示和投票页面的代码吧:

banfu.html

var checkSubmitFlg = false;

function checkSubmit() {

if (checkSubmitFlg == true) {

return false;

}

checkSubmitFlg = true;

return true;

}

document.ondblclick = function docondblclick() {

window.event.returnValue = false;

}

document.onclick = function doconclick() {

if (checkSubmitFlg) {

window.event.returnValue = false;

}

}

计103-1班服图片介绍

  • mengzhu8.jpg1、单梦竹供图
  • mengzhu9.jpg2、单梦竹供图
  • mengzhu10.jpg3、单梦竹供图
  • mengzhu11.jpg4、单梦竹供图
  • qiaoyue1.jpg5、刘巧月供图
  • qiaoyue2.jpg6、刘巧月供图
  • qiaoyue3.jpg7、刘巧月供图
  • yanwu1.jpg8、陈延武供图
  • yanwu2.jpg9、陈延武供图
  • yajie1.jpg10、尤亚杰供图
  • yajie2.jpg11、尤亚杰供图
  • yajie3.jpg12、尤亚杰供图
  • yajie4.jpg13、尤亚杰供图
  • yajie5.jpg14、尤亚杰供图
  • yajie6.jpg15、尤亚杰供图
  • mengzhu.jpg16、单梦竹供图
  • mengzhu1.jpg17、单梦竹供图
  • mengzhu3.jpg18、单梦竹供图
  • mengzhu5.jpg19、单梦竹供图
  • mengzhu6.jpg20、单梦竹供图
  • shangdi1.jpg21、商迪供图
  • shangdi2.jpg22、商迪供图

查看票数

配合的css代码为:

@CHARSET "UTF-8";

body {

margin: 0 auto;

width: 900px;

height: 800px;

background-image: url('img/1.jpg');

}

/*.span{

font-size: 30px;

font-family: "华文新魏";

color: red;

}*/

.faceul {

margin-left:300px;

width: 900px;

height: 430px;

}

.faceul li {

width: 215px;

height: 210px;

float: left;

margin-left: 10px;

list-style-type: none;

}

.faceul img {

width: 217px;

height: 160px;

}

.faceul font {

font-size: 20px;

margin-left: 5px;

color: yellow;

}

它的显示效果为:

1337136393_5342.jpg

下面是投票计数的代码:

package com.you.banfu;

public class Num {

private static int[] count = new int[23];

private static Num num = new Num();

private Num(){}

public static Num getInstance(){

return num;

}

public int[] getCount(){

return count;

}

public synchronized void set(String[] num) {

for(int i = 0; i < num.length; i++) {

switch(Integer.parseInt(num[i])) {

case 1: count[1]++;break;

case 2: count[2]++;break;

case 3: count[3]++;break;

case 4: count[4]++;break;

case 5: count[5]++;break;

case 6: count[6]++;break;

case 7: count[7]++;break;

case 8: count[8]++;break;

case 9: count[9]++;break;

case 10:count[10]++;break;

case 11: count[11]++;break;

case 12: count[12]++;break;

case 13: count[13]++;break;

case 14: count[14]++;break;

case 15: count[15]++;break;

case 16: count[16]++;break;

case 17: count[17]++;break;

case 18: count[18]++;break;

case 19: count[19]++;break;

case 20: count[20]++;break;

case 21: count[21]++;break;

case 22: count[22]++;break;

}

}

}

}

使用单例模式实现计数。

下面代码实现避免重复提交的情况:

package com.you.banfu;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.HashSet;

import java.util.Set;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class Count extends HttpServlet {

private static final long serialVersionUID = 1L;

String[] num;

String ip;

Set hash = new HashSet();

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doPost( request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

Num n_count = Num.getInstance();

response.setContentType("text/html;charset=UTF-8");

request.setCharacterEncoding("UTF-8");

num = request.getParameterValues("count");

if(hash.add(getRemoteAddress(request))== true){

n_count.set(num);

request.setAttribute("count", n_count.getCount());

request.getRequestDispatcher("/show.jsp").forward(request, response);

}

else{

PrintWriter out = response.getWriter();

out.write("

out.write("window.alert(");

out.write("\"请不要重复提交!\"");

out.write(");window.history.go(-1);");

}

}

public String getRemoteAddress(HttpServletRequest request) {

String ip = request.getHeader("x-forwarded-for");

if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {

ip = request.getHeader("Proxy-Client-IP");

}

if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {

ip = request.getHeader("WL-Proxy-Client-IP");

}

if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {

ip = request.getRemoteAddr();

}

return ip;

}

}

因为在机房中,所以设定一个ip只能提交一次,便实现了避免重复提交。

到显示页面的servlet代码为:

package com.you.banfu;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class Show extends HttpServlet {

/**

*

*/

private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

Num n_count = Num.getInstance();

request.setAttribute("count", n_count.getCount());

request.getRequestDispatcher("/show.jsp").forward(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);

}

}

显示页面的代码为:

My JSP 'show.jsp' starting page
图片编号投票数
${st.count}${num}

使用表格显示,采用动态生成表格。

效果为:

1337136803_2831.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值