1. 首页
  2. 编程语言
  3. Java
  4. spring应用中多次读取http post方法中的流遇到的问题

spring应用中多次读取http post方法中的流遇到的问题

上传者: 2021-06-03 05:17:41上传 PDF文件 191.77 KB 热度 21次

先说下为啥有这个需求,在基于spring的web应用中,一般会在比如http请求的也有像目前我们在做的这个项目,比较原始,是直接手动读取流。如果是采用了方式1的话,简单。spring已经帮我们把参数从流里取出来,给我们提供好了,我们拿着打印一下日志即可。说一千道一万,流来自哪里,来自所以,我们的思路,是不是可以这样,定义一个filter,在filter中将request替换为我们自定义的request。下面标红的为自定义的request。在自定义的request中,构造函数中,先把原始流中的数据读出来,放到ByteArrayOutputStream cachedBytes中。以后每次程序中调用getInputStream方法时,都会从我们的偷梁换柱的request中的cachedBytes字段,new一个InputStream出来。完整的偷梁换柱就结束了。这是个单独的工程,直接eclipse或者idea导入即可。

下载地址
用户评论