`

request.getInputStream() 的两种解析方式

 
阅读更多

request 内容解析方式:

方式一:

byte[] bytes = new byte[1024 * 1024];
			InputStream is = request.getInputStream();

			int nRead = 1;
			int nTotalRead = 0;
			while (nRead > 0) {
				nRead = is.read(bytes, nTotalRead, bytes.length - nTotalRead);
				if (nRead > 0)
					nTotalRead = nTotalRead + nRead;
			}
			String str = new String(bytes, 0, nTotalRead, "utf-8");
			System.out.println("Str:" + str);

 方式二:

BufferedReader br = new BufferedReader(new InputStreamReader((ServletInputStream) request.getInputStream()));
			String line = null;
			StringBuilder sb = new StringBuilder();
			while ((line = br.readLine()) != null) {
				sb.append(line);
			}
			System.out.println(sb);
 

头参数解析方式

 

String params = request.getQueryString();

private Map getRequestParam(String params){
		Map paramMap = null;
		if(null!=params){
			paramMap = new HashMap();
			String param[]=params.split("&");
     	   for(int i=0;i<param.length;i++){
     		   String content = param[i];
     		   String key = content.substring(0, content.indexOf("="));
     		   String value = content.substring(content.indexOf("=")+1, content.length());
     		  paramMap.put(key, value);
     	   }
		}
		return paramMap;
	}
 
分享到:
评论

相关推荐

    http request 解析

    本篇将详细探讨Java中如何解析HTTP请求,特别是GET和POST两种主要的请求方法。 首先,让我们了解HTTP请求的基本结构。一个HTTP请求由以下几个部分组成: 1. **请求行**:包含了请求方法(GET或POST)、请求URL以及...

    对Servlet 中 request.setEncoding("utf-8")的分析

    `usingReader`和`usingInputStream`这两个变量用来追踪是否已经通过`getReader()`或`getInputStream()`访问了请求数据。一旦其中一个被设置为`true`,另一个就不能再被设置,因为HTTP请求只能以一种方式(流或字符...

    android客户端向服务端上传数据 post和get两种方式

    本文将深入探讨两种主要的HTTP请求方法:POST和GET,以及它们在Android中用于上传数据的应用。同时,我们还将讨论XML数据的发送和文件上传的相关技术。 首先,GET和POST是HTTP协议中的两种主要请求类型。GET主要...

    Servlet获取AJAX POST请求中参数以form data和request payload形式传输的方法

    本篇文章主要探讨如何在Servlet中处理AJAX POST请求,特别是当请求参数以`form data`和`request payload`两种不同形式传递时。 首先,理解HTTP请求的基本结构。GET请求的参数通常附加在URL后面,而POST请求的参数...

    android网络编程之http发送/请求服务

    6. 获取响应:调用`connection.getInputStream()`获取输入流,读取服务器返回的数据。 7. 关闭连接:使用完毕后,记得关闭连接。 二、Android网络请求示例(GET): ```java URL url = new URL(...

    jsp文件上传的两种方法

    本篇文章将详细介绍两种在JSP中实现文件上传的方法:使用HTML表单和Servlet,以及使用Apache Commons FileUpload库。 ### 方法一:HTML表单与Servlet 1. **创建HTML表单**: 首先,我们需要创建一个包含`&lt;form&gt;`...

    DiskFileItemFactory实现文件上传 FileInputStream

    前者负责创建和管理上传文件的临时存储,后者则提供了一种读取文件内容的方式。结合这两个工具,开发者可以高效且安全地处理用户上传的文件。在实际项目中,还需要考虑文件的合法性检查、异常处理、安全性(防止恶意...

    android基础 - POST GET

    本文将深入探讨这两种方法的工作原理、应用场景以及如何在Android中实现它们。 一、POST与GET方法的区别 1. 工作原理: - GET:请求参数附加在URL后面,通过?分隔,再用&连接各个参数。这种方式限制了URL长度,...

    android_Http

    在Android开发中,HTTP通信是应用与服务器交互的重要方式,主要涉及GET和POST两种请求方法。本篇将详细讲解这两种方法及其在Android中的实现,并结合提供的"web"和"RegisterActivity"两个文件名称,推测这可能涉及到...

    JavaWeb 文件的上传和下载功能简单实现代码

    常见的 enctype 属性值有两种: * application/x-www-form-urlencoded:这是表单的默认 enctype 值,请求正文将被编码为 URL 编码,服务器可以通过 request.getParameter() 方法获取表单字段的值。 * multipart/...

    android采用post方式获取数据

    在Android开发中,获取服务器数据是常见的操作,通常有GET和POST两种主要的HTTP请求方法。本篇将详细讲解如何在Android中使用POST方式来获取数据,并结合源代码和JSON解析进行实例说明。 首先,POST请求常用于向...

    struts文件上传 - 两种方式

    本篇文章将详细讲解两种实现Struts文件上传的方法: Commons-Fileupload 和 FileForm。 ### 1. Commons-Fileupload方式 Apache Commons FileUpload 是一个专门处理HTTP请求中多部分内容的库,非常适合用于文件上传...

    浅谈servlet中的request与response

    6. `request.getInputStream()`:获取请求实体内容的输入流,用于读取POST请求中提交的数据。 在处理请求时,编码问题至关重要。HttpServletRequest提供了设置字符编码的方法,如`request.setCharacterEncoding(...

    Android Get和Post方式访问网络

    本篇文章将详细解析这两种方法以及如何在Android中实现它们。 1. GET方法: GET是最常见的HTTP请求方法,用于从服务器获取数据。数据通常附加在URL后面,以问号(?)分隔,各个参数之间用&符号连接。这种方式简单...

    android-http-get-json.7z

    在Android开发中,HTTP GET请求和JSON数据解析是两个核心概念。"android-http-get-json.7z"这个压缩包文件很可能包含了一个示例项目或教程,教导开发者如何在Android应用中通过HTTP GET方法获取服务器上的JSON数据,...

    okhttp上传文件包含服务端(java)

    在处理文件上传时,Servlet需要解析请求中的多部分数据,提取文件内容并保存到服务器。以下是一个简单的Servlet示例: ```java import javax.servlet.http.Part; import java.io.IOException; public class ...

    简单的JSP文件上传.txt

    in = new DataInputStream(request.getInputStream()); // 获取输入流 int formDataLength = request.getContentLength(); // 获取文件大小 if (formDataLength &gt; MAX_SIZE) { out.println("上传文件大小超过...

    android http 操作实例

    接下来,我们主要使用两种方式进行HTTP操作:一是使用`HttpURLConnection`,二是使用第三方库如Volley、Retrofit或OkHttp。 1. **使用HttpURLConnection** `HttpURLConnection`是Java标准库的一部分,适用于简单的...

    android原生post请求源码

    不过,为了全面理解,我们将同时讨论这两种方法。 ### 使用HttpURLConnection实现POST请求 1. **创建URL对象**:首先,你需要创建一个`URL`对象,传入服务器的URL地址。 2. **打开连接**:使用`URL`对象的`open...

    java Web开发乱码解决方案

    ServletInputStream inStream = request.getInputStream(); // 获取输入流 int size = request.getContentLength(); // 获取请求长度 byte[] buffer = new byte[size]; // 创建字节数组 inStream.read(buffer); ...

Global site tag (gtag.js) - Google Analytics