连接数据库java.lang.nullPointerException的错误怎么解决?
代码如下:
package test;
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class DBServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
static private Connection con = null;
static private Statement st = null;
static private ResultSet rs = null;
public static Connection getConnection(){
try{
Class.forName("com.mysql.jdbc.Driver");
String url ="jdbc:mysql://localhost:3306/wing?useUnicode=true&characterEncoding=gb2312";
String username="123456";
String password="123456";
Connection con= DriverManager.getConnection(url,username,password);
if(con!=null){System.out.println("连接成功!!");}
else{System.out.println("失败!!");}
} catch (ClassNotFoundException e) {e.printStackTrace();}
catch (SQLException e) {e.printStackTrace();}
return con;
}
public static ResultSet getResultSet(String sql){
con = getConnection();
try {
st = con.createStatement();
rs = st.executeQuery(sql);
} catch (SQLException e) {e.printStackTrace();}
return rs;
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=GB2312");//设置响应的MIME类型。
request.setCharacterEncoding("gb2312");
PrintWriter out = response.getWriter();
String sql = "select * from wings";
rs = getResultSet(sql);
try {
out.println("<table border='1' align='center'>");
out.println("<tr>");
out.println("<td>"+"学号"+"</td>");
out.println("<td>"+"姓名"+"</td>");
out.println("<td>"+"性别"+"</td>");
out.println("<td>"+"年龄"+"</td>");
out.println("</tr>");
while(rs.next()){
out.println("<tr>");
out.println("<td>"+rs.getInt("ID")+"</td>");
out.println("<td>"+rs.getString("name")+"</td>");
out.println("<td>"+rs.getString("sex")+"</td>");
out.println("<td>"+rs.getInt("age")+"</td>");
out.println("</tr>");
}
out.println("</table>");
} catch (SQLException e) {e.printStackTrace();}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
}
出现错误如下:
java.sql.SQLException: Access denied for user '123456'@'localhost' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:812)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3269)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1182)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2670)
at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at test.DBServlet.getConnection(DBServlet.java:26)
at test.DBServlet.getResultSet(DBServlet.java:36)
at test.DBServlet.doPost(DBServlet.java:57)
at test.DBServlet.doGet(DBServlet.java:80)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
2010-8-27 17:20:09 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet DBServlet threw exception
java.lang.NullPointerException
at test.DBServlet.getResultSet(DBServlet.java:38)
at test.DBServlet.doPost(DBServlet.java:57)
at test.DBServlet.doGet(DBServlet.java:80)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
这种错误怎么解决 谢谢!