我是初学者,尝试使用jersey实现一个简单的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)工作正常。
答案 0 :(得分:0)
我不认为HTML表单支持DELETE(仅限GET和POST)。有关详细信息,请参阅此问题here。
HTML表单(最高为HTML版本4和XHTML 1)仅支持GET和 POST作为HTTP请求方法。