一个简单的投票统计出现的问题?在线等待.....
我的文件为conn.java 的代码为:
package vote;
import java.sql.*;
public class conn {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:vote";
Connection connect = null;
ResultSet rs = null;
public conn() {
try {
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e) {
System.err.println( e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
rs = null;
try {
connect = DriverManager.getConnection(sConnStr);
Statement stmt = connect.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.err.println(ex.getMessage());
}
return rs;
}
}
show.jsp的代码为:
<%@ page language="java" import="java.sql.*"%>
<jsp:useBean id="voteBean" scope="page" class="vote.conn"/>
<html>
<head>
<title>当前票数统计</title>
<meta content="text/html; charset=gb_2312-80" http-equiv="Content-Type">
<meta content="blueriver" name="Author">
<meta http-equiv="refresh" content="10;URL=show.jsp"></head>
<body bgcolor="#FFFFFF">
<div align="center">
<h1><b>当前票数统计</b> </h1>
<table width="60%" border="1">
<tr bgcolor="#CCCCFF">
<td width="51%">
<div align="center"><font color="#FF0033"><b>候选公司名</b></font></div>
</td>
<td width="49%">
<div align="center"><font color="#FF0033"><b>当前票数</b></font></div>
</td>
</tr>
<%
ResultSet RS_result;
RS_result=voteBean.executeQuery("select * from result");
String companyName;
int voteNum;
while(RS_result.next())
{
companyName=RS_result.getString("candidate");
voteNum=RS_result.getInt("vote_num");
%>
<tr>
<td width="51%" bgcolor="#FFFFFF">
<div align="center"><%=companyName%></div>
</td>
<td width="49%">
<div align="center"><%=voteNum%></div>
</td>
</tr>
<%
}
RS_result.close();
%>
</table>
<hr align="center">
<h2><b>投票人的详细资料</b> </h2>
<table width="100%" border="1">
<tr bgcolor="#FFCCCC">
<td>
<div align="center"><font color="#0000FF"><b>投票的公司</b></font></div>
</td>
<td>
<div align="center"><font color="#0000FF"><b>投票人姓名</b></font></div>
</td>
<td>
<div align="center"><font color="#0000FF"><b>投票人所在公司</b></font></div>
</td>
<td>
<div align="center"><font color="#0000FF"><b>投票人所在国家</b></font></div>
</td>
<td>
<div align="center"><font color="#0000FF"><b>投票人的IP地址</b></font></div>
</td>
<td>
<div align="center"><font color="#0000FF"><b>投票时间</b></font></div>
</td>
</tr>
<%
ResultSet RS_voter;
RS_voter=voteBean.executeQuery("select * from voter");
String candidate,voterName,voterCompany,voterCountry,ipAdress;
java.util.Date voteTime;
while(RS_voter.next())
{
candidate=RS_voter.getString("candidate");
voterName=RS_voter.getString("voter_name");
voterCompany=RS_voter.getString("voter_company");
voterCountry=RS_voter.getString("voter_country");
ipAdress=RS_voter.getString("ip_address");
voteTime=RS_voter.getDate("vote_time");
%>
<tr>
<td> <%=candidate%></td>
<td> <%=voterName%></td>
<td> <%=voterCompany%></td>
<td> <%=voterCountry%></td>
<td> <%=ipAdress%></td>
<td> <%=voteTime%></td>
</tr>
<%
}
RS_voter.close();
%>
</table>
<p> </p>
</div>
</body>
</html>
我放在我以往运的都正确的代码的路径下:
show.jsp放在D:\Apache Tomcat 4.0\webapps\examples\jsp\vote目录下
conn.class放在D:\Apache Tomcat 4.0\webapps\examples\WEB-INF\classes\vote下
运行出错为:java.lang.NullPointerException
我的默认路径是:D:\Apache Tomcat 4.0\webapps\examples
在这默认路径下其它文件都可以执行并是正确的为什么执行show.jsp文件时出错?
是怎么回事?
急.....
问题点数:0、回复次数:6Top
1 楼sun1979song(十步杀一人)回复于 2002-12-02 10:54:51 得分 0
<jsp:useBean id="voteBean" scope="page" class="vote.conn"/>
改为:
<jsp:useBean id="voteBean" scope="request" class="vote.conn"/>
或者
<jsp:useBean id="voteBean" scope="session" class="vote.conn"/>
试试Top
2 楼zxhong(红透半边天)回复于 2002-12-02 11:02:04 得分 0
<meta content="text/html; charset=gb_2312-80" http-equiv="Content-Type">
<meta content="blueriver" name="Author">
<meta http-equiv="refresh" content="10;URL=show.jsp">
改为:
<meta content="text/html; charset=GBK" http-equiv="Content-Type">
<meta content="blueriver" name="Author">
<meta http-equiv="refresh" content="10;">
试试
另外取数据时要按照设计时的字段顺序Top
3 楼firstname(沧海)回复于 2002-12-02 11:56:37 得分 0
还是不行?Top
4 楼firstname(沧海)回复于 2002-12-02 12:41:34 得分 0
怎么没有人回答我Top
5 楼firstname(沧海)回复于 2002-12-02 14:17:45 得分 0
高手们是么回事呀?
能告诉我吗?Top
6 楼zeeler(鸭子)回复于 2002-12-02 14:47:50 得分 0
你的bean写的有问题:你的conn()方法只是查找数据库驱动类,在executeQuery()方法中,直接就连接数据库,但是你想没想过,你在JSP中直接使用executeQuery()时,conn()执行了吗?你没有Class.forName(sDBDriver)怎么能connect = DriverManager.getConnection(sConnStr)呢?要不把你的conn()改写成构造函数,要不就在JSP中先voteBean.conn();然后再executeQuery()Top




