ft~,U assume I'm a compiler?

解决方案 »

  1.   

    这个问题的产生可能是: (1) 你执行execute 的sql 语句有错误 (2) 在你的web端jsp 或servlet 里使用了不安全的方法,例如:你非要把""转换为Integer类型...
      

  2.   

    NullPointerException
    通常代表得到一个对象前使用它!
      

  3.   

    你将一个null作为参数传给了一个函数
    具体哪个就要你自己分析了,没看到你的程序源码
      

  4.   

    很可能是你得到的一个变量的值为NULL;
    你又使用了这个变量!
    你将变量输出来看看!
      

  5.   

    这种错误:
    java.lang.NullPointerException
    at db.DbConnection.executeQuery(DbConnection.java:61)
    at org.apache.jsp.regok$jsp._jspService(regok$jsp.java:147)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
    at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
    at java.lang.Thread.run(Thread.java:536)源程序:
    package db;import java.util.*;
    import java.sql.*;
    import java.io.*;public class DbConnection{
    Connection conn = null;
    Statement stmt = null;
    ResultSet rset = null; public DbConnection(){
    } /************************************************
     * openConnection
     * read file "db.txt"
    ************************************************/
    public boolean openConnection(){
    Properties prop = new Properties();
    try{
    InputStream is = getClass().getResourceAsStream("db.txt");
    prop.load(is);
    if(is != null) is.close();
    }catch(IOException e){
    System.out.println("[DbConnection] Open db.txt File, Error!");
    } String jdbc = prop.getProperty("driver");
    String uri = prop.getProperty("url"); //System.out.println("jdbc=[" + jdbc + "]");
    //System.out.println("uri=[" + uri + "]"); try{
    Class.forName(jdbc).newInstance();
    }catch(ClassNotFoundException e){
    System.out.println("JDBC login, Error!@" + e.getMessage());
    return false;
    }catch (Exception e){
    System.err.println("Unable to load driver!");
                            e.printStackTrace();
                    } try{
    this.conn = DriverManager.getConnection (uri);
    }catch(SQLException e){
    System.out.println("Generate Connection, Error!" + e.getMessage());
    return false;
    }
    return true; }
    /*************************************************
     * executeQuery and executeUpdate
     * query and update DB
    *************************************************/
    public ResultSet executeQuery(String query) throws SQLException{
    stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    rset = stmt.executeQuery(query);
    return rset;
    } public void executeUpdate(String query) throws SQLException{
    stmt = conn.createStatement();
    stmt.executeUpdate(query);
    if(stmt != null) stmt.close();
    } public void close() throws SQLException{
    if(conn != null) conn.close();
    if(rset != null) rset.close();
    if(stmt != null) stmt.close();
    } protected void finalize() throws Throwable{
    close();
    } public static void main(String[] args){
    //Design for test purpose.
    DbConnection dc = new DbConnection();
    System.out.println(dc.openConnection());
    }}
      

  6.   

    java.lang.NullPointerException
    at db.DbConnection.executeQuery(DbConnection.java:61)
    你的sql语句再哪里给出了? query在那里付值了?
      

  7.   

    传入参数有问题??
    你应当判断参数是否为NULL??
    可以先把参数打印出来看看结构