jsp连接数据库一直报错,求帮忙看下,谢谢

问题描述

jsp连接数据库一直报错,求帮忙看下,谢谢
<%@page language=""java"" import=""java.util.*"" pageEncoding=""utf-8""%><%@page import=""java.sql.*""%><html><body><%    String tablename=request.getParameter(""tablename"");    if(tablename==null) tablename="""";    byte[] b=tablename.getBytes(""ISO-8859-1""); tablename=new String(b);    out.println(tablename);    final String DRIVER = ""org.gjt.mm.mysql.Driver"";    final String DURL = ""jdbc:mysql://localhost:3306/application"";    final String DUSER = ""root"";    final String DPASS = ""594daidai"";        Connection conn = null;             try{            Class.forName(DRIVER);        }catch(ClassNotFoundException e){            e.printStackTrace();        }        try{            conn = DriverManager.getConnection(DURLDUSERDPASS);        }catch(SQLException e){            e.printStackTrace();        }           out.println(conn);              try{            conn.close();               }catch(SQLException e){            e.printStackTrace();        }%></body></html> HTTP Status 500 -type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionorg.apache.jasper.JasperException: An exception occurred processing JSP page /bookMinage/docreatetable.jsp at line 2825:         }   26:         out.println(conn);      27:         try{28:             conn.close();       29:         }catch(SQLException e){30:             e.printStackTrace();31:         }Stacktrace:    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)root causejava.lang.NullPointerException    org.apache.jsp.bookMinage.docreatetable_jsp._jspService(docreatetable_jsp.java:82)    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)  

解决方案

conn.close(); 这句报空指针, 说明你之前的连接没有获取到,肯定是上面的语句抛了异常
建议你按照如下代码调试,就可以找到问题所在了,有可能是没有找到驱动的JAR有可能用户名密码不对,具体看异常打印吧。

    Connection conn = null;         try{        Class.forName(DRIVER);        conn = DriverManager.getConnection(DURLDUSERDPASS);        out.println(conn);              conn.close();           }catch(ClassNotFoundException e){        out.println(e);    }catch(SQLException e){        out.println(e);    }

解决方案二:
1: application这个数据库名,是不是对的就是存不存在这个数据库
final String DURL = ""jdbc:mysql://localhost:3306/application"";
2:把连接数据库的代码,写一个类中,不要这样放在jsp中,这不符合mvc的模式
3:参考以下的连接方式肯定可以,只是简单的开了个头

驱动程序名

String driver = ""com.mysql.jdbc.Driver"";

// URL指向要访问的数据库名scutcs

String url = ""jdbc:mysql://127.0.0.1:3306/scutcs"";

// MySQL配置时的用户名

String user = ""root"";

// Java连接MySQL配置时的密码

String password = ""root"";

try {

// 加载驱动程序

Class.forName(driver);

// 连续数据库

Connection conn = DriverManager.getConnection(url user password);

if(!conn.isClosed())

System.out.println(""Succeeded connecting to the Database!"");

// statement用来执行SQL语句

Statement statement = conn.createStatement();

// 要执行的SQL语句

String sql = ""select * from student"";

解决方案三:
目测是你的数据库连接有问题,数据库连接就没有连上,然后你又尝试关闭。

解决方案四:
26行打印con有结果吗?如果是null的话,后面con.close就会有空指针异常了。祝好!

解决方案五:
改成下面方式试试
http://blog.csdn.net/song2004_2008/article/details/524602
另外,看看

 try{            conn = DriverManager.getConnection(DURLDUSERDPASS);        }catch(SQLException e){            e.printStackTrace();//这里是否捕获到了异常,打印出什么异常信息        }   

解决方案六:
conn = DriverManager.getConnection(DURLDUSERDPASS);

这个conn的值依然是null吧,后面调用conn.close()就报空指针异常了

解决方案七:
你有没有先建立ODBC数据源啊

解决方案八:
一般报java.lang.NullPointerException的原因有以下几种:
·字符串变量未初始化;
·接口类型的对象没有用具体的类初始化,比如:
List lt; 会报错
List lt = new ArrayList(); 则不会报错了
·当一个对象的值为空时,你没有判断为空的情况。

解决方案九:
你把你的数据库连接和断开语句拿到java环境debug一次就好了,看看哪儿报错!在JSP还真不好看!

解决方案十:
28行,conn.close();抛出的空指针异常,建议在此做一个处理。
eg:
if (conn ==null){
//TODO something
}else{
conn.close();
}

时间: 2024-08-02 21:15:20

jsp连接数据库一直报错,求帮忙看下,谢谢的相关文章

javaee hibernate-求助avaee hibernate 项目控制台报错 求帮忙分析下,万分感谢!!

问题描述 求助avaee hibernate 项目控制台报错 求帮忙分析下,万分感谢!! 出现异常时间: [2013年8月9日 15:15:32] org.hibernate.HibernateException: Already disconnectedat com.hiaward.common.util.HibernateUtil.rollbackTransaction(HibernateUtil.java:175) at com.hiaward.common.util.HibernateU

json校验格式报错,帮忙看下。

问题描述 json校验格式报错,帮忙看下. { "deplist": [ { bumen: 95, bound_id: "餐饮部", pad_sbound: "甜品类", pad_tab: 1 }, { bumen: 96, bound_id: "餐饮部", pad_sbound: "饮料类", pad_tab: 2 } ] } err info: bumen: 95, ------------------

spring和mybatis集成时总报错 麻烦帮忙看下什么原因

问题描述 spring和mybatis集成时总报错 麻烦帮忙看下什么原因 项目请求数据的时候报Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.business.dao.system.AdminMapper.selectByPrimaryKey麻烦大神帮忙看下这是啥原因,找了好久不知道

gulp-新手第一次整nodejs 遇到问题 npm install报错,帮忙看下吧

问题描述 新手第一次整nodejs 遇到问题 npm install报错,帮忙看下吧 npm ERR! Windows_NT 6.1.7601 npm ERR! argv "d:Program Filesnodejsnode.exe" "d:Program Filesnodejs node_modulesnpmbinnpm-cli.js" "install" npm ERR! node v0.12.4 npm ERR! npm v2.11.1 n

sql2005数据库恢复问题,高手帮忙看下.谢谢了.没多少分,大家见谅

问题描述 从客户那里备份过来的数据库文件,在我机器上备份报下面的错误.已备份数据库的磁盘上结构版本为611.服务器支持版本539,无法还原或升级此数据库.RESTOREFILELIST操作异常终止.(MicrosoftSQLServer,错误:3169)客户的是sql2005,我的也是sql2005,今天我本机打了2005sp2还是报这个错.高手帮忙看下.谢谢了.急还有更高级的补丁打吗?可以在那里下?谢谢

c语言-求帮忙看下为什么程序调用了西沟函数导致程序整个不能运行

问题描述 求帮忙看下为什么程序调用了西沟函数导致程序整个不能运行 写说明一下代码,代码主要是要在控制台模拟浏览器对tab和网页前进后退的一些操作 再说明一下问题,问题在于brwosertab类和webinformation类的西沟函数,一旦在这两个类的西沟函数里面写上delete 指针名字:整个程序就不能运行了,最关键的是我不太明白为什么程序要调用这两个函数,因为我感觉我都是动态对象啊.最后说明一下,我很菜,只有一点java编程的经验,所以第一次应对c++我真的需要一些帮助.谢谢你们了! 解决方

indows+蓝屏-Windows系统蓝屏,下面是bluescreanView和Windbg分析的结果,求高手帮忙看下~~谢谢

问题描述 Windows系统蓝屏,下面是bluescreanView和Windbg分析的结果,求高手帮忙看下~~谢谢 BlueScream分析结果: ==================================================** Dump File : 121814-18735-01.dmp Crash Time : 2014/12/18 7:19:00 Bug Check String : CRITICAL_OBJECT_TERMINATION Bug Check C

java 7-求第m个到第n个素数之间的素数和,求帮忙看下哪里错了 提取数组求和的时候总是在数组中出现0

问题描述 求第m个到第n个素数之间的素数和,求帮忙看下哪里错了 提取数组求和的时候总是在数组中出现0 public class All { public static void main(String[] args) { int a[] = new int[200]; //将前200个数中的素数提取出来放入数组a中 for(int i = 1 ; i < 200 ; i ++){ boolean isPrime = true; for(int k = 2 ; k < i ; k ++){ if

语言-新手求帮忙看下这段代码的数据溢出问题,没有C币理解下(我是在CodeBlock10.05下运行的)

问题描述 新手求帮忙看下这段代码的数据溢出问题,没有C币理解下(我是在CodeBlock10.05下运行的) #include #include #include unsigned int Ex_secret[30]={11,4,120,75,170,204,90,59,78,49,//用0~255的数表示8位2进制,一共240位 148,248,190,137,0,9,17,91,174,105,45,124,177,205,57,97,194,155,120,36}; unsigned in