package mychat;
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import java.util.*;
import javax.servlet.http.*;public class GetServlet extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, java.io.IOException {
String xml = null;
String rnd = request.getParameter("rnd");
DB myDB=new DB();


String sql = "select * from tb_userinfo where UserNumber in( select FriendNumber from tb_friends where UserNumber='11111')";
try {

ResultSet rs = myDB.executeQuery(sql);//数据结果
StringBuffer buf = new StringBuffer();
buf.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
buf.append("<userlist>");

while (rs.next())
{
buf.append("<userinfo>");
buf.append("<username>" + rs.getString("UserName") +"</username>");
                                                                buf.append("<usernumber>" + rs.getString("UserNumber") + "</usernumber>");
buf.append("<userstate>" + rs.getString("UserState") + "</userstate>");

buf.append("</userinfo>");

} buf.append("</userlist>");
xml=buf.toString();  
     response.setContentType("text/xml;charset=UTF-8");  
//设置返回数据类型为xml格式,编码为utf8
java.io.PrintWriter out = response.getWriter();
System.out.println(xml);
out.print(xml);

catch (SQLException e) {
e.printStackTrace();
}

myDB.close();

}public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, java.io.IOException {
     doPost(request, response);
}}exception java.lang.NullPointerException
mychat.GetServlet.doGet(GetServlet.java:24)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)原本运行的好好的,后来突然就出现这个错误了,不知道为什么啊~源程序什么都没有改动的。
高手来帮帮忙啊~

解决方案 »

  1.   

    自己调试一下就知道拉!应该是你ResultSet 为空!查看一下你的DB原代码?
      

  2.   

    看代码应该是数据库连接相关的 myDB.executeQuery(sql)的执行中抛出的异常
      

  3.   

    java.lang.NullPointerException 
    mychat.GetServlet.doGet(GetServlet.java:24) 
    是空指针异常,是否你的doGet方法有问题呀?也查一下你的数据库的结果集是否为空。
      

  4.   

    以前行,现在不行了,还是个select语句的话,大部分情况就是数据源连不上了
      

  5.   

    在使用rs之前做一下空指针检查, 也就是看看是否为null