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;
}