0
私は初心者で、ジャージーを使用して簡単なCRUDアプリケーションを実装しようとしています。私は、Webページを介してユーザーによって渡された入力に基づいて1つの行を削除しようとしています。しかし、私のメソッドが呼び出されていない私は次のエラーを取得しています。ジャージーを使用してデータベースからリソースを削除できません
HTTP Status 405 - Method Not Allowed
type Status report
message Method Not Allowed
description The specified HTTP method is not allowed for the requested resource.
これは、htmlで取得したFormParamに基づいて削除する必要があるmy delete関数です。
@DELETE
@Path("/delete")
@Produces(MediaType.TEXT_HTML)
public void delEmployeeFormParam(@FormParam("Employee_id") int employee_id){
java.net.URI location= null;
System.out.println("teting");
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/Employee_db", "root", "root");
String query = "delete from employee where emp_id = (?)";
PreparedStatement st = con.prepareStatement(query);
st.setInt(1, employee_id);
st.executeQuery();
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
htmlコードを以下に示します。
<body>
<h3> Enter Employee Id to Delete </h3>
<div>
<form method="DELETE" action="http://localhost:8080/RESTCRUD/rest/employee/delete">
<p>Employee Id: <input type:"text" name="Employee_id"/></p>
<input type="submit" value="submit"/>
</form>
</div>
</body>
GETやPOSTなどの他の方法に注意してください。
デバッグでは、2つのことができます。 'curl'やブラウザのREST API呼び出し拡張のようなコマンドラインツールを使って、DELETEをテストし、サーバが正しく設定されていることを確認することができます。また、プロキシを添付したり、リクエストパラメータを記録して、実際にブラウザから何が渡されているかを確認することもできます。 – Pace