数据库连接失败oracle.jdbc.driver.OracleDriver 三月 21, 2014 9:17:19 上午 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet [jsp] in context with path [/StudentMang] threw exception [java.lang.NullPointerException] with root cause java.lang.NullPointerException at dao.OperateOracle.query(OperateOracle.java:81) at org.apache.jsp.registadd_jsp._jspService(registadd_jsp.java:84) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
错误 就是说连接不上数据库啊!调用 insert()方法的时候 里面第一步 就是 getConnection()这个就是获取数据库连接的方法啊。第一步就挂了。。
单独 测试 OperateOracle 一定问题没有 我还进行 插入 查询 一系列的操作 没有任何问题 但是 放到JSP数据库都连接不上
三月 21, 2014 9:17:19 上午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [jsp] in context with path [/StudentMang] threw exception [java.lang.NullPointerException] with root cause
java.lang.NullPointerException
at dao.OperateOracle.query(OperateOracle.java:81)
at org.apache.jsp.registadd_jsp._jspService(registadd_jsp.java:84)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
数据库也在你电脑上? 如果用路由器连接的,可能还需要再路由器中设置端口映射,把1521端口绑定到数据库所在系统的ip试试。还有你用的什么云系统?没用过呀
但是jsp页面的代码却无法连接到数据库中,因为在调用DriverManager的getConnection方法之前,
要保证相应的Driver类已经被加载到 jvm中,
并且完成了类的初始化工作
可以
//声明使用oracle驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
或者
oracle.jdbc.driver.OracleDriver driver = new oracle.jdbc.driver.OracleDriver(); 都可以的
给分来吧
public static Connection getConnection() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");//这里就是 加载oracle数据驱动 的啊
conn = DriverManager.getConnection(url, user, password);// 创建数据连接
} catch (Exception e) {
e.printStackTrace();
//System.out.println("数据库连接失败" + e.getMessage());
}
return conn; //返回所建立的数据库连接
}
public static void insert(String sql) {//这个是做插入操作的函数啊
conn = getConnection(); // 这里在调用获取数据库的连接的啊
try {
st = (Statement)conn.createStatement(); // 创建用于执行静态sql语句的Statement对象
int count = st.executeUpdate(sql); // 执行插入操作的sql语句,并返回插入数据的个数
System.out.println("向t1表中插入 " + count + " 条数据!!"); //输出插入操作的处理结果
conn.close(); //关闭数据库连接
} catch (SQLException e) {
System.out.println("插入数据失败" + e.getMessage());
}
}