当前位置:编程学习 > JAVA >>

jsp 代码错误

HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

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");
%>
怎么回事啊,高手赐教 --------------------编程问答-------------------- java.lang.NumberFormatException: null

楼主可能传来的是空指针。导致类型转换的时候出现错误,因为空指针无法转换。 --------------------编程问答-------------------- int id = Integer.parseInt(request.getParameter("id"));
int pid = Integer.parseInt(request.getParameter("pid"));
这些获取不到值吧 --------------------编程问答-------------------- request.getParameter("id")
request.getParameter("pid")
这两个取值有问题,要检查你的id和pid是从哪里传过来的,写对没有,
没有找到就是null,那样会数据类型转换格式异常 --------------------编程问答-------------------- 从错误码来看,是将空转换成int出错了 --------------------编程问答-------------------- request.getParameter("id")
request.getParameter("pid")
没有值 ,即 为null --------------------编程问答-------------------- request.getParameter("id")
request.getParameter("pid")
不存在。Null; --------------------编程问答-------------------- request.getParameter("id")
request.getParameter("pid")
没有值 ,即 为null
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,