[英]Calling Java Servlet with GET but processing request with POST - calling doPost via doGet technically still a GET action?
我在JSP頁面上有一個鏈接,該鏈接通過GET調用servlet,如下所示:
https://myserver.com/servlet/ServletTest
沒有要傳遞的參數,但是它將在后端插入並可能更新數據。 按照慣例,我應該使用POST。 在ServletTest Servlet中,從技術上通過doGet
調用doPost
仍然是GET操作嗎?
public void doGet(HttpServletRequest req, HttpServletResponse resp)
{
doPost(req,resp);
}
public void doPost(HttpServletRequest req, HttpServletResponse resp)
{
//process the incoming request
}
就像我說的那樣,我沒有從客戶端推送任何參數,因此,在JSP頁面上創建一個空Form可能沒有多大意義。 最終,我想執行POST操作而不必使用Form。
Servlet最終將創建一個令牌,以供以后用於REST API調用。 因此,POST可能是正確的操作,而不是GET。 我認為這不是必要的信息。 抱歉,我沒有在早期將其包括在內。
謝謝。
這樣做沒有問題。 您可以在doGet中執行代碼,因為您的Servlet正在處理get請求。 約定有待打破:)
例如,如果要設計REST Api,則應遵守約定,並且如果需要這種方法,通常是由於設計不當所致。 否則,如果只是要執行操作的URL,則使用get請求進行調用或從另一個方法調用一個方法都沒有問題,因此您可以接受兩種請求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.