2014-01-21 44 views
0

我是servlets的新手。 我的問題是,如果我使用response.sendredirect() 哪個方法被稱爲doGet或doPost()? 我知道在jsp中servlet的get或post方法會根據方法類型調用。 但是,如果使用response.sendRedirect()將servlet傳遞給servlet請求,哪個方法會被調用? servlet引擎如何決定調用哪個方法?for sendredirect哪個方法被稱爲doGet或doPost()

非常感謝。

+0

HTTP重定向將始終使用GET。 – NINCOMPOOP

回答

0

response.sendRedirect始終是一個GET

+0

但它是如何決定的? 我認爲doGet()是默認的,因此doGet會被調用?我對嗎?如果doGet沒有實現呢?它會調用doPost()嗎? – Sachin

0

重定向總是使用get方法, 重定向意味着一個新的請求.. 當我們給發送重定向實際發生的是來自用戶的新的請求.. ,它始終是get .. 因爲它是一個新的請求,我們無法訪問舊的請求參數

0

sendRedirect()始終是一個2步驟過程,在該過程中,服務器將URL位置和狀態碼301發送到客戶端瀏覽器。 客戶端瀏覽器然後GET的URL,然後去那個URL位置(你可以在地址欄中看到這個網址)。

記住對Http或URL鏈接的請求始終是一個Get請求,無論該URL是應用程序內的servlet還是外部位置。

參考 http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletResponse.html#sendRedirect%28java.lang.String%29

相關問題