如何在 Java Servlet 中接收大字符串?

Posted

技术标签:

【中文标题】如何在 Java Servlet 中接收大字符串?【英文标题】:How can I receive a large string in Java Servlet? 【发布时间】:2021-01-11 09:08:07 【问题描述】:

我正在构建一个 JSP 应用程序。我正在尝试使用 base64 编码将屏幕截图图像从页面发送到 servlet。它使返回的字符串超长,长度为 100k 个字符。因此,当我将它发布到 servlet 并使用 getParameter 时,我在那里得到了 null。

有没有办法按块获取它们是我遗漏了什么吗?

【问题讨论】:

maxPostSize的Tomcat默认是2M 我在哪里改变它? Eclipse 中的 server.xml 文件只有几行,其中没有 maxPostSize?我必须手动输入吗? 我试过改了,还是看不到servlet中的那个参数,为了传输base64我要设置什么样的contentType?让我向您展示该字符串的前几行。 data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAr0AAAKWCAYAAABETyEtAAAgAElEQVR4XuzdV5Bc14E............. 你确定它使用的是更小的字符串吗? 我发现一些信息可能会有所帮助。 ***.com/questions/36734311/… 【参考方案1】:

我发现这可能对你有用。

Passing a huge String as post parameter to a servlet

娜米特·拉纳:

我们使用 GZip 压缩/解压缩来减小字符串的大小。而且效果很好。

因此,.net 服务压缩了这个巨大的字符串,并将其发送到我们的 Servlet。然后我们在我们的服务器上解压它。

【讨论】:

谢谢,我去看看!顺便说一句,如果有人能告诉我有没有一种方法可以像处理文件一样流式传输参数值?

以上是关于如何在 Java Servlet 中接收大字符串?的主要内容,如果未能解决你的问题,请参考以下文章

servlet如何接收ajax里传过来的data

java 后台如何获取前台上传的几张图片

在 java servlet 中流式传输大文件

ajax上传文件后,后台java如何接收(求后台接收的完整代码)

java:servlet接收图片,并把它保存到数据库中

web环境下,servlet如何设计java接口接收json,并将处理结果按json格式返回?