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
org.apache.jsp.myapp.query_jsp._jspService(query_jsp.java:69)
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.29 logs.
--------------------------------------------------------------------------------Apache Tomcat/5.0.29

解决方案 »

  1.   

    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.util.*"  errorPage="" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>插入数据</title>
    </head><body>
    <%! String xuehao,name,sex,age,jiguan,department,url,sql;%>
    <%! int i;%>
    <%! Connection conn;%>
    <%! ResultSet rs;%>
    <%! Statement stmt;%>
    <%
      xuehao=request.getParameter("xuehao").trim();
      name=request.getParameter("name").trim();
      name=new String(name.getBytes("ISO-8859-1"));
      sex=request.getParameter("age").trim();
      sex=new String(sex.getBytes("ISO-8859-1"));
      age=request.getParameter("age").trim();
      i=Integer.parseInt(age);
      jiguan=request.getParameter("jiguan").trim();
      jiguan=new String(jiguan.getBytes("ISO-8895-1"));
      department=request.getParameter("department").trim();
      department=new String(department.getBytes("ISO-8895-1"));
      
      if(xuehao.length()!=7){
      response.sendRedirect("err.jsp");
      }
      if(name.equals("")){
        response.sendRedirect("err.jsp");
    }

    try
    {
      Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
      url="jdbc:microsoft:sqlserver://localhost:1433;Databasename=university";
      conn=DriverManager.getConnection(url,"admin","123");
      stmt=conn.createStatement();
      sql="select * from student where 学号='"+xuehao+"'";
      rs=stmt.executeQuery(sql);
      if(rs.getRow()>0){
        response.sendRedirect("err.jsp");
    }
    sql="insert into student( 学号,姓名,性别,年龄,籍贯,系别)";
    sql=sql+"values('"+xuehao+"','"+name+"','"+sex+"','"+i+"','"+jiguan+"','"+department+"')";
    stmt.executeUpdate(sql);
    out.println("<font size=3 color=blue>正在处理信息,请稍后......</font> <meta http-equiv='refresh' content='2;url=list.jsp'>");
    rs.close();
    stmt.close();
    conn.close();
    }
    catch(Exception e){
     response.sendRedirect("err.jsp");
     }
     %>
     
    </body>
    </html>
      

  2.   

    NullPointerException困扰了多少人...象 xuehao=request.getParameter("xuehao").trim();这种写法极容易出现NullPointerException,改写成:
    xuehao = request.getParameter("xuehao");
    if (xuehao == null) {
    //输出错误并return
    }xuehao = xuehao.trim();
    ...
      

  3.   

    同意楼上的
    不过可以再改下
    if(xuehao==null || xuehao.equals("")){}else{}
      

  4.   

    if(request.getParameter("xuehao")!=null)
       String opt = request.getParameter("xuehao");
      

  5.   

    <%! String xuehao,name,sex,age,jiguan,department,url,sql;%>
    <%! int i;%>
    <%! Connection conn;%>
    <%! ResultSet rs;%>
    <%! Statement stmt;%>晕...赋值看看。
      

  6.   

    都用System.out.println()打印看有没有空值
    在有空值的时候转换会报NullPointerException建议这样写  
    xuehao=request.getParameter("xuehao").trim();
    //System.out.println(xuehao+"!!!!");
      name=request.getParameter("name").trim();
      //System.out.println(name+"@@@");
      if(name!=null)
      {
        name=new String(name.getBytes("ISO-8859-1"));
      }
      sex=request.getParameter("age").trim();
      if(sex!=null)
     {
      sex=new String(sex.getBytes("ISO-8859-1"));
     } 
      age=request.getParameter("age").trim();
      i=Integer.parseInt(age);
      jiguan=request.getParameter("jiguan").trim();
       if(jiguan!=null)
       {
        jiguan=new String(jiguan.getBytes("ISO-8895-1"));
       }
      department=request.getParameter("department").trim();
     if(department!=null)
     {  
      department=new String(department.getBytes("ISO-8895-1"));
     }