【问题标题】:Why someone calls post() method inside get() method in Servlets?为什么有人在 Servlet 的 get() 方法中调用 post() 方法?
【发布时间】:2019-02-16 12:36:34
【问题描述】:
为什么我们在 servlet 的 get() 方法中调用 post() 方法?
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
【问题讨论】:
标签:
java
post
servlets
get
http-method
【解决方案1】:
仅仅是因为有人想要拥有相同的行为,而不管 HTTP 方法是 POST 还是 GET。所以用POST请求资源和GET是一样的。
但是:这样做 - 做同样的动作 - 很可能是错误的。这样做的人可能是为了方便 - 例如想要提供更多访问资源的方法,但不完全理解 GET 与 POST 的区别。
这是一个幂等性的问题。很好的解释here。
简而言之,GET 应该在 GETting 时使用,POSTing 当您需要在服务器端更改内容时使用。
但我所经历的一些人使用GET,只要GET 的数据太多,然后切换到POST,而不进一步考虑真正的区别。