java1996 2016-12-08 16:21 采纳率: 0%
浏览 896

为什么采用MVC模式写删除代码测试可以通过,删除的时候就一直显示用户不存在

package edu.jmi.servlet;

import java.io.IOException;
import java.sql.Connection;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import edu.jmi.dao.UserDao;
import edu.jmi.model.User;

/**

  • Servlet implementation class Delete
    */
    public class Delete extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**

    • @see HttpServlet#HttpServlet() */ public Delete() { super(); // TODO Auto-generated constructor stub }

    /**

    • @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub }

    /**

    • @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
      */
      protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      // TODO Auto-generated method stub
      System.out.println("delete called");
      Connection conn=null;
      HttpSession session=request.getSession();

      //1获取编解码
      request.setCharacterEncoding("utf-8");
      //2获取参数
      String name=request.getParameter("name");
      System.out.println(name);
      UserDao ud=new UserDao(); //复用原来的代码
      User user=new User();
      user.setName(name);
      int dres=ud.delete(user);
      if(dres!=0){//删除成功
      session.setAttribute("errmsg","删除成功");
      response.sendRedirect("delete.jsp");
      }else if(dres==0){
      session.setAttribute("errmsg","用户不存在");
      response.sendRedirect("delete.jsp");
      }else{
      session.setAttribute("errmsg","删除失败");
      response.sendRedirect("delete.jsp");
      }

    }

}

public int delete(User user){
int dres=-1;
Connection conn=null;
PreparedStatement ps=null;
//判读用户是否存在
boolean bres=isUserExist(user);
if(!bres){ //用户不存在
return 0;
}
try{
//获取数据库链接
System.out.println("start to do");
conn=DB.getConnection();
String sql="delete from user3 where name=?";
ps=conn.prepareStatement(sql);
ps.setString(1, user.getName());
int re=ps.executeUpdate();//执行删除
if(re>0){//删除成功
dres=1;
}
}catch(Exception e){
System.out.print(e);
}finally{
DB.close(null, ps, conn);
}
return dres;
}

  • 写回答

2条回答 默认 最新

  • 墨笙弘一 Java领域优质创作者 2016-12-08 16:35
    关注

    打断点看看你的delete sql 然后执行以下你的SQL 看看结果

    评论

报告相同问题?

悬赏问题

  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式