使用doGet()/ doPost()而不是processRequest()有什麼區別?doGet()/ doPost()和processRequest()之間有什麼區別?
如果有人使用對的doGet()和doPost()來處理他/她的請求或使用一種方法的processRequest()?
使用doGet()/ doPost()而不是processRequest()有什麼區別?doGet()/ doPost()和processRequest()之間有什麼區別?
如果有人使用對的doGet()和doPost()來處理他/她的請求或使用一種方法的processRequest()?
有什麼區別?
這只是一個普通的代碼移動到一個地方,例如事:
public class TestServlet extends HttpServlet
{
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.getWriter().println("Welcome to TestSevlet");
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
}
*注:的doPost()和的doGet()是Servlet接口的一部分,和的processRequest()是隻是一個常用的輔助方法的名稱,不是任何接口的一部分
你應該使用processRequest()嗎?
這取決於你的servlet應該如何做人,如何你的servlet調用,如果你想有比GET請求POST請求不同的行爲,然後分別實現它們。如果您的servlet應該具有相同的行爲,無論調用GET還是POST,然後將它們路由到相同的processRequest()方法。
在大多數情況下(可能是90%的時間)是的,你可以路由的doGet()和doPost(),以單一的processRequest()方法。
的一個示例如果要爲POST請求上傳文件並查看某個GET請求的某些數據,則希望將這兩個都路由到processRequest()方法。
是的processRequest()好的做法?
如果GET和POST正在做同樣的事情,那麼絕對是。實際上,Arun Gupta(Java EE的主要規範之一)使用這種模式in his samples。