扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
定义三个变量记录每个人的投票数。点击投票按钮后,根据checkbox的勾选情况将三个变量累加。点击查看按钮时展示这三个变量
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的巴彦淖尔网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
把投票的信息放在 ServletContext对象 中。也就是 JSP 内置对象中的application对象。因为投票信息是所有用户都要看的信息,所以要把他放在 ServletContext对象 中。这样只要是 应用一加载就会创建 ServletContext对象 直到应用销毁,也就是服务器关闭时,ServletContext对象 才销毁。这样就使得所有用户公用一个对象存储信息。具体的实现那要根据你自己的需求,具体设计。
public class CServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {int n = 0;ServletContext application = getServletContext();Integer num = (Integer) application.getAttribute("num");if (num != null) {n = num;}application.setAttribute("num", ++n);response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();out.println("你是第" + n + "个访问者");}}
上面是个类似的例子。你可以参考一下。package servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;这是需要导入的包
我之前做过类似的投票小项目,在这里把源码发给你。你自己好好的参考一下。--------------------------package com.tv.bean;public class TVBean {
private String tvName;
private int tvCount;
public String getTvName() {
return tvName;
}
public void setTvName(String tvName) {
this.tvName = tvName;
}
public int getTvCount() {
return tvCount;
}
public void setTvCount(int tvCount) {
this.tvCount = tvCount;
}
}------------------------------package com.tv.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;import com.tv.bean.TVBean;
public class DBUtil {
private Connection con;
private PreparedStatement ps = null;
private ResultSet rs;
public void getCon(){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=TV","sa","");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void closeCon(){
try {
if(rs !=null) rs.close();
if(ps != null) ps.close();
if(con != null) con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public ArrayList getAll(){
ArrayList al = new ArrayList();
this.getCon();
String sql = "select * from TVInfo order by tvCount desc";
try {
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
while(rs.next()){
TVBean tb = new TVBean();
tb.setTvName(rs.getString(1));
tb.setTvCount(rs.getInt(2));
al.add(tb);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
this.closeCon();
}
return al;
}
public boolean updateByName(String name){
this.getCon();
String sql = "update TVInfo set tvCount=tvCount+1 where tvName='"+name+"'";
try {
ps = con.prepareStatement(sql);
int i = ps.executeUpdate();
if(i 0) return true;
else return false;
} catch (SQLException e) {
e.printStackTrace();
return false;
} finally {
this.closeCon();
}
}
}
---------------------------------------package com.tv.servlet;import java.io.IOException;
import java.util.ArrayList;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import com.tv.dao.DBUtil;public class VoteServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
DBUtil dao = new DBUtil();
String [] name = request.getParameterValues("tvs");
int num = name.length;
for(int i =0; i num; i++){
if(dao.updateByName(name[i])){
request.setAttribute("to", "投票成功!");
ArrayList al = dao.getAll();
HttpSession session = request.getSession();
session.setAttribute("al", al);
request.getRequestDispatcher("success.jsp").forward(request, response);
}else{
request.setAttribute("to", "投票失败!请重新再试!");
}
}
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
}
-----------------------------------%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%
%@taglib prefix="c" uri=" "%html
head
title电视投票/title
/head body
center
form action="vote" method="post"
table border="1" align="center"
tr align="center"
td
h2
选择您最喜欢的电视剧并投上一票
/h2
/td
/tr
tr
td
input type="checkbox" name="tvs" value="咏春" /
咏春
/td
/tr
tr
td
input type="checkbox" name="tvs" value="金婚" /
金婚
/td
/tr
tr
td
input type="checkbox" name="tvs" value="士兵突击" /
士兵突击
/td
/tr
tr
td
input type="checkbox" name="tvs" value="少年张三丰" /
少年张三丰
/td
/tr
tr
td align="center"
input type="submit" value=" 提交 " /
input type="reset" value=" 重置 " /
/td
/tr
/table
/form
/center
/body
/html
-------------------------------------第一段代码为JavaBean;第二段代码为数据库连接类;第三段代码为Servlet控制类;第四段代码为JSP显示页面。希望能够解决你的问题!
p style=line-height: 150%SPAN style="FONT-SIZE: 12px"STRONG这是用文本文件作为存储载体的投票系统:/STRONG/SPAN
p style=line-height: 150%SPAN style="FONT-SIZE: 12px"STRONGvote.java:/STRONG/SPAN
SPAN style="FONT-SIZE: 12px"STRONG/STRONG p style=line-height: 150%
// Java Document
package vote;
import java.io.*;
import java.util.*;
public class vote extends Object
{
public String filePath="";
public int n;
private File voteFile;
private BufferedReader fileRead;
private PrintWriter fileWrite;
public String systemMessage="";
private String voteStr[]=new String[10];
public int voteNum[]=new int[10];
public void createFile()
throws FileNotFoundException
{
voteFile=new File(filePath);
if(!voteFile.exists())
{
fileWrite=new PrintWriter(new FileOutputStream(filePath));
for(int i=0;in;i++) fileWrite.println("0");
fileWrite.close();
}
}
public void writeFile()
throws FileNotFoundException
{
fileWrite=new PrintWriter(new FileOutputStream(filePath));
for(int i=0;in;i++)
{
fileWrite.println(voteNum[i]);
}
fileWrite.close();
}
public void readFile()
throws FileNotFoundException
{
fileRead=new BufferedReader(new FileReader(filePath));
for(int i=0;in;i++)
{
try
{voteStr[i]=fileRead.readLine();
}
catch(IOException f)
{
voteStr[i]="0";}
voteNum[i]=Integer.parseInt(voteStr[i]);
}
try
{
fileRead.close();
}
catch(IOException d)
{
systemMessage=d.toString();
}
}
}
p style=line-height: 150%SPAN style="LINE-HEIGHT: 15pt"SPAN style="FONT-SIZE: 12px"STRONGvote.jsp:/STRONG
%@ page contentType="text/html; charset=gb2312" language="java" errorPage="" %
%@ page import="java.util.*"%
%@ page import="java.lang.*"%
%@ page import="java.io.*"%
jsp:useBean id="vote" scope="request" class="vote.vote"/
%
String vote1=request.getParameter("lang");
vote.n=4;
vote.filePath="vote.txt";
vote.createFile();
vote.readFile();
if(vote1.compareTo("0")==0)
vote.voteNum[0]++;
if(vote1.compareTo("1")==0)
vote.voteNum[1]++;
if(vote1.compareTo("2")==0)
vote.voteNum[2]++;
if(vote1.compareTo("3")==0)
vote.voteNum[3]++;
vote.writeFile();
%
script language="javascript"
alert("感谢你投了宝贵的一票");
self.location="index.jsp";
/script/SPAN/SPAN
p style=line-height: 150%STRONG /STRONGSPAN style="LINE-HEIGHT: 15pt"SPAN style="FONT-SIZE: 12px"STRONGsee.jsp:/STRONG
%@ page contentType="text/html; charset=gb2312" language="java" errorPage="" %
%@ page import="java.util.*"%
%@ page import="java.lang.*"%
%@ page import="java.io.*"%
jsp:useBean id="vote" scope="request" class="vote.vote"/
%
String vote1=request.getParameter("lang");
vote.n=4;
vote.filePath="vote.txt";
vote.createFile();
vote.readFile();
int total=0;
float voteFlo[]=new float[5];
for(int i=0;i4;i++) total+=vote.voteNum[i];
for(int i=0;i4;i++) voteFlo[i]=150*((float)vote.voteNum[i]/(float)total);
%
html
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
title查看调查/title
link href="t1.css" rel="stylesheet" type="text/css"
/head
body
table width="30%" border="0" class="t1"
tr
td colspan="2"div align="center"调查结果/div/td
/tr
tr
td width="18%"JSP/td
td width="82%"img src="bar.gif" width=%=voteFlo[0]% height=8 %=vote.voteNum[0]%/td
/tr
tr
tdASP/td
tdimg src="bar.gif" width=%=voteFlo[1]% height=8 %=vote.voteNum[1]%/td
/tr
tr
tdPHP/td
tdimg src="bar.gif" width=%=voteFlo[2]% height=8 %=vote.voteNum[2]%/td
/tr
tr
td其他/td
tdimg src="bar.gif" width=%=voteFlo[3]% height=8 %=vote.voteNum[3]%/td
/tr
tr
td colspan="2"div align="center"a href="javascript:window.close();"关闭窗口/a/div/td
/tr
/table
/body
/html
/SPAN/SPAN
p style=line-height: 150%SPAN style="LINE-HEIGHT: 15pt"SPAN style="FONT-SIZE: 12px"SPAN style="LINE-HEIGHT: 15pt"SPAN style="FONT-SIZE: 12px"STRONGindex.jsp:/STRONG
/SPAN/SPAN
/SPAN/SPAN p style=line-height: 150%SPAN style="LINE-HEIGHT: 15pt"SPAN style="FONT-SIZE: 12px"%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %
html
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
title投票/title
link href="t1.css" rel="stylesheet" type="text/css"
/head
script language="javascript"
function cw()
{window.open("see.jsp","mywindow","toolbar=no,left=150,top=200,width=270,height=350,menubar=no,systemMenu=no");
}
/script
body
table width="15%" height="250" align="left"
tr
tdform name="form1" method="post" action="vote.jsp"
table width="100%" height="250" border="1" align="center" bordercolor="#9966CC" class="t1"
tr
tddiv align="left"你所使用的开发语言/div/td
/tr
tr
tdinput type="radio" name="lang" value="0"
JSP/td
/tr
tr
tdinput type="radio" name="lang" value="1"
ASP/td
/tr
tr
tdinput type="radio" name="lang" value="2"
PHP/td
/tr
tr
tdinput type="radio" name="lang" value="3"
其他 /td
/tr
tr
tddiv align="center"
input name="vote" type="image" src="poll.gif" width="40" height="20" border="0"
a href="javascript:cw()"img src="see.gif" width="40" height="20" border="0"/a/div/td
/tr
/table
/form/td
/tr
/table
/body
/html
/SPAN/SPAN/SPAN
区别就在于代码内容不同,Javaweb投票系统代码是用JAVA写一个投票系统,代码内容是关于投票的,网页制作代码,代码内容是制作网页。
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Vote {
public static void main(String args[]) {
try {
String[] persons = new String[]{"1","2","3"};
Integer[] votes = new Integer[]{0,0,0};
BufferedReader sin = new BufferedReader(new InputStreamReader(
System.in));
String readline;
System.out.println("================投票开始===============");
System.out.println("请按1,2,3投票,Enter确认");
System.out.println("按0--Enter结束投票,公布结果\n");
readline = sin.readLine(); // 从系统标准输入读入一字符串
while (!readline.equals("0")) {
String voteStr = readline;
if(persons[0].equals(voteStr)){
votes[0] +=1;
}else if(persons[1].equals(voteStr)){
votes[1] +=1;
}else if(persons[2].equals(voteStr)){
votes[2] +=1;
}else{
System.out.println("无效的投票!");
}
readline = sin.readLine(); // 从系统标准输入读入一字符串
} // 继续循环
System.out.println("================投票结束===============");
System.out.println("================结果公布===============");
System.out.println(persons[0]+"================"+persons[1]+"==============="+persons[2]);
System.out.println(votes[0]+"================"+votes[1]+"==============="+votes[2]);
} catch (Exception e) {
System.out.println("Error" + e); // 出错,则打印出错信息
}
}
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流