java web获取请求体内容

简介:

Java Web中如何获取请求体内容呢?

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

Java代码   收藏代码
  1. /*** 
  2.      * Compatible with GET and POST 
  3.      *  
  4.      * @param request 
  5.      * @return : <code>byte[]</code> 
  6.      * @throws IOException 
  7.      */  
  8.     public static byte[] getRequestQuery(HttpServletRequest request)  
  9.             throws IOException {  
  10.         String submitMehtod = request.getMethod();  
  11.         String queryString = null;  
  12.   
  13.         if (submitMehtod.equals("GET")) {// GET  
  14.             queryString = request.getQueryString();  
  15.             String charEncoding = request.getCharacterEncoding();// charset  
  16.             if (charEncoding == null) {  
  17.                 charEncoding = "UTF-8";  
  18.             }  
  19.             return queryString.getBytes(charEncoding);  
  20.         } else {// POST  
  21.             return getRequestPostBytes(request);  
  22.         }  
  23.     }  
  24.   
  25. /*** 
  26.      * Get request query string, form method : post 
  27.      *  
  28.      * @param request 
  29.      * @return byte[] 
  30.      * @throws IOException 
  31.      */  
  32.     public static byte[] getRequestPostBytes(HttpServletRequest request)  
  33.             throws IOException {  
  34.         int contentLength = request.getContentLength();  
  35.         if(contentLength<0){  
  36.             return null;  
  37.         }  
  38.         byte buffer[] = new byte[contentLength];  
  39.         for (int i = 0; i < contentLength;) {  
  40.   
  41.             int readlen = request.getInputStream().read(buffer, i,  
  42.                     contentLength - i);  
  43.             if (readlen == -1) {  
  44.                 break;  
  45.             }  
  46.             i += readlen;  
  47.         }  
  48.         return buffer;  
  49.     }  
  50. /*** 
  51.      * Get request query string, form method : post 
  52.      *  
  53.      * @param request 
  54.      * @return 
  55.      * @throws IOException 
  56.      */  
  57.     public static String getRequestPostStr(HttpServletRequest request)  
  58.             throws IOException {  
  59.         byte buffer[] = getRequestPostBytes(request);  
  60.         String charEncoding = request.getCharacterEncoding();  
  61.         if (charEncoding == null) {  
  62.             charEncoding = "UTF-8";  
  63.         }  
  64.         return new String(buffer, charEncoding);  
  65.     }  

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

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

相关文章
|
1月前
|
JSON Java 数据格式
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
87 25
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
|
1月前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
61 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
23天前
|
安全 Java API
java如何请求接口然后终止某个线程
通过本文的介绍,您应该能够理解如何在Java中请求接口并根据返回结果终止某个线程。合理使用标志位或 `interrupt`方法可以确保线程的安全终止,而处理好网络请求中的各种异常情况,可以提高程序的稳定性和可靠性。
46 6
|
2月前
|
Java Maven Spring
Java Web 应用中,资源文件的位置和加载方式
在Java Web应用中,资源文件如配置文件、静态文件等通常放置在特定目录下,如WEB-INF或classes。通过类加载器或Servlet上下文路径可实现资源的加载与访问。正确管理资源位置与加载方式对应用的稳定性和可维护性至关重要。
64 6
|
2月前
|
存储 安全 搜索推荐
理解Session和Cookie:Java Web开发中的用户状态管理
理解Session和Cookie:Java Web开发中的用户状态管理
85 4
|
2月前
|
Java 持续交付 项目管理
使用Maven进行项目管理:提高Java Web开发的效率
Maven 是一款强大的项目管理和构建自动化工具,广泛应用于Java社区。它通过依赖管理、构建生命周期管理、插件机制和多模块项目支持等功能,简化了项目的构建过程,提高了开发效率。本文将介绍Maven的核心功能及其在Java Web开发中的应用。
74 0
|
3月前
|
前端开发 Java API
JAVA Web 服务及底层框架原理
【10月更文挑战第1天】Java Web 服务是基于 Java 编程语言用于开发分布式网络应用程序的一种技术。它通常运行在 Web 服务器上,并通过 HTTP 协议与客户端进行通信。
53 1
WK
|
2月前
|
安全 Java 编译器
C++和Java哪个更适合开发web网站
在Web开发领域,C++和Java各具优势。C++以其高性能、低级控制和跨平台性著称,适用于需要高吞吐量和低延迟的场景,如实时交易系统和在线游戏服务器。Java则凭借其跨平台性、丰富的生态系统和强大的安全性,广泛应用于企业级Web开发,如企业管理系统和电子商务平台。选择时需根据项目需求和技术储备综合考虑。
WK
123 0
|
3月前
|
JSON Java 数据格式
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
155 1
|
4月前
|
JSON 前端开发 JavaScript
java中post请求调用下载文件接口浏览器未弹窗而是返回一堆json,为啥
客户端调接口需要返回另存为弹窗,下载文件,但是遇到的问题是接口调用成功且不报错,浏览器F12查看居然返回一堆json,而没有另存为弹窗; > 正确的效果应该是:接口调用成功且浏览器F12不返回任何json,而是弹窗另存为窗口,直接保存文件即可。
177 2