`
阅读更多

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中常用获取请求URL中各段的方法

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

    java filter打印请求返回参数

    java filter打印请求返回参数

    深入体验Java Web开发内幕

    6.7 获取请求消息的实体内容  6.8 利用请求域属性传递信息  6.9 请求参数的中文读取问题  6.10 思考与实践 第7章 会话与状态管理  7.1 Web应用中的会话与会话状态  7.2 Cookie  7.3 在...

    JAVA获取各种路径总结

    JSP中获得当前应用的相对路径和绝对路径  根目录所对应的绝对路径、 文件的绝对路径 、 当前web应用的绝对路径、 取得请求文件的上层目录……

    WebBatchRequest-WEB批量请求器-存活探测 Title获取 banner识别

    WEB批量请求器(WebBatchRequest)是对目标地址批量进行快速的存活探测、Title获取,简单的banner识别,支持HTTP代理以及可自定义HTTP请求用于批量的漏洞验证等的一款基于JAVA编写的轻量工具。 支持功能 支持数据的...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e技术入门、Hibernate高级应用、Spring核心之IoC、...

    Java_Web总结

    Java Web 总结 Java Web 应用程序是基于 Java 语言和 Web 技术的应用程序,它们可以运行在 Web 服务器上,为用户提供各种服务。Java Web 应用程序的核心技术是 Servlet 和 JavaServer Pages(JSP),它们是 Java ...

    Java web开发学习心得

    Java web 开发学习心得是指通过学习 Java web 开发课程获得的经验和体会。本文将从 Java web 开发的基本概念开始,逐步讲解 Java web 开发的知识点,并总结出学习 Java web 开发的要点和心得。 一、Java web 开发的...

    Web服务器的java实现

     为了告知 Web浏览器传送内容的类型,Web服务器首先传送一些HTTP头信息,然后传送具体内容(即HTTP体信息),HTTP头信息和HTTP体信息之间用一个空行分开。 常用的HTTP头信息有:  ① HTTP 1.0 200 OK  这是Web...

    WINDOW环境下用JAVA实现WEB服务器_MultiWebServer.java

    WINDOW环境下用JAVA实现WEB服务器_MultiWebServer.java (1)处理一个http请求 (2)接收并解析http请求 (3)从服务器文件系统中获得被请求的文件 (4)创建一个包括被请求的文件的http响应信息 直接发送该信息到...

    java web开发技术大全

    4.4 使用:HttpServletRequest获得请求消息 4.4.1 获取请求行消息 4.4.2 获取网络连接消息 4.4.3 获取请求头消息 4.5 处理Cookie 4.5.1 什么是Cookie 4.5.2 Cookie类中的方法 4.5.3 实例:用...

    金蝶K3星空云获取报表查询 WEB API(成本计算单报表查询) JAVA版.rar

    1. 基于金蝶K3星空云 Java Sdk 为例的报表查询WEB API接口。 2. 本例提供了基本的参考示例,JAVA小伙伴很容易看懂。 3. 本例提供了核心代码类,不是全套,为金蝶K3web api 开发的小伙伴提供基本思路。 4. 本例包括...

    java web技术开发大全(最全最新)

    4.4 使用:HttpServletRequest获得请求消息 4.4.1 获取请求行消息 4.4.2 获取网络连接消息 4.4.3 获取请求头消息 4.5 处理Cookie 4.5.1 什么是Cookie 4.5.2 Cookie类中的方法 4.5.3 实例:用Cookie...

    java面试题web部分

    forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。redirect...

    使用java发送get和post请求实践

    在这个示例中,我们使用 `UrlEncodedFormEntity` 对象来指定请求体。 使用 Apache HttpClient 库处理响应 在上面的代码中,我们可以看到使用了 `HttpResponse` 对象来处理响应。`HttpResponse` 对象是 Apache ...

    基于Java_Web的小型酒店管理系统_徐耀荣.caj

    Java Web 技术实现小型酒店管理系统。本文实现的管理系统是 一个并发性强、可同时容纳大量用户的系统。小型酒店管理系统有开房功能、消费功能、 消费统计功能、添加房间类别功能、添加房间功能、退房功能、添加会员...

    web-sever.rar_java http sever_sever_web sever

    然后,读取客户机的请求信息,若请求类型是GET,则从请求信息中获取所访问的HTML文件名,如果HTML文件存在,则打开HTML文件,把HTTP头信息和HTML文件内容通过socket传回给Web浏览器,然后关闭文件。否则发送错误信息...

    使用HttpClient发送POST请求,并获取响应内容(附详细步骤).txt

    具体来说,它创建了一个HttpClient实例和一个HttpPost对象,设置了请求的URL、请求头和请求体,然后执行请求并获取响应。最后,它将响应内容输出到控制台。 这个代码的意义在于展示了如何使用Java中的HttpClient库...

    Java-Web测试题.doc

    8. 在 Java Web 应用程序中,运行 a.jsp 后,浏览器上显示如下表格,在 a,jsp 上进行选择后将页面提交到 b.jsp 中要获得选中的复选框的值,应该编写以下代码段。因此,正确答案是 d) []=request.getParameterValues...

    JAVA WEB框架,java网站一个模块只用写一个文件

    JAVA WEB框架,java网站一个模块只用写一个文件 以前的servlet在现在的开发中已经不怎么常见,因为操作起来比较原始和麻烦。有些人就是不安于现状去改造它。 做得好的有Struts,Hybernate,Spring那么这些框架都是很...

Global site tag (gtag.js) - Google Analytics