2017-07-30 190 views
0

Remove.javaはサーブレットで、index.jspはjspファイルです。私はそれが一意であるので、電子メールを使ってファイルを削除しようとしています。サーブレットを使用してデータベースからレコードを削除する

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> 
+0

申し訳ありませんが、index.jspにはmethod = "post"があります。 –

+0

フォームアクションを確認してください。これを試してください:action = "/ Remove" –

+0

ようこそスタックオーバーフロー!あなたはあなたの質問に多くのコードを書いているので、私たち(そして将来の読者)にはどこに問題があるのか​​がはっきりしません。問題のコードを10行以下に減らしてください。参照:[最小限で完全で検証可能な例の作成方法](http://stackoverflow.com/help/mcve)と[小規模プログラムのデバッグ方法](https://ericlippert.com/2014/03/05)/how-to-debug-small-programs /)を実行します。 –

答えて

1

から変更してみてください:

<form action="Remove" method="post"> 

とから:

<form action="Remove.servlet" method="get"> 

<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>)が除去されるべきです。

関連する問題