CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

这个异常该怎样处理?连接Access数据库出现的问题

楼主Tlake(明日要走几多路)2006-12-01 00:01:25 在 Java / Web 开发 提问

type   Exception   report  
   
  message    
   
  description   The   server   encountered   an   internal   error   ()   that   prevented   it   from   fulfilling   this   request.  
   
  exception    
   
  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)  
   
   
  root   cause    
   
  java.lang.NullPointerException  
  org.apache.jsp.conn_005fdb_jsp._jspService(conn_005fdb_jsp.java:78)  
  org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)  
  javax.servlet.http.HttpServlet.service(HttpServlet.java:802)  
  org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)  
  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)  
   
   
  note   The   full   stack   trace   of   the   root   cause   is   available   in   the   Apache   Tomcat/5.0.30   logs.  
   
  问题点数:20、回复次数:8Top

1 楼Tlake(明日要走几多路)回复于 2006-12-01 00:01:56 得分 0

JSP源代码如下:  
   
  <%@   page   contentType="text/html;charset=GBK"   %>  
  <%@   page   language="java"   import="java.sql.*"%>  
  <jsp:useBean   id="connDbBean"   scope="page"   class="student.conn"/>  
  <html>  
  <head>  
  <title>test   db   connection</title>  
  </head>  
  <body   bgcolor="#FFFFFF">  
  <div   align="center">  
      <table   width="60%"   border="1">  
          <tr   bgcolor="#CCCCFF">    
              <td   width="50%">    
                  <div   align="center"><font   color="#FF0033"><b>姓名</b></font></div>  
              </td>  
              <td   width="25%">    
                  <div   align="center"><font   color="#FF0033"><b>性别</b></font></div>  
              </td>  
              <td   width="25%">    
                  <div   align="center"><font   color="#FF0033"><b>分数</b></font></div>  
              </td>  
          </tr>  
  <%  
  ResultSet   RS_result   =   connDbBean.executeQuery("select   *   from   table1");  
  String   studentName="";  
  String   studentSex="";  
  int   studentScore=0;  
  while(RS_result.next())  
  {  
  studentName     =   RS_result.getString("name");  
  studentSex       =   RS_result.getString("sex");  
  studentScore   =   RS_result.getInt("score");  
  %>  
          <tr>    
              <td   width="50%"   bgcolor="#FFFFFF">    
                  <div   align="center"><%=studentName%></div>  
              </td>  
              <td   width="25%">    
                  <div   align="center"><%=studentSex%></div>  
              </td>  
              <td   width="25%">    
                  <div   align="center"><%=studentScore%></div>  
              </td>  
          </tr>  
  <%  
  }  
  RS_result.close();  
  %>  
      </table>  
  </body>  
  </html>  
  Top

2 楼Tlake(明日要走几多路)回复于 2006-12-01 00:02:57 得分 0

用到的Java   Bean源码如下:  
   
  package   student;  
  import   java.sql.*;  
  public   class   conn   {  
  String   sDBDriver   =   "sun.jdbc.odbc.JdbcOdbcDriver";  
  String   sConnStr   =   "jdbc:odbc:student";  
  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)   {  
  try   {  
  connect   =   DriverManager.getConnection(sConnStr);    
  Statement   stmt   =   connect.createStatement();  
  rs   =   stmt.executeQuery(sql);  
  }    
  catch(SQLException   ex)   {    
  System.err.println(ex.getMessage());  
  }  
  return   rs;  
  }  
  }  
  Top

3 楼guoyoulei520()回复于 2006-12-01 00:24:48 得分 0

操作集ResultSet不要放在页面中,这样页面的负担会有较大的负担,你把它放在java   bean中,把检索得到的数据放在arrlylist当中,然后在页面中调用这个bean,   并得到arrlylist,就可以了!  
  Top

4 楼Tlake(明日要走几多路)回复于 2006-12-01 08:57:40 得分 0

谢楼上,   只是我刚接触JSP,   不知怎么改先,驱者请哪位帮把代码修改一下,谢谢!Top

5 楼Tlake(明日要走几多路)回复于 2006-12-01 12:17:57 得分 0

这是一本书中的例子,难道例子写错?Top

6 楼fzlotuscn(无为一本)回复于 2006-12-01 13:36:01 得分 0

用到的Java   Bean源码如下:  
   
  package   student;  
  import   java.sql.*;  
  public   class   conn   {  
  String   sDBDriver   =   "sun.jdbc.odbc.JdbcOdbcDriver";  
  String   sConnStr   =   "jdbc:odbc:student";  
  Connection   connect   =   null;  
  ResultSet   rs   =   null;  
   
  不用ODBC连接     改成直接连接你先试试行不行  
   
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();  
  String   url   ="jdbc:odbc:Driver={Microsoft   Access   Driver   (*.mdb)};DBQ=d:/jsp/oa/database/oa_database.mdb";  
   
   
  按错误提示有可能不是你的代码问题  
   
   
  package   oa.db;  
  /**  
    *   <p>数据库连接专用包   </p>  
    *   <p>Copyright:   wxy   Copyright   (c)   2004</p>  
    *   <p>Company:juanjuan   book   shop   online   </p>  
    *   @by   :wxy  
    *   @version   1.0  
    */  
  import   java.sql.*;  
  public   class   opendb   {  
      public   Connection   conn;  
      public   Statement   stmt;  
      public   ResultSet   rs=null;  
      public   String   sqlStr="";  
   
      public   opendb()   {  
          this.connect();  
      }  
    public   boolean   connect(){  
              try{  
                  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();  
                  String   url   ="jdbc:odbc:Driver={Microsoft   Access   Driver   (*.mdb)};DBQ=d:/jsp/oa/database/oa_database.mdb";  
                  conn=DriverManager.getConnection(url,"root","8888");  
                  stmt   =   conn.createStatement   ();  
                }catch(Exception   ee){  
                  System.out.println("connect   db   error:"+ee.getMessage());  
                  return   false;  
                }  
              return   true;  
          }  
   
  //用于执行查询数据库的操作  
  //返回查询结果集  
  public     ResultSet   execQuery(String   sql)   {  
  String   url   ="jdbc:odbc:Driver={Microsoft   Access   Driver   (*.mdb)};DBQ=d:/jsp/oa/database/oa_database.mdb";  
  ResultSet   rs=null;  
  try   {  
  conn   =   DriverManager.getConnection(url,"root","8888");  
  Statement   stmt   =   conn.createStatement();  
  rs   =   stmt.executeQuery(sql);  
  //stmt.close();  
  }   catch(SQLException   ex)   {  
  System.err.println("opendb.execQuery():   "   +   ex.getMessage());  
  }  
   
  return   rs;  
  }Top

7 楼Tlake(明日要走几多路)回复于 2006-12-01 23:49:33 得分 0

但是还是想用ODBC连,   难道就连不了吗?   应该怎么改?Top

8 楼TGWall(Begin-End)回复于 2006-12-03 10:40:06 得分 20

String   sConnStr   =   "jdbc:odbc:student";  
  改成试试:  
  String   sConnStr   =   "jdbc:odbc:driver={Microsoft   Access   Driver   (*.mdb)};DBQ=目录/student.mdb";Top

相关问题

关键词

得分解答快速导航

  • 帖主:Tlake
  • TGWall

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo