本文实例讲述了JSP实现的简单Web投票程序。分享给大家供大家参考。具体如下:
这里使用文本文件作为数据存储的投票系统。
1. vote.java:
package vote; import java.io.*; import java.util.*; public class vote { 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; i < n; i++) fileWrite.println("0"); fileWrite.close(); } } public void writeFile() throws FileNotFoundException { fileWrite = new PrintWriter(new FileOutputStream(filePath)); for (int i = 0; i < n; i++) { fileWrite.println(voteNum[i]); } fileWrite.close(); } public void readFile() throws FileNotFoundException { fileRead = new BufferedReader(new FileReader(filePath)); for (int i = 0; i < n; 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(); } } }
2. vote.jsp:
<%@ page contentType="text/html; charset=gb2312" %> <%@ 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>
3. see.jsp:
<%@ page contentType="text/html; charset=gb2312" %> <%@ 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;i<4;i++) total+=vote.voteNum[i]; for(int i=0;i<4;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="/UploadFiles/2021-04-02/bar.gif">4. index.jsp:
<%@ page contentType="text/html; charset=gb2312" %> <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> <td><form name="form1" method="post" action="vote.jsp"> <table width="100%" height="250" border="1" align="center" bordercolor="#9966CC" class="t1"> <tr> <td><div align="left">你所使用的开发语言</div></td> </tr> <tr> <td><input type="radio" name="lang" value="0"> JSP</td> </tr> <tr> <td><input type="radio" name="lang" value="1"> ASP</td> </tr> <tr> <td><input type="radio" name="lang" value="2"> PHP</td> </tr> <tr> <td><input type="radio" name="lang" value="3"> 其他 </td> </tr> <tr> <td><div align="center"> <input name="vote" type="image" src="/UploadFiles/2021-04-02/poll.gif">希望本文所述对大家的JSP程序设计有所帮助。