doGet()/doPost() 和 processRequest() 有什么区别?
What's the difference between doGet()/doPost() and processRequest()?
使用 doGet()/doPost() 而不是 processRequest() 有什么区别?
有人应该使用 doGet() 和 doPost() 对来处理 his/her 请求还是使用一种方法 processRequest() ?
What's the difference?
只是将通用代码移到一个地方,例如:
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() 只是辅助方法的常用名称,不属于任何接口
Should you use processRequest()?
这取决于您的 Servlet 的行为方式以及您的 servlet 的调用方式,如果您希望 POST 请求的行为与 GET 请求的行为不同,请分别实现它们。如果您的 servlet 应该具有相同的行为,无论是在其上调用 GET 还是 POST,则将它们路由到相同的 processRequest() 方法。
在大多数情况下(可能是 90% 的时间)是的,您可以将 doGet() 和 doPost() 路由到单个 processRequest() 方法。
您 不想 想将两者路由到 processRequest() 方法的一个示例是,如果您想为 POST 请求上传文件并查看一些GET 请求的数据。
Is processRequest() considered good practice?
如果 GET 和 POST 做同样的事情,那么绝对是。事实上,Arun Gupta(Java EE 的主要规范负责人之一)使用这种模式 in his samples.
使用 doGet()/doPost() 而不是 processRequest() 有什么区别?
有人应该使用 doGet() 和 doPost() 对来处理 his/her 请求还是使用一种方法 processRequest() ?
What's the difference?
只是将通用代码移到一个地方,例如:
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() 只是辅助方法的常用名称,不属于任何接口
Should you use processRequest()?
这取决于您的 Servlet 的行为方式以及您的 servlet 的调用方式,如果您希望 POST 请求的行为与 GET 请求的行为不同,请分别实现它们。如果您的 servlet 应该具有相同的行为,无论是在其上调用 GET 还是 POST,则将它们路由到相同的 processRequest() 方法。
在大多数情况下(可能是 90% 的时间)是的,您可以将 doGet() 和 doPost() 路由到单个 processRequest() 方法。
您 不想 想将两者路由到 processRequest() 方法的一个示例是,如果您想为 POST 请求上传文件并查看一些GET 请求的数据。
Is processRequest() considered good practice?
如果 GET 和 POST 做同样的事情,那么绝对是。事实上,Arun Gupta(Java EE 的主要规范负责人之一)使用这种模式 in his samples.