0
我是一個初學者,試圖用澤西島來實現一個簡單的CRUD應用程序。我試圖根據用戶通過網頁傳遞的輸入刪除一行。但我的方法沒有被調用,我收到以下錯誤。無法使用澤西從數據庫中刪除資源
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進行刪除。
@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工作正常。
對於調試,你可以做幾件事情。您可以使用類似'curl'的命令行工具或瀏覽器REST API調用擴展來測試DELETE並確認服務器配置正確。您還可以附加代理或記錄請求參數,以查看瀏覽器真正傳遞的內容。 – Pace