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

关于毕业设计中JSP网上书店的数据库连接问题的提问!!!!!!!加三根鸡毛!!!!!!特特特急!!!!!

楼主wangruiqi(宝宝)2006-05-03 01:55:01 在 Java / Web 开发 提问

基础太差,就是没办法知道到底是哪儿出错了,请教高手,快来帮忙救命啊!  
   
  问题,无法连接数据库                   具体问题,无法实现注册,管理员登陆等等,  
   
  代码是一著名网站书籍的源码,不过还是有问题,至少我的JDK环境没问题,tomcat配置没问题,JDBC我就不太清楚了,不过用的是SQL2000   server   for   jdbc,也进行了配置,比如lib文件下烤新的文件什么的.  
   
   
  具体网页显示错误如下  
  org.apache.jasper.JasperException:   Exception   in   JSP:   /adduser.jsp:22  
   
  19:   DBSQLManager   dbsm   =   new   DBSQLManager();  
  20:   String   sql="INSERT   INTO   userpassword   VALUES('"+userid+"','"+password+"','N','"+username+"','"+address+"','"+phone+"','"+email+"')";  
  21:   dbsm.setSqlStr(sql);  
  22:   dbsm.executeUpdate();///////就是这行有问题呀  
  23:   dbsm.close();      
  24:   %>  
  25:   <br><a   class="title">已经注册成功!请<a   href="login.jsp">登录</a></a><br>    
   
   
  Stacktrace:  
  org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)  
  org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)  
  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)  
  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)  
  javax.servlet.http.HttpServlet.service(HttpServlet.java:802)  
   
   
  root   cause    
   
  java.lang.NullPointerException  
  bookshop.DBSQLManager.executeUpdate(DBSQLManager.java:56)  
  org.apache.jsp.adduser_jsp._jspService(adduser_jsp.java:114)  
  org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)  
  javax.servlet.http.HttpServlet.service(HttpServlet.java:802)  
  org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)  
  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)  
  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)  
  javax.servlet.http.HttpServlet.service(HttpServlet.java:802)  
   
   
  note   The   full   stack   trace   of   the   root   cause   is   available   in   the   Apache   Tomcat/5.5.17   logs.  
   
  然后我的数据库操作javabean文件DBSQLManager如下(一般出问题就是说这个javabean有问题,郁闷的不行了,小弟学JSP不久,考虑这个问题都快疯掉了!!!!!!)  
   
  package   bookshop;  
   
  import   java.sql.*;  
  import   bookshop.*;  
   
  public   class   DBSQLManager{  
  protected   Connection   conn   =   null; //Connection对象  
  protected   Statement   stmt   =   null; //Statement对象  
  protected   ResultSet   rs   =   null; //记录结果集  
  protected   String   sqlStr; //SQL语句  
   
  public   DBSQLManager()   {  
  try  
  {  
  sqlStr   =   "";  
  DBConnectionManager   dcm   =   new   DBConnectionManager();  
  conn   =   dcm.getConnection();  
  stmt   =   conn.createStatement();  
  }  
  catch   (Exception   e)   {  
  System.out.println(e);  
  }  
   
  }  
   
  public   Statement   getStmt()   {  
  return   stmt;  
  }  
   
  public   Connection   getConn()   {  
  return   conn;  
  }  
   
  public   ResultSet   getRs()   {  
  return   rs;  
  }  
   
  public   void   setSqlStr(String   newSqlStr)   {  
  this.sqlStr=newSqlStr;  
  }  
   
   
  public   String   getSqlStr()   {  
  return   sqlStr;  
  }  
   
   
   
   
  public   void   executeUpdate()   throws   Exception     {  
  int   rowCount   =   stmt.executeUpdate(sqlStr);///这行中的"int   rowCount   ="是我加上去的本来没有  
  }  
   
                  public   void   executeQuery()   throws   Exception     {  
  rs   =   stmt.executeQuery(sqlStr);  
  }  
   
  public   void   close()   throws   SQLException   {  
  if   (   stmt   !=   null   )   {  
  stmt.close();  
  stmt   =   null;  
  }  
  conn.close();  
  conn   =   null;  
  }  
   
  };  
   
   
   
  我的JSP添加注册用户的网页如下:  
   
  <%@   page   contentType="text/html;charset=gb2312"   %>  
  <%@   include   file="incoming/common.jsp"%>  
  <html>  
  <head>  
  <title>网上书店</title>  
  <link   href="incoming/style.css"   rel="stylesheet"   type="text/css">  
  </head>  
  <body>  
  <%@   include   file="incoming/header.jsp"%>  
   
  <%  
  String   userid   =   new   String(request.getParameter("userid").trim().getBytes("ISO-8859-1"));  
  String   password   =   new   String(request.getParameter("password").trim().getBytes("ISO-8859-1"));  
  String   username   =   new   String(request.getParameter("username").trim().getBytes("ISO-8859-1"));  
  String   address   =   new   String(request.getParameter("address").trim().getBytes("ISO-8859-1"));  
  String   phone   =   new   String(request.getParameter("phone").trim().getBytes("ISO-8859-1"));  
  String   email   =   new   String(request.getParameter("email").trim().getBytes("ISO-8859-1"));  
   
  DBSQLManager   dbsm   =   new   DBSQLManager();  
  String   sql="INSERT   INTO   userpassword   VALUES('"+userid+"','"+password+"','N','"+username+"','"+address+"','"+phone+"','"+email+"')";  
  dbsm.setSqlStr(sql);  
  dbsm.executeUpdate();  
  dbsm.close();      
  %>  
  <br><a   class="title">已经注册成功!请<a   href="login.jsp">登录</a></a><br>    
  <%@   include   file="incoming/footer.jsp"%>      
  </body>  
  </html>  
   
   
   
  哪位大侠给看一下啊!@!!!!!!晚辈这里有礼了!!!!!!!!!!!!!  
  问题点数:80、回复次数:17Top

