java中request.getParameter获取textarea中参数长度的问题

使用jsp和servlet需要在jsp页面中,向textarea文本框中粘贴大量手机号码,然后在servlet中通过request.getParameter获取全部号码,... 使用jsp和servlet 需要在jsp页面中,向textarea文本框中粘贴大量手机号码,然后在servlet中通过request.getParameter获取全部号码,存入数据库。当一次粘贴10万个手机号码时,程序可以正常运行。但当一次粘贴12万左右时,request.getParameter就获取不了textarea的值了。为null。是不是java的request.getParameter这个方法对参数长度限制呢?表单提交使用的是post的方式。
有什么办法可以解决一下,另外使用javacsv.jar读取csv文件,数据量有几百万,怎么处理才能不导致内存溢出呢?
展开
 我来答
一只抖猫35
2011-09-01 · TA获得超过200个赞
知道小有建树答主
回答量:336
采纳率:0%
帮助的人:135万
展开全部
原因可能是通过http提交的表单的数据太大,造成了数据丢失,http通道有限制。(我猜的)如果你找到了正统的原因,记着告诉我。

解决方法:
通过InputStream获取参数信息,如下:
InputStream is = request.getInputStream();
int i = 0;
StringBuilder values = new StringBuilder();
while((i=is.read())!=-1){
values.append((char)i);
}
System.out.println(values);

如果表单中参数名为 param, 值为134
那么通过上述方法获取的values的值就是 param=134。多个参数会用&符隔开(如:mp=150123¶m=123)。
获取到这个参数字符串后,你就可以根据自己的需要截取字符串了。
竟然可以七个字
2011-08-30 · TA获得超过285个赞
知道小有建树答主
回答量:233
采纳率:100%
帮助的人:172万
展开全部
request.getParameter返回值是String类型吧,可能超过了String所能表示的最大范围,以前学的时候记得如果保存到数据库时使用CLOB类型可以使用Stream来传输,但我学的不太好,没弄明白怎么用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
汲凡桃083
2011-08-30 · 超过29用户采纳过TA的回答
知道答主
回答量:240
采纳率:0%
帮助的人:89.1万
展开全部
理论上没有,你的form 提交方式 设置成post 了吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式