HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NullPointerException
persons.person.executeUpdate(person.java:43)
org.apache.jsp.person_jsp._jspService(person_jsp.java:59)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
--------------------------------------------------------------------------------Apache Tomcat/5.0.28

解决方案 »

  1.   

    java.lang.NullPointerException
    persons.person.executeUpdate(person.java:43)
    意思是说Statement st = null,没有被赋值
    这样吧,你把连接数据库的函数别放在构造函数种,放在一般函数openConnection()种吧
    这样调用
    person p=new person();
    if(person.openConnection())
    {
    }
      

  2.   

    public boolean openConnection()
    {
            try {
            this.conn = DriverManager.getConnection ("...");
            } catch (Exception e) {
                return false;
            }
            return true;
    }
      

  3.   

    我想了解的是:为什么放在构造里不行?除非构造函数没有执行
    如果有错误,也应该throw出来啊。可是一点信息都捕捉不到
      

  4.   

    低级错误,居然没人看到,哈哈哈哈哈,
    Statement st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,