-4
我打電話從主servlet的另一個servlet,這本來是通過實現JSP容易,但我對這個實驗的目的是隻使用servlet的,請幫助我可以覆蓋doPost方法的servlet的方法,多次
我打電話從主servlet的另一個servlet,這本來是通過實現JSP容易,但我對這個實驗的目的是隻使用servlet的,請幫助我可以覆蓋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框架的原因)。您也可以參考
想法完全一樣:) – skuntsel 2013-04-10 17:47:21
簡單地回答:不能。 – 2013-04-10 17:26:43
我不認爲我理解這個問題。您的帖子正文與標題沒有多大關係。你能澄清嗎? – iamnotmaynard 2013-04-10 17:31:41