<%@page import="java.sql.*"%>
<%@page import="servlet.DBConnect"%>
<%  DBConnect db=new DBConnect();
ResultSet result=db.executeQuery("select * from mapdata");
  %>然后,下面是DBConnect类代码
package servlet;
import java.sql.*;
public class DBConnect
{
    public static final String driver="com.mysql.jdbc.Driver";
    public static final  String url="jdbc:mysql://localhost:3306/mydata";
    public static final  String user="root";
    public static final  String password="2224101360";
    ResultSet resultset=null; 
    PreparedStatement statement=null;
    Connection conn=null;   public Connection getConnection()
   { try{Class.forName(driver); 
         return DriverManager.getConnection(url,user,password);
        }
     catch(ClassNotFoundException e){System.out.println("Driver not found");return null;}
     catch(SQLException e){System.out.println("Error:"+e.getMessage());return null;}
   }   public ResultSet executeQuery(String sql) throws Exception
  {
      conn=this.getConnection();
      statement=conn.prepareStatement(sql);
      return  resultset=statement.executeQuery();
  }
  public int executeUpdate(String sql)
   {
       try{
        conn=this.getConnection();
        statement=conn.prepareStatement(sql);
        return statement.executeUpdate();         }catch(Exception e){System.out.println("Error:"+e.getMessage());return 0;}
    }
    public void closeAll() throws Exception
    { 
         if(null!=resultset)  resultset.close();
         if(null!=statement) statement.close();
         if(null!=conn) conn.close();      }
public  DBConnect() {}jsp javajavajspservletmysql

解决方案 »

  1.   

    这个空指针有可能是你在去得连接的时候失败了,造成conn为null了
      

  2.   

    好的,type Exception reportmessage An exception occurred processing JSP page /success.jsp at line 18description The server encountered an internal error that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: An exception occurred processing JSP page /success.jsp at line 1815: </head>
    16: <body>
    17: <%  DBConnect db=new DBConnect();
    18: ResultSet result=db.executeQuery("select * from mapdata");
    19:   %>
    20: <div id="allmap"></div>
    21: </body>
    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    root cause java.lang.NullPointerException
    servlet.DBConnect.executeQuery(DBConnect.java:26)
    org.apache.jsp.success_jsp._jspService(success_jsp.java:81)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    note The full stack trace of the root cause is available in the Apache Tomcat/7.0.42 logs.
      

  3.   

    但是我在单独的DBConnect类测试的时候没有问题
      

  4.   

    这样运行没有错
    package servlet;
    import java.sql.*;
    public class DBConnect
    {
        public static final String driver="com.mysql.jdbc.Driver";
        public static final  String url="jdbc:mysql://localhost:3306/mydata";
        public static final  String user="root";
        public static final  String password="2224101360";
        ResultSet resultset=null; 
        PreparedStatement statement=null;
        Connection conn=null;   public Connection getConnection()
       { try{Class.forName(driver); 
             return DriverManager.getConnection(url,user,password);
            }
         catch(ClassNotFoundException e){System.out.println("Driver not found");return null;}
         catch(SQLException e){System.out.println("Error:"+e.getMessage());return null;}
       }   public ResultSet executeQuery(String sql) throws Exception
      {
          conn=this.getConnection();
          statement=conn.prepareStatement(sql);
          return  resultset=statement.executeQuery();
      }
      public int executeUpdate(String sql)
       {
           try{
            conn=this.getConnection();
            statement=conn.prepareStatement(sql);
            return statement.executeUpdate();         }catch(Exception e){System.out.println("Error:"+e.getMessage());return 0;}
        }
        public void closeAll() throws Exception
        { 
             if(null!=resultset)  resultset.close();
             if(null!=statement) statement.close();
             if(null!=conn) conn.close();      }
    public  DBConnect() {} public static void main(String[] args)
       {
           try{
           servlet.DBConnect db=new servlet.DBConnect();
           //int i=db.executeUpdate("insert into userinfo values (2,'wangqiang','123')");
           //ResultSet result=db.executeQuery("select * from mapdata");
            ResultSet result=db.doGetMapData();
           System.out.println("-----------Result-------------");
             System.out.println("username:"+"\t"+"password");
           while(result.next())
           { 
             System.out.println(result.getFloat("lng")+"\t"+result.getFloat("lat"));
              }
             }catch(Exception e) {System.out.println(e.getMessage());}
        }
    }
      

  5.   

    刚才那个有点错误
    package servlet;
    import java.sql.*;
    public class DBConnect
    {
        public static final String driver="com.mysql.jdbc.Driver";
        public static final  String url="jdbc:mysql://localhost:3306/mydata";
        public static final  String user="root";
        public static final  String password="2224101360";
        ResultSet resultset=null; 
        PreparedStatement statement=null;
        Connection conn=null;   public Connection getConnection()
       { try{Class.forName(driver); 
             return DriverManager.getConnection(url,user,password);
            }
         catch(ClassNotFoundException e){System.out.println("Driver not found");return null;}
         catch(SQLException e){System.out.println("Error:"+e.getMessage());return null;}
       }   public ResultSet executeQuery(String sql) throws Exception
      {
          conn=this.getConnection();
          statement=conn.prepareStatement(sql);
          return  resultset=statement.executeQuery();
      }
      public int executeUpdate(String sql)
       {
           try{
            conn=this.getConnection();
            statement=conn.prepareStatement(sql);
            return statement.executeUpdate();         }catch(Exception e){System.out.println("Error:"+e.getMessage());return 0;}
        }
        public void closeAll() throws Exception
        { 
             if(null!=resultset)  resultset.close();
             if(null!=statement) statement.close();
             if(null!=conn) conn.close();      }
    public  DBConnect() {} public static void main(String[] args)
       {
           try{
           servlet.DBConnect db=new servlet.DBConnect();
           //int i=db.executeUpdate("insert into userinfo values (2,'wangqiang','123')");
           ResultSet result=db.executeQuery("select * from mapdata");
            
           System.out.println("-----------Result-------------");
             System.out.println("username:"+"\t"+"password");
           while(result.next())
           { 
             System.out.println(result.getFloat("lng")+"\t"+result.getFloat("lat"));
              }
             }catch(Exception e) {System.out.println(e.getMessage());}
        }}
      

  6.   

    把mysql的驱动包放到\WEB-INF\lib下去试试