Put请求一般可用来修改服务器中的资源,但如果你需要提交给服务器一些表单数据,那么遗憾的告诉你,PUT请求不支持,最简单的方法就是改用POST请求,我也是今天在项目中才知道的,特此记下,共同学习。
具体请看:
SRV.4.1.1 When Parameters Are Available
The following are the conditions that must be met before post form
data will be populated to the parameter set:
1. The request is an HTTP or HTTPS request.
2. The HTTP method is POST.
3. The content type is application/x-www-form-urlencoded.
4. The servlet has made an initial call of any of the getParameter
family of methods on the request object.
大概意思是:
以下条件是在post form数据在被移至参数集合之前必须满足的条件:
1. request是HTTP/HTTPS request
2. HTTP method是POST。
3. content type是application/x-www-form-urlencoded。
4. servlet已经对request对象中所有getParameter可以得到的参数做了初始化调用。
分享到:
相关推荐
同时,对于敏感数据的传输,建议使用POST请求,因为GET请求可能会将数据暴露在URL中,而PUT请求则通常用于更新资源,应确保客户端有足够的权限进行此类操作。 总之,HTTPS协议不仅提供安全的通信环境,还兼容HTTP的...
* PUT 请求方法包含请求体,用于传递数据到服务器端。 * PUT 请求方法不是幂等的,即多次请求可能会改变服务器端的状态。 * PUT 请求方法通常用于更新服务器端的资源。 DELETE 请求方法 DELETE 请求方法用于删除...
它将数据封装在请求正文中,通常用于表单提交或API调用中添加新数据。在描述中提到的"params(key,value)传值"就是POST请求常使用的参数传递方式。 2. **PUT**:PUT请求类似于POST,但主要用于更新已有资源。它...
为了提交表单数据,我们需要自定义一个请求类,继承自 `StringRequest` 并重写 `getParams()` 方法来封装表单数据: ```java public class FormRequest extends StringRequest { private Map, String> params; ...
下面将详细解析如何利用`HttpURLConnection`来构建并发送一个包含JSON数据的POST请求: ```java import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io....
当使用Ajax发送PUT或DELETE请求时,最常见的问题是服务器端无法正确地接收到客户端发送的数据。例如,在一个更新员工信息的例子中,前端使用jQuery的`$.ajax()`方法发送PUT请求: ```javascript $.ajax({ url: "${...
4. 请求体(Body):仅在POST、PUT等请求方法中存在,用于传递附加数据。 HTTP请求主要有以下几种类型: - GET:请求指定资源,通常用于获取信息。 - POST:向指定资源提交数据,例如提交表单或上传文件。 - PUT:...
当需要提交表单、创建新资源或更新已有资源时,POST 请求是首选。 2. 数据量: - GET 请求:受到 URL 长度限制,一般不超过 2048 个字符,因此不适合传输大量数据。 - POST 请求:没有长度限制,可以在请求体中...
在异步数据传输中,jQuery的`$.ajax()`方法是关键,它可以发送异步HTTP请求,获取或提交数据。通过设置`dataType: 'json'`,我们可以指定数据类型为JSON,使得服务器返回的数据能被自动解析成JavaScript对象。 JSON...
POST请求需要传递参数,通常以键值对的形式,可以使用`FormBody.Builder`或`MultipartBody.Builder`。假设我们有JSON格式的数据: ```java JSONObject jsonObject = new JSONObject(); jsonObject.put("key1", ...
2. **参数传递**:RestSharp支持多种参数类型,如查询字符串参数、路径参数、表单数据、文件上传等。你可以通过`AddQueryParameter`、`AddPathParameter`等方法添加参数。 ```csharp request.AddParameter("key", ...
2. POST请求:POST请求常用于向服务器提交数据,比如表单提交。数据包含在请求体中,对用户不可见。POST请求不保证幂等性,可能因多次执行导致不同的结果。 接下来,我们将讨论如何使用`RestTemplate`发送带有头部...
2. **发起POST请求**:除了GET,`HttpTool`也支持POST请求,允许开发者传递参数,如JSON、表单数据等。 3. **设置请求头**:开发者可以通过工具类设置自定义的HTTP头,例如Content-Type、Authorization等。 4. **...
- 请求头用于传递额外的信息,如Content-Type(指定请求体的数据类型)和Authorization(用于身份验证)等。 5. **响应头(Response Headers)**: - 响应头包含了服务器返回的元数据,如Content-Length(响应体...
对于Ajax请求,这个过滤器能够读取请求体中的数据并正确处理DELETE和PUT请求。 HiddenHttpMethodFilter的作用是过滤器会检查请求中的_method参数,并将请求转换为对应的HTTP方法。这主要是在支持HTML表单中使用...
4. **请求体**:在POST或PUT请求中,请求体通常用来传递数据,例如表单提交的数据或者JSON对象。 5. **HTTP连接管理**:HTTP/1.0默认为短连接,即每次请求后关闭连接,而HTTP/1.1引入了持久连接,允许多次请求在...
- POST请求:用于提交数据,通常用于表单提交。设置setDoOutput(true),然后使用OutputStream写入数据。 3. **设置请求头**:HttpURLConnection提供了setRequestProperty()和addRequestProperty()方法来设置请求头...
- POST:用于向服务器提交数据,数据在请求体中,适用于表单提交,可以传输大量数据。 3. 请求头: 请求头包含了客户端的一些附加信息,如User-Agent(用户代理)、Accept(可接受的内容类型)、Host(请求的...
在Java编程中,后台请求HTTP并保持Session是一个常见的任务,特别是在需要访问受保护的Web资源时,例如登录后的网页数据。下面将详细讲解这个过程,包括GET和POST方法的使用,以及Session管理。 首先,我们需要了解...
1. **数据传输方式**:GET请求通过URL传递参数,而POST则通过请求体传递数据。 2. **数据大小限制**:GET请求由于依赖URL,因此受到URL长度的限制,通常小于2KB;而POST请求没有此限制,适合传输大量数据。 3. **...