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: null
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.NumberFormatException: null
java.lang.Integer.parseInt(Integer.java:415)
java.lang.Integer.parseInt(Integer.java:497)
org.apache.jsp.delete_jsp._jspService(delete_jsp.java:80)
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.
--------------------------------------------------------------------------------
<%@page pageEncoding="gb18030"%>
<%@page import="java.sql.*, java.io.*, com.bjsxt.bbs.*,java.util.*" %><%//@  include file="_SessionCheck.jsp"%><%!
private void delete(Connection conn, int id,boolean isLeaf){
if(! isLeaf){
String sql = "select * from article where pid =" + id;
Statement stmt = DB.createStmt(conn);
ResultSet rs = DB.executeQuery(stmt,sql);
try{
while(rs.next()){
delete(conn,rs.getInt("id"),rs.getInt("isleaf")== 0);
}
}catch(SQLException e){
e.printStackTrace();
}finally {
DB.close(rs);
DB.close(stmt);
}
}


DB.executeUpdate(conn,"delete from article where id =" + id);

}
%><%
int id = Integer.parseInt(request.getParameter("id"));
int pid = Integer.parseInt(request.getParameter("pid"));
boolean isLeaf = Boolean.parseBoolean(request.getParameter("isLeaf"));

Connection conn = null;
boolean autoCommit = true;
Statement stmt = null;
ResultSet rs = null;
try{
conn = DB.getConn();
autoCommit = conn.getAutoCommit();
conn.setAutoCommit(false);

delete(conn,id,isLeaf);

 stmt = DB.createStmt(conn);
 rs =DB.executeQuery(stmt,"select count(*) from  article where pid =" + pid);
rs.next();
int count = rs.getInt(1);

if(count <=0){
DB.executeUpdate(conn,"update article set isleaf =0 where id =" + pid);
}
conn.commit();
}finally{
conn.setAutoCommit(autoCommit);
DB.close(rs);
DB.close(stmt);
DB.close(conn);
}
response.sendRedirect("delete.jsp");
%>
怎么回事啊,高手赐教

解决方案 »

  1.   

    java.lang.NumberFormatException: null楼主可能传来的是空指针。导致类型转换的时候出现错误,因为空指针无法转换。
      

  2.   

    int id = Integer.parseInt(request.getParameter("id"));
    int pid = Integer.parseInt(request.getParameter("pid"));
    这些获取不到值吧
      

  3.   

    request.getParameter("id")
    request.getParameter("pid")
    这两个取值有问题,要检查你的id和pid是从哪里传过来的,写对没有,
    没有找到就是null,那样会数据类型转换格式异常
      

  4.   

    从错误码来看,是将空转换成int出错了
      

  5.   

    request.getParameter("id")
    request.getParameter("pid")
    没有值 ,即 为null
      

  6.   

    request.getParameter("id")
    request.getParameter("pid")
    不存在。Null;
      

  7.   

    request.getParameter("id")
    request.getParameter("pid")
    没有值 ,即 为null