`
阅读更多

java web中如何获取请求体内容呢?

我们知道请求方式分为两种:Get,Post

/***
	 * Compatible with GET and POST
	 * 
	 * @param request
	 * @return : <code>byte[]</code>
	 * @throws IOException
	 */
	public static byte[] getRequestQuery(HttpServletRequest request)
			throws IOException {
		String submitMehtod = request.getMethod();
		String queryString = null;

		if (submitMehtod.equals("GET")) {// GET
			queryString = request.getQueryString();
			String charEncoding = request.getCharacterEncoding();// charset
			if (charEncoding == null) {
				charEncoding = "UTF-8";
			}
			return queryString.getBytes(charEncoding);
		} else {// POST
			return getRequestPostBytes(request);
		}
	}

/***
	 * Get request query string, form method : post
	 * 
	 * @param request
	 * @return byte[]
	 * @throws IOException
	 */
	public static byte[] getRequestPostBytes(HttpServletRequest request)
			throws IOException {
		int contentLength = request.getContentLength();
		if(contentLength<0){
			return null;
		}
		byte buffer[] = new byte[contentLength];
		for (int i = 0; i < contentLength;) {

			int readlen = request.getInputStream().read(buffer, i,
					contentLength - i);
			if (readlen == -1) {
				break;
			}
			i += readlen;
		}
		return buffer;
	}
/***
	 * Get request query string, form method : post
	 * 
	 * @param request
	 * @return
	 * @throws IOException
	 */
	public static String getRequestPostStr(HttpServletRequest request)
			throws IOException {
		byte buffer[] = getRequestPostBytes(request);
		String charEncoding = request.getCharacterEncoding();
		if (charEncoding == null) {
			charEncoding = "UTF-8";
		}
		return new String(buffer, charEncoding);
	}

 说明:当请求方式为“Get”时,直接使用request.getQueryString()获取String

当请求方式为“Post”时,读取InputStream(request.getInputStream())

 

0
0
分享到:
评论

相关推荐

    java web接口开发demo

    【Java Web接口开发】是Web应用程序开发中的一个重要环节,它允许不同的系统或客户端通过网络进行数据交互。在Java世界中,实现Web接口通常涉及到Servlet、JSP、Spring MVC或者RESTful API等技术。本示例"java web...

    JAVA发送HTTP请求,返回HTTP响应内容

    4. 如果是POST请求,需要设置请求体(参数)。 5. 执行请求,通常是调用`connect()`方法。 6. 读取响应码和响应头,了解请求是否成功以及服务器返回的信息。 7. 获取响应体,通常通过`InputStream`读取响应内容并...

    java调用webapi

    4. **设置请求体**:对于POST、PUT等需要发送数据的请求,需要设置请求体。 ```java StringEntity entity = new StringEntity(jsonData, ContentType.APPLICATION_JSON); httpPost.setEntity(entity); ``` 5. *...

    java filter打印请求返回参数

    为了实现在过滤器中获取请求体内容以及响应内容的功能,本方案主要采用了以下技术手段: 1. **对`HttpServletRequest`进行封装**:通过创建`HttpServletRequestWrapper`子类来包装原始请求对象,并重写`getReader()...

    java web中常用获取请求URL中各段的方法

    在java web项目里面获取url地址相关的工程名、段落或者参数等,本文档专门讲这些方法总结罗列,希望对大家能有帮助

    Https请求工具类,Java实现http请求,https请求

    Https请求工具类,Java实现http请求,https请求 本篇文章将详细介绍如何使用Java语言实现Http和Https请求的工具类,包括如何建立Https...该工具类可以用于各种Java应用程序中,例如Web应用程序、移动应用程序等。

    Java中Request请求转发详解

    RequestDispatcher是Java中实现请求转发的重要工具,它可以帮助我们实现复杂的Web应用程序。通过使用RequestDispatcher,我们可以实现请求的重定向或包含,从而提高Web应用程序的灵活性和可维护性。

    Java Web 整合开发 完全自学手册 源代码

    8. **Filter与Listener**:在Java Web中,Filter用于拦截请求和响应,实现数据过滤、登录检查等功能;Listener则监听Web应用的特定事件,如session的创建、销毁等。掌握这两者的配置和实现。 9. **Web Services**:...

    java web编程习题解析

    HTTP请求由请求行(包含方法、URI和协议版本)、请求头、空行和请求体组成。HTTP响应则由状态行(包含协议版本、状态码和状态消息)、响应头和响应体组成。常见的HTTP方法有GET和POST,GET用于获取资源,POST用于...

    java web教程和资料电子书

    Java Web教程和资料电子书是一份宝贵的资源,它旨在引导初学者和有一定基础的开发者深入理解和掌握Java Web开发技术。这份教程涵盖了Java面向对象编程在Web环境中的应用,是提升编程技能的重要参考资料。 首先,...

    Java Web开发实践教程源码

    Java Web开发是构建基于互联网应用程序的关键技术,它涵盖了服务器端编程、数据库交互、网页动态内容生成等多个方面。本教程源码提供了丰富的实践素材,帮助学习者深入理解这一领域的核心概念和技能。 首先,我们来...

    JAVA获取各种路径总结

    在Java开发中,特别是在Web应用开发中,经常需要获取不同类型的路径,例如:当前Web应用的路径、特定文件的真实路径等。本文将详细讲解如何通过不同的方式来获取这些路径。 #### JSP中获取路径 1. **获取当前应用...

    java web课程设计

    【Java Web课程设计详解】 Java Web是Web应用程序开发的一个重要领域,它涵盖了使用Java技术来构建Web应用的各种方法。在本课程设计中,虽然功能并未全部实现,但基础功能已经完成,这为初学者提供了宝贵的参考价值...

    电子商务系统JAVA web

    在电子商务系统开发中,Java Web 是一种常见的技术栈选择,尤其适用于构建中大型的在线交易平台。这个项目描述中提到的“电子商务系统JAVA web”是一个基于Java Web技术开发的小型电子商务平台,它包括前台用户界面...

    java web网站常用抓取其他网站内容

    Java Web网站抓取其他网站内容是一项常见的技术需求,主要用于数据挖掘、信息聚合或者自动化测试等场景。本篇文章将深入探讨如何使用Java在Web环境中抓取其他网站的数据。 首先,我们需要了解的是网页抓取的基本...

    使用java请求json接口数据

    3. **发送请求**:如果是POST请求,需要写入请求体(JSON数据)。对于GET请求,参数通常在URL中。 4. **读取响应**:一旦请求被发送,就可以从连接中获取响应。这通常涉及到设置输入流并读取服务器返回的数据。 5....

    Java Web整合开发进阶100例.pdf

    学习如何保护Web应用免受SQL注入、跨站脚本攻击(XSS)、跨站请求伪造(CSRF)等安全威胁是Java Web开发者必须掌握的技能。 8. **Web服务**:Web服务允许应用程序通过网络进行通信,其中SOAP和RESTful API是两种...

    我们公司的JAVA WEb培训资料

    【Java Web 培训资料概述】 Java Web 是一种基于Java技术构建Web应用程序的方法,它涵盖了从服务器端处理到客户端展示的全方位开发。本培训资料是针对初入公司的新人所设计,旨在帮助他们快速掌握Java Web的基础...

    深入分析java ++web技术内幕 修订完全版

    总的来说,《深入分析Java ++Web技术内幕 修订完全版》全面覆盖了Java Web开发的各个方面,无论你是初学者还是有经验的开发者,都能从中获得宝贵的知识和启示。通过深入阅读并实践书中的内容,读者将能够更好地理解...

    Java Web使用Ajax进行网络请求和数据交互demo

    3. 发送请求:在POST请求中,需要将数据序列化并附加到请求体。 ```javascript xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send("username=" + encodeURIComponent(username)...

Global site tag (gtag.js) - Google Analytics