问题描述
packagesystemZG;importjava.io.PrintWriter;importjava.io.StringWriter;importjava.sql.Connection;importjava.sql.DriverManager;//importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;//importcom.sql.jdbc.Driver;publicclassDBconn{//privateUserBeanuserBean;protectedStatementstmt;protectedResultSetrs;protectedConnectionconn;publicConnectionconn(){StringdriverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver";Stringurl="jdbc:sqlserver://localhost:1433;DatabaseName=SyetemZG";Stringpassword="sa";Stringuser1="sa";conn=null;try{Class.forName(driverClassName);}catch(ClassNotFoundExceptionex){System.out.println("加载错误!");}try{conn=DriverManager.getConnection(url,user1,password);stmt=conn.createStatement();System.out.println("成功");}catch(SQLExceptionex1){System.out.println("失败");StringWritersw=newStringWriter();PrintWriterpw=newPrintWriter(sw);ex1.printStackTrace(pw);System.out.println(sw.toString().toUpperCase()); }returnconn;}//publicvoidclose(){//if(rs!=null)try{rs.close();}catch(Exceptionignore){}//if(stmt!=null)try{rs.close();}catch(Exceptionignore){}//if(conn!=null)try{rs.close();}catch(Exceptionignore){}//}}小弟用上面的代码连接的数据库可是在页面上出现这样的问题
解决方案
解决方案二:
小弟是刚进门的新手希望大神给于指导万分感谢
解决方案三:
你的Rigist的57行空指针,看看是什么情况
解决方案四:
楼主设置断点,看程序哪里为空了!!报的空指针异常!
解决方案五:
报空指针异常了,看看你的RegistServlet里面传参数有没有传过来,或者数据库查询有没有这条数据,应该不是数据库连接的问题
解决方案六:
ResultSetrs=null;try{stmt=conn.createStatement();ret=stmt.executeUpdate("insertinto管理员登录(name,password,jibie,sex)values('"+user+"','"+password+"','经理','"+sex+"')");//executeUpdate();}catch(SQLExceptione1){//e1.printStackTrace();StringWritersw=newStringWriter();PrintWriterpw=newPrintWriter(sw);e1.printStackTrace(pw);System.out.println(sw.toString().toUpperCase());}try{if(ret>0){out.println("<html><head></head>");out.println("<body><h1>注册成功</h1><br>");out.println("<ahref='index.jsp'>点击返回登陆页面</a></body></html>");//out.println("<ahref=''></a>");}else{out.println("<html><head></head>");out.println("<body><h1align='center'>注册失败</h1><br>");out.println("<ahref='index.jsp'>点击返回登陆页面</a></body></html>");}}catch(Exceptione){e.printStackTrace();}}这是那页代码求大神指教
解决方案七:
引用5楼yyf0430的回复:
ResultSetrs=null;try{stmt=conn.createStatement();ret=stmt.executeUpdate("insertinto管理员登录(name,password,jibie,sex)values('"+user+"','"+password+"','经理','"+sex+"')");//executeUpdate();}catch(SQLExceptione1){//e1.printStackTrace();StringWritersw=newStringWriter();PrintWriterpw=newPrintWriter(sw);e1.printStackTrace(pw);System.out.println(sw.toString().toUpperCase());}try{if(ret>0){out.println("<html><head></head>");out.println("<body><h1>注册成功</h1><br>");out.println("<ahref='index.jsp'>点击返回登陆页面</a></body></html>");//out.println("<ahref=''></a>");}else{out.println("<html><head></head>");out.println("<body><h1align='center'>注册失败</h1><br>");out.println("<ahref='index.jsp'>点击返回登陆页面</a></body></html>");}}catch(Exceptione){e.printStackTrace();}}这是那页代码求大神指教
都不知道你怎么会空的,你贴这个代码没用,57行是哪行啊!这些是我刚学总结下来容易犯的错误如下:1.jar包根本都没。(不同数据库包不同)2.class,url名字。。(请拷贝,自己打错误率极高)3.用完请关闭连接
解决方案八:
那些我都做好了就报空指针跪求大神
解决方案九:
你在classDBconn类的方法里面设置断点,F6一步一步走!stmt=conn.createStatement();你的类中删了这个!!!
解决方案十:
连接数据库都是这样1、加载数据库驱动(Class.forName(DBDRIVER);)。2、建立数据库连接池(conn=DriverManager.getConnection(url,user,password);)。3、生成一个数据操作对象(stmt=conn.createStatement();)。4、进行数据库操作(stmt.executeUpdate(sql);)。5、关闭数据操作对象(stmt.close();)。6、关闭数据连接(conn.close();)。
解决方案十一:
没有删啊!在里面呢的啊!嗯嗯不是这样的吗?
解决方案十二:
DBconn.conn()方法有木有打印出“成功”二字吖?
解决方案十三:
没有啊!我运行别的jsp要连接数据库是就是上面的那个图片了500
解决方案十四:
仔细看看57行,可能是哪个变量没有值,报了空指针异常
解决方案十五:
小弟刚进们。实在是看不出啊!求大神指教一番,帮忙看一眼。为嘛会报空指针异常。
解决方案:
断点,一步一步(F6)跟,一个一个看,那个为NULL新手要心态稳,别着急!另外,断点会设定不?
解决方案:
空指针!你看看是什么东西导致的空指针
解决方案:
嗯嗯,,,好的
解决方案:
我怀疑你的第57行的conn是空的,原因是你并没有获取到正确的连接。不知道你会不会使用debug,如果暂时还不会,就在57行的上面打印一下if(conn==null){System.out.println("theconnisnull");}else{System.out.println("theconnisnotnull");}