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>");
}
}
希望我的方法对大家有用!