我可以覆盖doPost方法的servlet的方法,多次
答
你可以在班级中多次覆盖方法,因此您无法多次覆盖doPost
。
如果你的意思是超负荷,那么这样做没有什么好的理由。最后,Servlet容器只会调用其中的一种方法。
如果您想使用单个Servlet处理超过1种请求,您可以发送一个参数指示您将执行的操作。例如:
@WebServlet("/person")
public class PersonCRUDServlet extends HttpServlet {
private static final String ADD = "add";
private static final String DELETE = "delete";
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String action = request.getParameter("action");
//using if assuming you work with Java SE 6
if (ADD.equals(action)) {
add(request, response);
} else
if (DELETE.equals(action)) {
delete(request, response);
} else {
//submitted action can't be interpreted
//or no action was submitted
errorForward(request, response);
}
}
private void add(HttpServletRequest request, HttpServletResponse response) {
//handle logic for add operation...
}
private void delete(HttpServletRequest request, HttpServletResponse response) {
//handle logic for delete operation...
}
private void errorForward(HttpServletRequest request, HttpServletResponse response) {
//handle logic for delete operation...
}
}
请注意,这是手动处理的很多工作(这是存在Java Web MVC框架的原因)。您也可以参考
+0
想法完全一样:) – skuntsel 2013-04-10 17:47:21
简单地回答:不能。 – 2013-04-10 17:26:43
我不认为我理解这个问题。您的帖子正文与标题没有多大关系。你能澄清吗? – iamnotmaynard 2013-04-10 17:31:41