HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception java.lang.NullPointerException
Regist.doPost(Regist.java:26)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.
--------------------------------------------------------------------------------Apache Tomcat/6.0.13

解决方案 »

  1.   

    Regist.java:26行  有东西为null
      

  2.   

    我不想贴代码的,也许大家不太喜欢看,但我还是要贴代码。。、
    import java.io.IOException;
    import java.io.PrintWriter;import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;public class Regist extends HttpServlet {
    private static final long serialVersionUID = 1L;
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
    ConnSql ConMySql = null;
    req.setCharacterEncoding("utf-8");
    resp.setContentType("text/html;charset=utf-8");

    PrintWriter out = resp.getWriter(); String username = req.getParameter("userName");
    String password = req.getParameter("passWord");
    String gentle = req.getParameter("gentle");
    String email = req.getParameter("email"); ConMySql.Update("insert into users values(null,'" + username + "','"
    + password + "','" + gentle + "','" + email + "');");
    out.println("<html><head><title>注册成功</title><body>");
    out.println("<table><tr><td colspan='2'>恭喜注册成功!您的注册信息是:</td></tr>");
    out.println("<tr><td>用户名:</td><td>" + username + "</td></tr>");
    out.println("<tr><td>密码:</td><td>" + password + "</td></tr>");
    out.println("<tr><td>性别:</td><td>" + gentle + "</td></tr>");
    out.println("<tr><td>email:</td><td>" + email + "</td></tr>");
    }
    }这是那个页面调用的Servlet代码,然后下面还有那个类的代码:
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.*;import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;public class ConnSql extends HttpServlet { private static final long serialVersionUID = 1L;
    public String DataBase = "jdbc:mysql://localhost/ijseblog?user=root&password=clslist";
    ConnSql()
    {

    }
    public void Connection() {
    try {
    Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }
    } public ResultSet Execute(String sql) {
    ResultSet rs = null;
    Connection conn = null;
    Statement stm = null;
    Connection();
    try {
    conn = DriverManager.getConnection(DataBase);
    stm = conn.createStatement();
    rs = stm.executeQuery(sql);
    } catch (SQLException e) {
    System.out.println("SQLException:" + e.getMessage());
    System.out.println("SQLState:" + e.getSQLState());
    System.out.println("VendorError:" + e.getErrorCode());
    }
    return rs;
    } public int Update(String sql) {
    int rt = 0;
    Connection conn = null;
    Statement stm = null;
    Connection();
    try {
    conn = DriverManager.getConnection(DataBase);
    stm = conn.createStatement();
    rt = stm.executeUpdate(sql);
    } catch (SQLException e) {
    System.out.println("SQLException:" + e.getMessage());
    System.out.println("SQLState:" + e.getSQLState());
    System.out.println("VendorError:" + e.getErrorCode());
    }
    return rt;
    } public static void main(String args) {
    System.out.println("ok!");
    } protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
    doGet(req, resp);
    } protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException { req.setCharacterEncoding("utf-8");
    resp.setContentType("text/html;charset=utf-8");
    String username = req.getParameter("UserName"); PrintWriter out = resp.getWriter(); Connection();
    ResultSet rs = Execute("Select * from users where dbusername='"
    + username + "'");
    try {
    while (rs.next()) {
    out.println("<html><head><title>查询结果</title></head><body>"
    + rs.getString("dbusername") + "的密码是:"
    + rs.getString("dbpassword") + "</body></html>");
    }
    } catch (SQLException e) {
    System.out.println("SQLException:" + e.getMessage());
    System.out.println("SQLState:" + e.getSQLState());
    System.out.println("VendorError:" + e.getErrorCode());
    }
    }}
      

  3.   

    在定义了这个变量
     ConnSql ConMySql = null;之后就没有实例化,而你紧接着就是用了
    ConMySql.Update("insert into users values(null,'" + username + "','"
                    + password + "','" + gentle + "','" + email + "');");所以null错
      

  4.   

    楼上正解!java.lang.NullPointerException 空指针异常了!
      

  5.   

     ConnSql ConMySql = null;
    这是MyEclipse提示的,我也不太清楚.那这问题要怎么解决? 我怎么实例化呢?对不起我是初学者,请讲得稍微详细点儿..谢谢啦.
      

  6.   

    我明白了!!!
    把它换成:ConnSql ConMySql = new ConnSql();这样就好使了!!谢谢各位了!!马上结贴!!