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

    1  首先附上我的代码:

 Integer reviewid=Integer.valueOf(request.getParameter("reviewid"));
		 System.out.println(reviewid);
Integer articleid=Integer.valueOf(request.getParameter("articleid"));
 if(ybReviewService.deleteReview(reviewid)>0){
			 System.out.println("加油啊");
				response.sendRedirect("YbReviewServlet?method=list&articleid="+articleid);
		 }else{
		     request.setAttribute("msg","删除评论失败!返回");

		 }
	}
    2  出现这个报错,一般要考虑
Integer.valueOf(request.getParameter("articleid"));
中获取的值,可能是null;当然,也可以通过设置断点或是像我一样插入
	 System.out.println("加油啊");
这种语句来判断;

    3  所以,要检查你获取的数据是否为空值;

    4  我改过的代码如下,当然,不会报错了;

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","删除评论失败!返回");

		 }
	}


你可能感兴趣的:(java,web)