使用servlet从数据库中删除记录
问题描述:
Remove.java是servlet,index.jsp是jsp文件。我试图使用电子邮件删除该文件,因为它是唯一的。使用servlet从数据库中删除记录
Remove.java
package servletPool;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/Remove")
public class Remove extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String uEmail = request.getParameter("email");
try {
Class.forName("com.mysql.jdbc.Driver");
String user = "root";
String pass = "root";
String query = "delete from user_details where email=?";
Connection con = DriverManager.getConnection("jdbc:mysql://locahost:3306/dbname", user, pass);
PreparedStatement ps = con.prepareStatement("delete from user_details where email=?");
ps.setString(1, uEmail);
int i = ps.executeUpdate();
if(i > 0) {
out.println("User successfully removed...");
}
} catch (Exception e) {
System.out.println(e);
}
}
}
,这里是index.jsp文件从该记录将被删除。
的index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Registration Page.</title>
</head>
<body>
<div>
<div style="padding : 10px;">
<center>
<form action="Remove.servlet" method="get">
<h5>If you want to remove users,</h5>
<input type="email" placeHolder="User's Email" name="email"/>
<input type="button" value="Click" name="remove"/>
</form>
</center>
</div>
</center>
</div>
</body>
</html>
答
尝试从改变:
<form action="Remove.servlet" method="get">
到:
<form action="Remove" method="post">
和:
<input type="button" value="Click" name="remove"/>
到:
<input type="submit" value="Click" name="remove"/>
另外,在因为它们是不必要在Remove.java index.jsp和第29行(String query = "delete from user_details where email=?";
)应被删除线26(</center>
)。
对于错误感到抱歉,但在index.jsp中有method =“post”。 –
您能否验证表单操作?试试这个:action =“/删除” –
欢迎来到Stack Overflow!你已经在你的问题中发布了很多代码,这使得我们(以及未来的读者)不清楚问题出在哪里。请将您的问题代码减少到10行或更少。请参阅:[如何创建最小,完整和可验证示例](http://stackoverflow.com/help/mcve)和[如何调试小程序](https://ericlippert.com/2014/03/05 /如何调试的小程序/)。 –