1 楼wangruiqi(宝宝)回复于 2006-05-03 02:00:46 得分 0

对了,回答问题的大侠:  
  晚辈我的QQ号是281887237,邮箱是281887237@qq.com,你如果能够解决我的问题,希望您能很快的通知我,谢谢!!!Top

2 楼heliang69(紫星)回复于 2006-05-03 12:34:27 得分 0

把executeUpdate方法名换个名,试一试Top

3 楼FinalKing(编译女人....小心异常...)回复于 2006-05-03 15:58:52 得分 0

你可以用System.out.print(sql)   看看正确不正确  
  原因可能很多方面  
  多用单步和后台输出     比较快就能找到错误Top

4 楼heimao5214()回复于 2006-05-03 17:15:42 得分 0

我也是这个问题   我的是Blog    
  然后我也是数据库连接有问题~~~  
  QQ   88531717   谁知道的跟我说下哈  
  急救~Top

5 楼xiongbing528(多情剑客无情剑)回复于 2006-05-03 20:13:59 得分 0

try  
  {  
  }  
  catch(SQLException   e)  
  {  
  while(e!=null)  
  {  
  out.print(e.getMessage());  
  out.print(e.SQLState());  
  out.print(e.getErrorCode());  
  e=e.getNextException();  
  }  
  }Top

6 楼xiongbing528(多情剑客无情剑)回复于 2006-05-03 20:14:58 得分 0

先帮你扑捉异常。看看是代码那里有问题。。  
  Top

7 楼mingr6370(丑男)回复于 2006-05-03 21:19:51 得分 0

java.lang.NullPointerException   检查你的变量和SQL语句Top

8 楼wangruiqi(宝宝)回复于 2006-05-03 22:34:56 得分 0

1,把executeUpdate方法名换个名,试一试  
   
        怎么换啊?能具体说一下吗??  
   
   
   
  2,你可以用System.out.print(sql)   看看正确不正确  
        原因可能很多方面  
        多用单步和后台输出     比较快就能找到错误  
   
   
        是不是这样:  
        public   void   executeUpdate()   throws   Exception     {  
                        int   rowCount   =   stmt.executeUpdate(sqlStr);  
                        System.out.print(sql)  
  }  
   
         
        还是把那个语句放在外边。  
  Top

9 楼btb368()回复于 2006-05-04 09:10:55 得分 0

空指针异常,可能是你的数据库没有连接上。Top

10 楼szz1981()回复于 2006-05-04 09:19:00 得分 0

没有添加数据库驱动  
  DRIVEMENAGER  
  Top

11 楼sheep219(sheep219)回复于 2006-05-04 10:58:14 得分 0

lz情况我碰到过,帮一个一点不懂的家伙搞了一个毕业论文系统。装个JDK&TOMCAT就费了大半天。临时抱佛脚!^_^!!Top

12 楼wangruiqi(宝宝)回复于 2006-05-04 14:40:10 得分 0

不是吧,我也是一直怀疑我的数据库没搞好,不过我确实下了SQL   server   2000   driver   for   JDBC啦,也把相应的文件拷到TOMCAT文件里了啊,郁闷中....Top

13 楼wangruiqi(宝宝)回复于 2006-05-04 14:49:57 得分 0

我的数据库的设置是这样的,我下的是SQL   server   2000   driver   for   JDBC  
   
   
  安装文件夹是C:\Program   Files\Microsoft   SQL   Server   2000   Driver   for   JDBC\lib  
   
   
  随后把里面的三个文件设置到C:\Program   Files\Apache   Software   Foundation\Tomcat   5.5\common\lib中  
   
  然后设置了一下环境变量  
  在classpath里设置了C:\Program   Files\Microsoft   SQL   Server   2000   Driver   for   JDBC\lib\mssqlserver.jarTop

14 楼wangruiqi(宝宝)回复于 2006-05-04 14:52:50 得分 0

具体的原因是我的数据库没有连接好了,不过是设置方面有问题?还是编码方面有问题呢?郁闷中...Top

15 楼HHD123()回复于 2006-05-04 16:23:21 得分 0

-----------------------------------------------------------------------------------  
  INSERT   INTO   userpassword   VALUES('"+userid+"','"+password+"','N','"+username+"','"+address+"','"+phone+"','"+email+"')";  
   
  ------------------------------------------------------------------------------------  
  有可能这个语句有问题,主要是每个数据项是否与你的数据库中定义的类型是一致不?  
  测试方法://dbsm.executeUpdate();  
                      System.out.println(sql);  
                    在TOMCAT中把输出的sql字符串复制直接在数据库中去执行一下,看能否成功;如果执  
                    行不了就是这个语中有某个数据类型与设计的不匹配.Top

16 楼PopKaven(岁寒)回复于 2006-05-04 19:28:34 得分 0

现在应该不是sql语句错误,因为,如果的SQL语句错误的话,抛出的异常应该是SQLException,而现在抛出的异常是NullPointException,那就有可能是你的数据库没有连接上.Top

17 楼wangruiqi(宝宝)回复于 2006-05-04 23:28:42 得分 0

谢谢各位,我的问题搞定了,是SQL     server     2000     没有打补丁,升级了一个SP3的补丁,问题解决了Top

相关问题

关键词

得分解答快速导航

  • 帖主:wangruiqi

相关链接

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

广告也精彩

反馈

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