0
我們有一個先前的實現,我們將一個鍵值對以表格數據發送到服務器 即。 message=something_blah
在http請求中使用表單數據的最佳實踐
這實際上在表單數據中有沒有什麼意義呢?只有在構建對象或對象數組時才應使用表單數據? 如果我們只有一個鍵值對,將它作爲查詢請求參數的一部分插入會不會更好?
我們有一個先前的實現,我們將一個鍵值對以表格數據發送到服務器 即。 message=something_blah
在http請求中使用表單數據的最佳實踐
這實際上在表單數據中有沒有什麼意義呢?只有在構建對象或對象數組時才應使用表單數據? 如果我們只有一個鍵值對,將它作爲查詢請求參數的一部分插入會不會更好?
表單參數和查詢參數或多或少地來自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表單(和查詢字符串)的參數來使用反射和一些命名約定自動實例化對象。這不是必須的,它只是有用的。因此,請查看您的要求,看看您是否需要它。
從servlet的角度來看,表單數據參數和查詢參數是相同的。 – 2013-04-29 18:10:09
應該將表單數據作爲一個對象嗎?即{message:something_blah}還是沒關係? – Decrypter 2013-04-29 18:11:08
你使用什麼方法:POST或GET? – 2013-04-29 18:11:56