b.jsp: 
<%@ page import="java.sql.*" %> <jsp:useBean id = "myBean" class = "n.M" scope = "application" /> 
<% 
ResultSet rs = myBean.execute("select * from b"); 
out.println(rs.getString(1)); 
%> M.java: package n;
import java.sql.*;public class M
{
  String DBDriver = "sun.jdbc.odbc.JdbcOdbcDirver";
  String url = "jdbc:odbc:MS Access Database;DBQ=d:\\b.mdb";
  Connection conn = null;
  ResultSet rs = null;public ResultSet execute(String sql) 

  try 
  { 
  Class.forName(DBDriver).newInstance(); 
  conn = DriverManager.getConnection(url); 
  Statement stmt = conn.createStatement(); 
  rs = stmt.executeQuery(sql); 
  } 
  catch(Exception e){} 
  return rs; 
} }
运行的时候就显示一张白板,什么结果都没有,我就是想只要能连接到数据库并且显示内容就可以,请问是哪里出问题了?

解决方案 »

  1.   

    out.println(rs.getString(1));  
    b 表中一共有几个字段哦?
      

  2.   

    要把jsp<% %>放在<body/>中
      

  3.   

    低价转让JAVA/Oracle系列的培训资料,同时转让相关经典书籍,详细介绍如下,后面有联系方式,需要的请速联系。(一律超低价转让!!!一次全购价格绝对让你心动!!!)
    一、JAVA基础培训
    1.孙鑫Java无难事(共108集  SWF格式)
    2.张孝祥Java就业培训(共56集  RM/RMVB格式)
    3.翁凯Java语言视频培训(共30讲  CSF格式)
    二、JAVA进阶培训
    1.吉林大学远程JSP培训(共32讲 AVI格式)
    2.西安电子科技大学JSP在线课程(共35讲  AVI格式)
    3.JSP数据库系统开发培训( ISO格式 内含电子书及相关源代码)
    4.刘晓涛JAVA UML核心基础(共6集  RM/RMVB格式 )
    5.J2EE专题系列讲座之Struts(共5讲  AVI格式 )
    6.赛迪网校J2EE软件工程师培训(J2EE基础13集  高级17集  案例7集)
    7.J2EE Web程序开发(共38集)
    8.天峰培训J2EE快速进阶培训视频(共33讲  AVI格式)
    三、JAVA实战项目培训录像
    1.北京尚学堂科技_马士兵老师_项目实战手把手java视频教程-坦克大战
    2.北京尚学堂科技_马士兵老师_项目实战手把手j2se视频教程-Chat
    3.北京尚学堂科技_马士兵老师_项目实战手把手BBS教程
    四、数据库方面
    1.Oracle 9i DBA中文视频远程班培训录像(共64集  AVI格式)
    *1Z0-007 Introduction to Oracle9i SQL 
    *1Z0-031 Oracle9i DBA Fundamentals I 
    *1Z0-032 Oracle9i DBA Fundamentals II 
    *1Z0-033 Oracle9i Performance Tuning
        另附全套PPT培训讲稿。
    2.中科院Oracle 10G 数据库培训录像(共18集 rmvb格式)联系方式:
    QQ:421130479
    MSN:[email protected]
    E-mail:[email protected]
      

  4.   

    需要先调用ResultSet的next()方法之后才能调用getString(1)方法,否则不能读取ResultSet里面的记录
      

  5.   

    或者先调用ResultSet的first()方法也可以
      

  6.   

    你try{}catch{}一下,看看错误原因。
      

  7.   

    conn = DriverManager.getConnection(url); 
    测试 一下连接数据库System.out.println(conn);<jsp:useBean id = "myBean" class = "n.M" scope = "application" /> 
    <% 
    ResultSet rs = myBean.execute("select * from b"); 
    if(rs.next())
    {
      out.println(rs.getString(1)); 
    }
    %>
      

  8.   

    String DBDriver = "sun.jdbc.odbc.JdbcOdbcDirver";写错了,应该是
    String DBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
      

  9.   

    Chinajash()兄:万分感谢你的细心,可是我改过之后仍然什么也没有,下面是我按照大家的提示修改后的程序,各位仁兄,帮我解决了这个问题我一定追加分
    <%@ page import="java.sql.*" %><jsp:useBean id = "myBean" class = "n.M" scope = "application" /> 
    <% 
    try{
    ResultSet rs = myBean.execute("select * from b"); 
    while(rs.next())  //if(rs.next())也不行
      out.println(rs.getString(1)); 
    }
    catch(Exception e){}
    %>
    这里如果不catch异常,会报如下的错:
    org.apache.jasper.JasperException
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)下面是M.jsp:
    package n;
    import java.sql.*;public class M
    {
      String DBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
      String url = "jdbc:odbc:MS Access Database;DBQ=d:\\b.mdb";
      Connection conn = null;
      ResultSet rs = null;public ResultSet execute(String sql) 

      try 
      { 
      Class.forName(DBDriver).newInstance(); 
      conn = DriverManager.getConnection(url); 
      Statement stmt = conn.createStatement(); 
      rs = stmt.executeQuery(sql); 
      } 
      catch(Exception e){} 
      return rs; 

    }
      

  10.   

    //数据库没联上吧,抛出异常 
    catch(Exception e){
      throw new Exception(e);}
    return rs;
    }
    }
      

  11.   

    To caesarx(恺撒),我用Netbean试了一下你的代码,没有问题,JSP能显示结果.
    你可以单元测试一下M.java的execute()方法是否能正常工作,如果正确,之后你可以把JSP改成如下,把捕获的异常堆栈信息输出来,这样应该可以知道是哪里出了问题
    <%@ page import="java.sql.*" %><jsp:useBean id = "myBean" class = "n.M" scope = "application" />
    <% 
    try{
        ResultSet rs = myBean.execute("select * from b");
        while(rs.next())  //if(rs.next())也不行
            out.println(rs.getString(1));
    } catch(Exception e){e.printStackTrace();}
    %>这样可以把问题具体定位在JavaBean还是JSP或者数据库上面
    另外,M.execute()方法也要把异常堆栈信息输出来,改动如下:
    public ResultSet execute(String sql) 

      try 
      { 
      Class.forName(DBDriver).newInstance(); 
      conn = DriverManager.getConnection(url); 
      Statement stmt = conn.createStatement(); 
      rs = stmt.executeQuery(sql); 
      } 
      catch(Exception e){e.printStackTrace();}} 
      return rs; 
    }
    这样有利于调试
      

  12.   

    <%@ page import="java.sql.*" %>
    <jsp:useBean id = "myBean" class = "n.M" scope = "application" />
    <% 
    try{
        ResultSet rs = myBean.execute("select * from b");
    ---out.println(myBean.getSql());---//我在jsp文件中加入了这句
        while(rs.next())  
            out.println(rs.getString(1));} catch(Exception e){e.printStackTrace();}
    %>
    在bean的public ResultSet execute(String sql)里赋值this.sql=sql;用getSql()返回,
    把this.sql=sql;这句依次放在下面这四句的中间,
    Class.forName(DBDriver).newInstance(); (1)
    conn = DriverManager.getConnection(url); (2)
    Statement stmt = conn.createStatement(); (3)
    rs = stmt.executeQuery(sql); 
    放在(1)(2)中间的时候能网页能正常打印出sql的值(也就是"select * from b"这句),放到(2)(3)中间的时候就只打印null,也就是说bean从这句(2)句开始就出错了吧,可是这句应该没有任何问题,我把他放到别的程序里就能正常运行,而且数据库也应该没问题,我用单独的java程序连接这个表就能正常显示结果,怎么就找不到原因呢?
    还有我加入这句e.printStackTrace();后,编译器也没有任何提示,直接就编译通过,邪门了
      

  13.   

    bean应该没什么问题了,问题估计就是在jsp的这几句里,
    try{
        ResultSet rs = myBean.execute("select * from b");//经过上面的测试证明这句应该也没什么问题.
        while(rs.next())
        out.println(rs.getString(1));
    }
    catch(Exception e){e.printStackTrace();}
    请问jsp的异常堆栈信息是在哪显示出来的?是在我每次重起tomcat,并且刷新网页之后显示在网页上的吗?可我现在刷新网页的时候仍然是白板
      

  14.   

    jsp的异常堆栈信息会保存在Tomcat的log文件里面,不会显示在网页上
      

  15.   

    看楼主这种问题,应该是数据库没有连接上,你要看一看你的数据库有没有密码访问
    还有,在调试程序的时候,一样一样的调试,比如说,先确定数据库的连接有没有连上,然后再确实SQL语句是否正确,然后再确实执行结果有没有返回,然后再回到JSP页面里面看看JSP语法等其它问题
    这样解决起来就快多了
      

  16.   

    caesarx(恺撒) 
    一个字段怎么能用
    out.println(rs.getString(1))啊
    out.println(rs.getString(0))吧