2013-04-29 45 views
0

我們有一個先前的實現,我們將一個鍵值對以表格數據發送到服務器 即。 message=something_blah在http請求中使用表單數據的最佳實踐

這實際上在表單數據中有沒有什麼意義呢?只有在構建對象或對象數組時才應使用表單數據? 如果我們只有一個鍵值對,將它作爲查詢請求參數的一部分插入會不會更好?

+1

從servlet的角度來看,表單數據參數和查詢參數是相同的。 – 2013-04-29 18:10:09

+0

應該將表單數據作爲一個對象嗎?即{message:something_blah}還是沒關係? – Decrypter 2013-04-29 18:11:08

+0

你使用什麼方法:POST或GET? – 2013-04-29 18:11:56

回答

0

表單參數和查詢參數或多或少地來自servlet中相同的地方。

例如,在doGet()doPost()就已經走了同樣的路,所以將所有其他的HTTP方法)

public void doGet(HttpServletRequest request, HttpServletResponse response) { 
    String message = request.getParameter("message"); // would return something_blah or null if no parameter 
    ... 
} 

要在OP評論回答你的問題,從request.getParameter()產生的參數都是字符串。然後可以將它們轉換爲其他類型(解析爲數值)或使用它們初始化Class實例。他們的使用取決於你。

此參數可能來自

<form method="get"> 
    <input name="message" type="text" value="something_blah"/> 
</form> 

或從URL

http://www.yourdns.com/myapp?message=something_blah 

要回答應該形成的數據,如果我們正在建立對象的對象或數組才能使用?,像Spring這樣的框架使用來自html表單(和查詢字符串)的參數來使用反射和一些命名約定自動實例化對象。這不是必須的,它只是有用的。因此,請查看您的要求,看看您是否需要它。