【问题标题】:Best Practice for using Form Data in a http request在 http 请求中使用表单数据的最佳实践
【发布时间】:2013-04-29 17:50:52
【问题描述】:

我们有一个先前的实现,我们将表单数据中的一个键值对发送到服务器 IE。 message=something_blah

在表单数据中实际使用它有什么意义吗?是否应该仅在我们构建对象或对象数组时使用表单数据? 如果我们只有一个键值对,将它作为查询请求参数的一部分插入不是更好吗?

【问题讨论】:

  • 表单数据参数和查询参数,从servlet的角度看是一样的。
  • 表单数据应该是一个对象吗?即 {message:something_blah} 还是没关系?
  • 您使用的是什么方法:POST 还是 GET?
  • 我正在使用 POST 发送 HTTP 请求

标签: javascript forms servlets


【解决方案1】:

表单参数和查询参数或多或少是从 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 cmets 中的问题,来自 request.getParameter() 的参数是字符串。然后,您可以将它们转换为其他类型(解析为数值)或使用它们来初始化 Class 实例。它们的使用取决于您。

这个参数可能来自

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

或来自网址

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

回答是否应该仅在我们构建对象或对象数组时使用表单数据?,一些框架,如 Spring,使用来自 html 表单(和查询字符串)的参数来自动实例化对象您使用反射和一些命名约定。这不是必需的,它只是有用的。因此,请查看您的要求,看看您是否需要它。

【讨论】:

    猜你喜欢
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 2010-12-30
    • 1970-01-01
    • 2020-11-20
    • 1970-01-01
    • 2013-04-13
    相关资源
    最近更新 更多