这是我的index.jsp文档:
<%@ page contentType="text/html;charset=gbk"%>
<%@ page language="java" import="java.sql.*"%>
<jsp:useBean id = "connBean" scope = "page" class = "Data.VoteConn"/><html>
<%
ResultSet rs = connBean.executeQuery("select * from vote");
%>

<body>
<form>
<% while(rs.next()) { %>
<tr>
<td>
<input type="radio" name = "type" value = <%= rs.getString("id") %>> <%= rs.getString("note") %>
</td>
</tr>
<%}
rs.close();
%>
<tr>
<td>
<input type="submit" value="投票">
</td>
</tr>
</form>
<tr>
<td>
<a href="03.htm">查看</a>
</td>
</tr>
</body>
</html>
这是我Bean的java类:
package Data;
import java.sql.*;public class VoteConn {
String DBDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String ConnStr = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=TouPiao";
String ConnName = "sa";
String ConnPwd = "123456";
Connection conn = null;
ResultSet rs = null;

public VoteConn() {
try {
Class.forName(DBDriver);
} catch (Exception e) {
e.printStackTrace();
}
}

public ResultSet executeQuery(String sql) {
try {
conn = DriverManager.getConnection(ConnStr,ConnName,ConnPwd);
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
} catch(Exception e) {
e.printStackTrace();
}
return rs;
}

public int exetuteUpdate(String sql) {
int result = 0;
try {
conn = DriverManager.getConnection(ConnStr,ConnName,ConnPwd);
Statement stmt = conn.createStatement();
result = stmt.executeUpdate(sql);
} catch (Exception e ) {
e.printStackTrace();
}
return result;
}

}
sql-server已经打了sql4的补丁...编译没错,在IE运行时出错:
org.apache.jasper.JasperException: Exception in JSP: /index.jsp:129: 
10:  <body>
11:  <form>
12:  <% while(rs.next()) { %>
13:  <tr>
14:  <td>
15:  <input type="radio" name = "type" value = <%= rs.getString("id") %>> <%= rs.getString("note") %>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)请问高手这是怎么回事啊!!!??我用的是EC工具

解决方案 »

  1.   

    jsp及java程序都没问题。
    你java程序中的executeQuery(String   sql)、exetuteUpdate(String   sql)方法在编写时开发环境没有报错吗?最好不与java本身有的方法同名,除非你要重写。
      

  2.   

    ResultSet   rs   =   connBean.executeQuery( "select   *   from   vote "); 
    你输出以下rs结果集的值就知道哪错了
      

  3.   

    getString方法在哪?我把我的bean发出来,反正我这个是可以用的,你改造一下好了!
    package test.db;
    import java.io.*;
    import java.sql.*;public class DatabaseCon {
    //声明类成员
    public Connection con;
    public String URL="jdbc:odbc:mybooks";
    public String Message;
    public boolean connection() {
    try{
    //加载JDBC-ODBC桥驱动程序
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    }
    catch(ClassNotFoundException ex){
    Message=ex.getMessage();
    System.exit(-1);
    }
    try{
    //试图通过JDBC-ODBC桥建立一个与mybooks数据源的连接
    con = DriverManager.getConnection(URL,"sa","");
    return true;
    }
    catch(SQLException ex){
    Message=ex.getMessage();
    return false;
    }
    }
    //关闭数据库连接
    public boolean close(){
    try{
    con.close();
    return true;
    }
    catch(Exception ex){
    Message=ex.getMessage();
    return false;
    }
    }
    //执行SQL查询语句,返回执行结果集
    public ResultSet exeSQL(String sqlstr){
    try{
    connection();
    Statement stmt=con.createStatement();
    ResultSet rs=stmt.executeQuery(sqlstr);
    return rs;
    }catch(Exception ex){
    Message=ex.getMessage();
    }
    return null;
    }
    //从指定的结果集rs中返回某字段str的值
    public String getString(ResultSet rs,String str){
    try{
    return rs.getString(str);
    }catch(Exception ex){
    Message=ex.getMessage();
    }
    return null;
    }
    }