我想知道在servlet中爲什麼我們在同一個程序中一起使用doGet和doPost方法。它有什麼用處?servlet doGet和doPost方法
以下代碼的含義是什麼?
爲什麼要從doPost調用doGet方法?我完全不清楚這個代碼。
public class Info extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
doGet(request, response);
}
}
感謝
什麼時候你真的想區分servlet中的get和post?這將是什麼樣的用例(或需求)? – 2012-02-05 10:19:54
GET應該獲取資源。它必須是冪等的,不應該修改服務器中的任何東西。 POST不是冪等的,用於創建,更新或刪除服務器上的某些內容。當必須使用GET時,沒有理由使用POST,並且在使用POST時使用GET是不好的做法,如果用戶刷新頁面或瀏覽歷史記錄,可能會導致各種問題。通常使用GET來顯示錶單,並通過POST提交。 – 2012-02-05 10:23:13
'doGet()'爲'/ users'返回一個列表,'doPost()'爲同一個URL(servlet)創建新的用戶。當然,我可以將這兩種方法委託爲一個,然後使用['HttpServletRequest.getMethod()'](http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html# getMethod())但它只會使問題複雜化。 – 2012-02-05 10:25:06