您的位置:首页 > 编程语言 > Java开发

java.lang.NumberFormatException: null的解决方法

2017-07-30 00:10 537 查看
    1  首先附上我的代码:

protected void delete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
Integer reviewid=Integer.valueOf(request.getParameter("reviewid"));
System.out.println(reviewid);
Integer articleid=Integer.valueOf(request.getParameter("articleidid"));
if(ybReviewService.deleteReview(reviewid)>0){
System.out.println("加油啊");
response.sendRedirect("YbReviewServlet?method=list&articleid="+articleid);
}else{
request.setAttribute("msg","删除评论失败!<a href=\"JavaScript:window.history.back()\">返回</a>");

}
}


  2 于是报了这个错误,通常应该考虑的问题是
nteger articleid=Integer.valueOf(request.getParameter("articleidid"));获取的值是null;所以,可以通过设置断点以及插入输出语句来判断错误的地方;
3 改正后的代码如下:

protected void delete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
Integer reviewid=Integer.valueOf(request.getParameter("reviewid"));
System.out.println(reviewid);
Connection con=null;
con=DBUtil.getDb();
PreparedStatement pstmt=null;
ResultSet rs=null;
YbReview ybReview=null;
String sql="select article_id from yb_review where review_id=?";
try{
pstmt=con.prepareStatement(sql);
pstmt.setInt(1,reviewid);
rs=pstmt.executeQuery();
while(rs.next()){
ybReview=new YbReview();
ybReview.setArticleid(rs.getInt("article_id"));
}
}catch(SQLException ex){
System.out.println(ex.getMessage());
}

Integer articleid=ybReview.getArticleid();
if(ybReviewService.deleteReview(reviewid)>0){
System.out.println("加油啊");
response.sendRedirect("YbReviewServlet?method=list&articleid="+articleid);
}else{
request.setAttribute("msg","删除评论失败!<a href=\"JavaScript:window.history.back()\">返回</a>");

}
}

      希望我的方法对大家有用!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java.lang.NumberForm